SrainApp / srain

Modern IRC client written in GTK
https://srain.silverrainz.me/
Other
305 stars 34 forks source link

Add support for SASL EXTERNAL #352

Closed progval closed 2 years ago

progval commented 2 years ago

Closes GH-246.

Tested on Ergo.Chat.

This might be a little confusing, as it requires a method configured in the user section of the config, and the certificate configured in the server section. (Though it works with only the latter on some servers, but this is called CertFP, not SASL EXTERNAL.)

I was not able to do otherwise without refactoring all the configuration handling.

Additionally, the reason for adding this new server->certificate field is that this is a TLS cert, not an ECDSA cert like the existing user->certificate field. (btw, ECDSA authentication is deprecated by IRCv3 (including the original author))

ljrk0 commented 2 years ago

I can successfully login with this code, however the GUI "login method" dropdown doesn't seem to be updated yet. Also, I cannot join channels, but this may be due to the non-standard setup of the specific internal server.

progval commented 2 years ago

however the GUI "login method" dropdown doesn't seem to be updated yet.

Indeed, I forgot. Done.

Also, I cannot join channels

Yeah, doesn't seem related

ljrk0 commented 2 years ago

Great work, thanks for digging into this!