/* User is still logging in ... */
Client_CapDel(Client, CLIENT_CAP_PENDING);
- if (Client_Type(Client) == CLIENT_GOTUSER) {
+ if (Client_Type(Client) == CLIENT_WAITCAPEND) {
/* Only "CAP END" was missing: log in! */
return Login_User(Client);
}
#endif
/* Still waiting for "CAP END" command? */
- if (Client_Cap(Client) & CLIENT_CAP_PENDING)
+ if (Client_Cap(Client) & CLIENT_CAP_PENDING) {
+ Client_SetType(Client, CLIENT_WAITCAPEND);
+ LogDebug("Connection %d: Waiting for CAP END ...", conn);
return CONNECTED;
+ }
#ifdef PAM
if (!Conf_PAM) {
{ "CHANINFO", IRC_CHANINFO, CLIENT_SERVER, 0, 0, 0 },
#endif
#ifndef STRICT_RFC
- { "CAP", IRC_CAP, CLIENT_UNKNOWN|CLIENT_GOTNICK|CLIENT_GOTPASS|CLIENT_GOTUSER|CLIENT_USER, 0, 0, 0 },
+ { "CAP", IRC_CAP, 0xFFFF, 0, 0, 0 },
{ "GET", IRC_QUIT_HTTP, CLIENT_UNKNOWN, 0, 0, 0 },
{ "POST", IRC_QUIT_HTTP, CLIENT_UNKNOWN, 0, 0, 0 },
#endif