communi / libcommuni

A cross-platform IRC framework for Qt
https://communi.github.io
BSD 3-Clause "New" or "Revised" License
84 stars 37 forks source link

Support more responses to CAP LS 302 #92

Closed pajlada closed 3 years ago

pajlada commented 3 years ago

Previously, a simple "contains" was run on the response to CAP LS 302, however, some servers responded with which SASL mechanisms were supported, which caused the contains check to break. See https://ircv3.net/specs/core/capability-negotiation.html#cap-ls-version

This has been actively tested with the oragono IRC server

Tests have been added, however I'm not sure if it's reasonable for the listed and available sasl to completely duplicate the cap sent in initial (so sasl=PLAIN,EXTERNAL in this test) or if it should be only sasl here