aboutsummaryrefslogtreecommitdiff
path: root/cmd_nick.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd_nick.go')
-rw-r--r--cmd_nick.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/cmd_nick.go b/cmd_nick.go
index 9ac3cd8..f24a7fd 100644
--- a/cmd_nick.go
+++ b/cmd_nick.go
@@ -22,7 +22,7 @@ func handleClientNick(msg RMsg, client *Client) error {
}
}
} else {
- if !nickToClient.CompareAndDelete(client.Nick, client) {
+ if (client.State >= ClientStateRegistered || client.Nick != "*") && !nickToClient.CompareAndDelete(client.Nick, client) {
slog.Error("nick inconsistent", "nick", client.Nick, "client", client)
return fmt.Errorf("%w: %v", ErrInconsistentClient, client)
}
@@ -34,7 +34,7 @@ func handleClientNick(msg RMsg, client *Client) error {
}
client.Nick = msg.Params[0]
}
- if client.State == ClientStatePreRegistration {
+ if client.State < ClientStateRegistered {
err := client.checkRegistration()
if err != nil {
return err