chiark / gitweb /
cmdlistener: Tidy up MC::SetSuperusr slightly
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 30 May 2021 11:29:06 +0000 (12:29 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 30 May 2021 12:44:07 +0000 (13:44 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs

index 7395a695168855e70eb95538c1e824636c81579a..959753c2a51e63ae0ba2e59697a12a7d0f3ce9f6 100644 (file)
@@ -138,16 +138,17 @@ fn execute_and_respond<W>(cs: &mut CommandStreamData, cmd: MgmtCommand,
     MC::Noop => Fine,
 
     MC::SetSuperuser(enable) => {
-      let euid = match &cs.authstate {
+      let preserve_euid = match &cs.authstate {
         AuthState::None      { euid, .. } => euid,
         AuthState::Superuser { euid, .. } => euid,
       }.clone();
+
       if !enable {
-        cs.authstate = AuthState::None { euid };
+        cs.authstate = AuthState::None { euid: preserve_euid };
       } else {
         let auth = authorise_scope_direct(cs, &AccountScope::Server)?;
         let auth = auth.therefore_ok();
-        cs.authstate = AuthState::Superuser { euid, auth };
+        cs.authstate = AuthState::Superuser { euid: preserve_euid, auth };
       }
       Fine
     },