diff options
| -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 { |
