diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-11-26 14:41:28 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-03-14 12:08:45 +0100 |
| commit | f146aaaba3ca59d3fde69de406cb60e6b18ec9d8 (patch) | |
| tree | ddb2fff77393974bec5af8f6affa8b0f00d76475 | |
| parent | 193001052716a49b4f774753cead7d1d30ac0edb (diff) | |
| download | mullvadvpn-f146aaaba3ca59d3fde69de406cb60e6b18ec9d8.tar.xz mullvadvpn-f146aaaba3ca59d3fde69de406cb60e6b18ec9d8.zip | |
Fail account creation if the daemon is already logged in
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 221d9632c6..2c58d93285 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -149,6 +149,9 @@ pub enum Error { #[error(display = "Split tunneling error")] SplitTunnelError(#[error(source)] split_tunnel::Error), + #[error(display = "An account is already set")] + AlreadyLoggedIn, + #[error(display = "No wireguard private key available")] NoKeyAvailable, @@ -1572,6 +1575,10 @@ where } async fn on_create_new_account(&mut self, tx: ResponseTx<String, Error>) { + if self.account_manager.is_some() { + let _ = tx.send(Err(Error::AlreadyLoggedIn)); + return; + } let daemon_tx = self.tx.clone(); let future = self.account_manager.account_service().create_account(); tokio::spawn(async move { |
