node-irc icon indicating copy to clipboard operation
node-irc copied to clipboard

Fix CAP match for some IRC daemons

Open filler opened this issue 8 years ago • 1 comments
trafficstars

Some IRC daemons such as InspIRCd return an random string after a client's CAP REQ request. This would fail to match and block SASL AUTHENTICATEs. Also the space after sasl would also block the above AUTHENTICATEs.

This change:

  • allows for emitting that output in logs via debug in config
  • stops matching on said field which can be an irrelevant moving target
  • removes the trailing space for the mentioned sasl field

Example InspIRCd output:

$ openssl s_client -connect irc.corp.com:6697
...
CAP REQ :sasl
:irc.corp.com CAP 354AAUXBK ACK :sasl
^C
$ openssl s_client -connect irc.corp.com:6697
...
CAP REQ :sasl
:irc.corp.com CAP 354AAUXC8 ACK :sasl
^C

filler avatar Jun 16 '17 02:06 filler

I'm not really sure that this project is being updated any more – I forked it a while back (irc-upd on npm) and recently fixed up the SASL handling to be more compliant with the IRCv3 spec (including a change similar to this one – it requires only that sasl be one of the arguments in the ACK response, and does not attempt to match the ident – and it now also emits an error if it gets a NAK response to the request). You might consider looking at that version of the library instead.

Throne3d avatar Sep 30 '17 16:09 Throne3d