mirror of
https://github.com/ergochat/ergo.git
synced 2024-12-22 18:52:41 +01:00
unconditionally destroy the client on unregister
This avoids conditions where two sessions can be attached to the same client while not logged into an account.
This commit is contained in:
parent
df2dfb7270
commit
bced409e78
@ -1305,14 +1305,10 @@ func (am *AccountManager) Unregister(account string, erase bool) error {
|
||||
delete(am.skeletonToAccount, additionalSkel)
|
||||
}
|
||||
for _, client := range clients {
|
||||
if config.Accounts.RequireSasl.Enabled {
|
||||
client.Logout()
|
||||
client.Quit(client.t("You are no longer authorized to be on this server"), nil)
|
||||
// destroy acquires a semaphore so we can't call it while holding a lock
|
||||
go client.destroy(nil)
|
||||
} else {
|
||||
am.logoutOfAccount(client)
|
||||
}
|
||||
client.Logout()
|
||||
client.Quit(client.t("You are no longer authorized to be on this server"), nil)
|
||||
// destroy acquires a semaphore so we can't call it while holding a lock
|
||||
go client.destroy(nil)
|
||||
}
|
||||
|
||||
if err != nil && !erase {
|
||||
|
@ -17,7 +17,7 @@ import (
|
||||
|
||||
var (
|
||||
restrictedNicknames = []string{
|
||||
"=scene=", // used for rp commands
|
||||
"=scene=", // used for rp commands
|
||||
}
|
||||
|
||||
restrictedCasefoldedNicks = make(map[string]bool)
|
||||
|
Loading…
Reference in New Issue
Block a user