summaryrefslogtreecommitdiff
path: root/modules/protocol/plexus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol/plexus.cpp')
-rw-r--r--modules/protocol/plexus.cpp12
1 files changed, 5 insertions, 7 deletions
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);
}