inspircd

A modular C++ IRC daemon (ircd). https://www.inspircd.org/
Log | Files | Refs | README

commit d4aab8d30a4721623ccb02d7bb801dfe271f8e36
parent aad20cbcb358b1a7cfa2d9e587477ec02dafb6a1
Author: linuxdaemon <linuxdaemon@snoonet.org>
Date:   Sat, 27 Apr 2019 16:41:48 -0500

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.

Diffstat:
Msrc/modules/m_spanningtree/treesocket2.cpp | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 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()