summaryrefslogtreecommitdiff
path: root/modules/protocol/inspircd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol/inspircd.cpp')
-rw-r--r--modules/protocol/inspircd.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp
index b88f0044f..b0e059d73 100644
--- a/modules/protocol/inspircd.cpp
+++ b/modules/protocol/inspircd.cpp
@@ -606,10 +606,9 @@ public:
void SendSASLMessage(const SASL::Message &message) override
{
- if (message.ext.empty())
- Uplink::Send("ENCAP", message.target.substr(0, 3), "SASL", message.source, message.target, message.type, message.data);
- else
- Uplink::Send("ENCAP", message.target.substr(0, 3), "SASL", message.source, message.target, message.type, message.data, message.ext);
+ auto newparams = message.data;
+ newparams.insert(newparams.begin(), { message.target.substr(0, 3), "SASL", message.source, message.target, message.type });
+ Uplink::SendInternal({}, Me, "ENCAP", newparams);
}
void SendSVSLogin(const Anope::string &uid, NickAlias *na) override
@@ -1797,8 +1796,7 @@ struct IRCDMessageSASL final
m.source = params[0];
m.target = params[1];
m.type = params[2];
- m.data = params[3];
- m.ext = params.size() > 4 ? params[4] : "";
+ m.data.assign(params.begin() + 3, params.end());
SASL::sasl->ProcessMessage(m);
}
};