squidowl / halloy

IRC application written in Rust
GNU General Public License v3.0
1.68k stars 66 forks source link

Try SASL by default #624

Open 4e554c4c opened 1 month ago

4e554c4c commented 1 month ago

SASL PLAIN should be tried by default before USER/PASS authentication, so that authentication can be completed pre-registration. Halloy could detect whether SASL is allowed by doing capability negotation, or by opening an initial connection to test caps before the main connection (this approach is taken by goguma).

This would be nice so that instead of a config like

[servers.foo]
...
[servers.foo.sasl.plain]
username = "..."
password = "..."

one could just do

[servers.foo]
username = "..."
password = "..."

SASL is required for several things, including soju.im/bouncer-networks (#77). So if we want people to be able to easily use this feature, we should make SASL easier to use