summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-servers.c
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2015-09-10 01:02:44 +0200
committerLemonBoy <thatlemon@gmail.com>2015-09-11 00:30:16 +0200
commitb8d3301d34f383f039071214872570385de1bb59 (patch)
treedd91cc69d8bcc9fa62f7d8a768e2d72f855202c1 /src/irc/core/irc-servers.c
parent762c1d7f2c7478f1e98f847352e6cb3ca889c580 (diff)
downloadirssi-b8d3301d34f383f039071214872570385de1bb59.zip
SASL support
The only supported methods are PLAIN and EXTERNAL, the latter is untested as of now. The code gets the values from the keys named sasl_{mechanism,username,password} specified for each chatnet.
Diffstat (limited to 'src/irc/core/irc-servers.c')
-rw-r--r--src/irc/core/irc-servers.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c
index e9920d91..ad4d09cc 100644
--- a/src/irc/core/irc-servers.c
+++ b/src/irc/core/irc-servers.c
@@ -33,6 +33,7 @@
#include "irc-servers-setup.h"
#include "irc-servers.h"
#include "irc-cap.h"
+#include "sasl.h"
#include "channel-rejoin.h"
#include "servers-idle.h"
#include "servers-reconnect.h"
@@ -215,6 +216,9 @@ static void server_init(IRC_SERVER_REC *server)
g_free(cmd);
}
+ if (conn->sasl_mechanism != SASL_MECHANISM_NONE)
+ cap_toggle(server, "sasl", TRUE);
+
irc_send_cmd_now(server, "CAP LS");
if (conn->password != NULL && *conn->password != '\0') {