From 713fc596910c39b66256d9cdb6a3d0b7e259ad80 Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Thu, 28 Dec 2017 13:50:42 +1000 Subject: [PATCH] CAP: Correctly suspend registration for CAP REQ as per the spec --- irc/capability.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/irc/capability.go b/irc/capability.go index afb4760e..6622a412 100644 --- a/irc/capability.go +++ b/irc/capability.go @@ -67,6 +67,10 @@ func capHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool { client.Send(nil, server.name, "CAP", client.nick, subCommand, client.capabilities.String(caps.Cap301, CapValues)) // values not sent on LIST so force 3.1 case "REQ": + if !client.registered { + client.capState = CapNegotiating + } + // make sure all capabilities actually exist for _, capability := range capabilities.List() { if !SupportedCapabilities.Has(capability) {