From: Ian Jackson Date: Mon, 26 Oct 2020 19:00:32 +0000 (+0000) Subject: wip new account etc., adding acctid etc. X-Git-Tag: otter-0.2.0~591 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=712b0bbb562179f1249c1158fcbff9b28507293c;p=otter.git wip new account etc., adding acctid etc. Signed-off-by: Ian Jackson --- diff --git a/src/accounts.rs b/src/accounts.rs index 17cb68ac..4ba85afc 100644 --- a/src/accounts.rs +++ b/src/accounts.rs @@ -241,7 +241,8 @@ impl AccountRecord { .ok_or(MgmtError::AccountNotFound)?; if let Some(new_access) = set_access() { - invalidate_all_tokens_for_account(acctid)?; + process_all_players_for_account(acctid, + InstanceGuard::invalidate_tokens)?; entry.access = new_access; } let output = f(&mut *entry, acctid); @@ -288,7 +289,7 @@ impl AccountRecord { let entry = accounts.names.entry(account); if let hash_map::Entry::Occupied(oe) = entry; then { oe } - else { throw!(AccountNotFound) } + else { throw!(ME::AccountNotFound) } }; let acctid = *oe.key(); process_all_players_for_account(acctid, InstanceGuard::player_remove)?; diff --git a/src/global.rs b/src/global.rs index a199c534..b37f2170 100644 --- a/src/global.rs +++ b/src/global.rs @@ -454,7 +454,7 @@ impl InstanceGuard<'_> { signal: ErrorSignaledViaUpdate) { let mut clients_to_remove = HashSet::new(); self.clients.retain(|k,v| { - let remove = v.player == oldplayer; + let remove = v.player == player; if remove { clients_to_remove.insert(k); } !remove }); @@ -552,7 +552,7 @@ impl InstanceGuard<'_> { } buf.finish(); - self.remove_clients(player, ErrorSignaledViaUpdate::PlayerRemoved); + self.remove_clients(oldplayer, ErrorSignaledViaUpdate::PlayerRemoved); self.tokens_deregister_for_id(|id:PlayerId| id==oldplayer); let iplayer = self.iplayers.remove(oldplayer); let pst = iplayer.map(|iplayer| iplayer.pst); @@ -570,8 +570,8 @@ impl InstanceGuard<'_> { #[throws(InternalError)] pub fn invalidate_tokens(&mut self, player: PlayerId) { let old_tokens = self.tokens_players.get(player).clone(); - self.tokens_deregister_for_id(|id:PlayerId| id==oldplayer); - save_access_now().map_err(|e|{ + self.tokens_deregister_for_id(|id:PlayerId| id==player); + self.save_access_now().map_err(|e|{ // oof self.tokens.players.insert(player, old_tokens); e