diff options
author | dequis <dx@dxzone.com.ar> | 2015-09-11 19:07:10 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2015-10-08 05:34:18 -0300 |
commit | 58b63de6f1dd84a4923c623dafd548512ecdf054 (patch) | |
tree | c6ded487de0a9538b412819b3f24f6925a3c1135 /irc.h | |
parent | 2f736927554d588d00d31f367cd07b9845036e09 (diff) |
IRCv3 SASL capability + PLAIN method
Only plain, no other methods. We don't have built-in SSL to implement
EXTERNAL (certfp) and nothing else is worth implementing.
The actual authentication is pretty much like sending a server password
(when the server's authmode isn't closed), which means it happens in
cmd_identify, but this code also calls storage_check_pass() to send the
required success/failure replies.
SASL doesn't give us much benefit other than standards compliance, but
some clients might appreciate it.
And having a fifth way to do the same thing doesn't hurt! Now we have:
- identify in &bitlbee
- identify to nickserv (alias for root)
- 'nickserv' and 'ns' irc commands
- server password
- sasl plain
Diffstat (limited to 'irc.h')
-rw-r--r-- | irc.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -49,6 +49,7 @@ typedef enum { USTATUS_SHUTDOWN = 8, /* Now used to indicate we're shutting down. Currently just blocks irc_vawrite(). */ USTATUS_CAP_PENDING = 16, + USTATUS_SASL_PLAIN_PENDING = 32, /* Not really status stuff, but other kinds of flags: For slightly better password security, since the only way to send passwords @@ -66,6 +67,7 @@ typedef enum { } irc_status_t; typedef enum { + CAP_SASL = (1 << 0), CAP_MULTI_PREFIX = (1 << 1), } irc_cap_flag_t; |