aboutsummaryrefslogtreecommitdiffstats
path: root/irc_cap.c
diff options
context:
space:
mode:
Diffstat (limited to 'irc_cap.c')
-rw-r--r--irc_cap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/irc_cap.c b/irc_cap.c
index 79732409..4cfc158b 100644
--- a/irc_cap.c
+++ b/irc_cap.c
@@ -37,6 +37,7 @@ typedef struct {
} cap_info_t;
static const cap_info_t supported_caps[] = {
+ {"sasl", CAP_SASL},
{"multi-prefix", CAP_MULTI_PREFIX},
{NULL},
};
@@ -169,6 +170,12 @@ void irc_cmd_cap(irc_t *irc, char **cmd)
} else if (g_strcasecmp(cmd[1], "END") == 0) {
irc->status &= ~USTATUS_CAP_PENDING;
+
+ if (irc->status & USTATUS_SASL_PLAIN_PENDING) {
+ irc_send_num(irc, 906, ":SASL authentication aborted");
+ irc->status &= ~USTATUS_SASL_PLAIN_PENDING;
+ }
+
irc_check_login(irc);
} else {