Commit-Graf
5 Incheckningar
Upphovsman SHA1 Meddelande Datum
Russ Garrett 2d0ed40435 Add an overall timeout on CAP negotiation
At the moment it just hangs if the server doesn't support CAP. This adds
a 15 second timeout to the CAP negotiation process, after which the
connection continues.

The timeout and error on failed SASL negotiation is preserved.
2019-05-12 10:29:21 +01:00
Russ Garrett 6e51f3a4d0 Fix issue with SASL auth on some servers
On some servers SASL auth would fail because we didn't fully comply with
the spec. Multiple caps can be returned in a `CAP ACK`, and sometimes
servers add a trailing space. Parse these responses more correctly.
2019-03-01 10:20:59 +00:00
Russ Garrett 9fa2a77567 Fix SASL where additional caps are requested
Where additional caps were requested using `RequestCaps`, SASL would
send an `AUTHENTICATE` command for each one which servers don't like.
Check that we're responding to the correct `CAP ACK`.
2019-02-21 12:22:37 +00:00
Russ Garrett 744f1e3a7a IRCv3 Capability Negotiation
This adds the ability to negotiate arbitrary IRCv3 capabilities on
connection. Capabilities to be requested can be set in `irc.RequestCaps`,
and after registration the negotiated capabilities can be seen in
`irc.AcknowledgedCaps`.
2017-01-25 17:36:15 +00:00
Russ Garrett e1d00ae799 Add support for parsing IRCv3 tags in received messages 2017-01-25 15:39:59 +00:00