zorael / kameloso

IRC bot with Twitch support
Boost Software License 1.0
9 stars 3 forks source link

SSL #104

Closed zorael closed 4 years ago

zorael commented 4 years ago

This adds support for connecting to SSL servers, both normally with SASL PLAIN and with SASL EXTERNAL, provided certificates and keys are supplied in the configuration file. SSL is implicitly autodetected based on the port, and can be explicitly set in the configuration file (or with getopt --ssl).

Additionally the ability to supply a CA certificate bundle is added to the configuration file. This is needed on some Windows systems where cURL fails to fetch pages due to missing SSL certificates on SSL handshake. As a consequence, CoreSettings was split up into ConnectionSettings, as connection-specific settings started cluttering it up.

It naturally needs more testing, especially SASL EXTERNAL, but it seems to work on freenode.