Handle IRCv3 servers without any capabilities
authorShane Synan <digitalcircuit36939@gmail.com>
Mon, 11 Jul 2016 10:44:16 +0000 (06:44 -0400)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 7 Sep 2016 19:29:32 +0000 (21:29 +0200)
commit36d432bc4ee56dd9a89850a8dbcc58ea12d8ee33
tree50864b0f532a5fdb9861a6105ba9433e7402e5c6
parent156f88b0a12dd2fb65a78c3ce088ce6ba57feafe
Handle IRCv3 servers without any capabilities

When servers implement CAP LS but do not offer any capabilities, end
negotiation and continue connecting as usual.

Modify processIrcEventCap to allow for commands with two parameters.
CAP LS and CAP LIST can have empty replies to signify no
capabilities are available/active.

Add a dedicated 'endCapNegotiation' function to avoid code
duplication.

Fixes repeated connection timeouts for IRCv3-compliant servers that
don't have any capabilities to offer.
src/core/corenetwork.cpp
src/core/corenetwork.h
src/core/coresessioneventprocessor.cpp