Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sometimes users want to enable stuff like ZNC server-time without using SASL. The old assumption that some servers just randomly reject connections when
CAP REQ
is sent before PASS seems to have been somewhat mistaken. According to the current spec, all we need is to sendCAP END
afterCAP REQ
to continue logging in.So instead of testing for SASL being enabled before requesting any capabilities at all, I've moved the
CAP REQ
s to the receiveCap handler so that the client only requests capabilities that are supported by the server. While this isn't strictly necessary (the server will just sendCAP NAK
s) it's probably a good thing™. This also puts all the cap handling in one place.Tested (works) with ZNC 1.0, hybrid, charybdis, ircd-seven (Freenode).