From bcf581f63d18228ad881efbd0f802bc5b3d38ab8 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Sun, 26 Jul 2020 03:44:59 -0400 Subject: [PATCH] fix #1214 --- irc/accounts.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/irc/accounts.go b/irc/accounts.go index 3603ac87..26b8dbe7 100644 --- a/irc/accounts.go +++ b/irc/accounts.go @@ -891,20 +891,18 @@ func (am *AccountManager) Verify(client *Client, account string, code string) er } if client != nil { am.Login(client, clientAccount) - } - _, method := am.EnforcementStatus(casefoldedAccount, skeleton) - if method != NickEnforcementNone { - currentClient := am.server.clients.Get(casefoldedAccount) - if currentClient == nil || currentClient == client || currentClient.Account() == casefoldedAccount { - return nil + if client.AlwaysOn() { + client.markDirty(IncludeRealname) } - if method == NickEnforcementStrict { + } + // we may need to do nick enforcement here: + _, method := am.EnforcementStatus(casefoldedAccount, skeleton) + if method == NickEnforcementStrict { + currentClient := am.server.clients.Get(casefoldedAccount) + if currentClient != nil && currentClient != client && currentClient.Account() != casefoldedAccount { am.server.RandomlyRename(currentClient) } } - if client.AlwaysOn() { - client.markDirty(IncludeRealname) - } return nil }