diff options
Diffstat (limited to 'modules/protocol')
| -rw-r--r-- | modules/protocol/inspircd.cpp | 10 | ||||
| -rw-r--r-- | modules/protocol/plexus.cpp | 12 | ||||
| -rw-r--r-- | modules/protocol/solanum.cpp | 12 | ||||
| -rw-r--r-- | modules/protocol/unrealircd.cpp | 11 |
4 files changed, 18 insertions, 27 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); } }; diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index f2c7142da..252134470 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -178,10 +178,10 @@ public: { Server *s = Server::Find(message.target.substr(0, 3)); auto target = s ? s->GetName() : message.target.substr(0, 3); - if (message.ext.empty()) - Uplink::Send("ENCAP", target, "SASL", message.source, message.target, message.type, message.data); - else - Uplink::Send("ENCAP", target, "SASL", message.source, message.target, message.type, message.data, message.ext); + + auto newparams = message.data; + newparams.insert(newparams.begin(), { target, "SASL", message.source, message.target, message.type }); + Uplink::SendInternal({}, Me, "ENCAP", newparams); } void SendSVSLogin(const Anope::string &uid, NickAlias *na) override @@ -251,9 +251,7 @@ struct IRCDMessageEncap final m.source = params[2]; m.target = params[3]; m.type = params[4]; - m.data = params[5]; - m.ext = params.size() > 6 ? params[6] : ""; - + m.data.assign(params.begin() + 5, params.end()); SASL::sasl->ProcessMessage(m); } diff --git a/modules/protocol/solanum.cpp b/modules/protocol/solanum.cpp index d3656b570..fa05daf46 100644 --- a/modules/protocol/solanum.cpp +++ b/modules/protocol/solanum.cpp @@ -154,10 +154,10 @@ public: { Server *s = Server::Find(message.target.substr(0, 3)); auto target = s ? s->GetName() : message.target.substr(0, 3); - if (message.ext.empty()) - Uplink::Send("ENCAP", target, "SASL", message.source, message.target, message.type, message.data); - else - Uplink::Send("ENCAP", target, "SASL", message.source, message.target, message.type, message.data, message.ext); + + auto newparams = message.data; + newparams.insert(newparams.begin(), { target, "SASL", message.source, message.target, message.type }); + Uplink::SendInternal({}, Me, "ENCAP", newparams); } void SendSVSLogin(const Anope::string &uid, NickAlias *na) override @@ -221,9 +221,7 @@ struct IRCDMessageEncap final m.source = params[2]; m.target = params[3]; m.type = params[4]; - m.data = params[5]; - m.ext = params.size() > 6 ? params[6] : ""; - + m.data.assign(params.begin() + 5, params.end()); SASL::sasl->ProcessMessage(m); } } diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp index 9aab49c92..fa5f72f95 100644 --- a/modules/protocol/unrealircd.cpp +++ b/modules/protocol/unrealircd.cpp @@ -401,10 +401,9 @@ private: distmask = message.target.substr(0, p); } - if (message.ext.empty()) - Uplink::Send(BotInfo::Find(message.source), "SASL", distmask, message.target, message.type, message.data); - else - Uplink::Send(BotInfo::Find(message.source), "SASL", distmask, message.target, message.type, message.data, message.ext); + auto newparams = message.data; + newparams.insert(newparams.begin(), { distmask, message.target, message.type }); + Uplink::SendInternal({}, BotInfo::Find(message.source), "ENCAP", newparams); } void SendSVSLogin(const Anope::string &uid, NickAlias *na) override @@ -1307,9 +1306,7 @@ struct IRCDMessageSASL final m.source = params[1]; m.target = params[0]; 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); } }; |
