summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlinuxdaemon <linuxdaemon@snoonet.org>2019-04-27 16:41:48 -0500
committerPeter Powell <petpow@saberuk.com>2019-04-28 00:01:25 +0100
commitd4aab8d30a4721623ccb02d7bb801dfe271f8e36 (patch)
tree43bcdd5c414cec06736b8ab5064cee65e895b77a
parentaad20cbcb358b1a7cfa2d9e587477ec02dafb6a1 (diff)
m_spanningtree: Ensure tags are sent in forwarded cmds
When a user (U1) sends a PRIVMSG to a server (S1), which sends it to S2, which finally sends it to S3 to send to U2, S2 doesn't send the tags it received on the command from S1 to S3.
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 45f8a380f..aeb63c99c 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -376,11 +376,11 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix,
}
CmdResult res;
+ ClientProtocol::TagMap tags;
if (scmd)
res = scmd->Handle(who, params);
else
{
- ClientProtocol::TagMap tags;
std::string tag;
irc::sepstream tagstream(taglist, ';');
while (tagstream.GetToken(tag))
@@ -391,7 +391,7 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix,
}
if (res == CMD_SUCCESS)
- Utils->RouteCommand(server->GetRoute(), cmdbase, params, who);
+ Utils->RouteCommand(server->GetRoute(), cmdbase, CommandBase::Params(params, tags), who);
}
void TreeSocket::OnTimeout()