summaryrefslogtreecommitdiff
path: root/modules/protocol/unreal.cpp
diff options
context:
space:
mode:
authorDukePyrolator <DukePyrolator@anope.org>2013-02-17 12:26:51 +0100
committerDukePyrolator <DukePyrolator@anope.org>2013-02-17 12:26:51 +0100
commitbcf99d599862d8a7a6741b5f805c593fe7bf4ae0 (patch)
tree480716fcb2a7101688aa7bb1da94b634a480857f /modules/protocol/unreal.cpp
parent3ab6706993a50b7c65b9007ead7d13a9ce3010e6 (diff)
SASL sends AUTHFAIL on unsupported mechanisms, fixes bug #1482
Diffstat (limited to 'modules/protocol/unreal.cpp')
-rw-r--r--modules/protocol/unreal.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp
index 2f5e75747..8449b7a19 100644
--- a/modules/protocol/unreal.cpp
+++ b/modules/protocol/unreal.cpp
@@ -893,7 +893,12 @@ struct IRCDMessageSASL : IRCDMessage
return;
if (params[2] == "S")
- UplinkSocket::Message() << "SASL " << params[1].substr(0, p) << " " << params[1] << " C +";
+ {
+ if (params[3] == "PLAIN")
+ UplinkSocket::Message() << "SASL " << params[1].substr(0, p) << " " << params[1] << " C +";
+ else
+ UplinkSocket::Message() << "SASL " << params[1].substr(0, p) << " " << params[1] << " C F";
+ }
else if (params[2] == "C")
{
Anope::string decoded;