mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
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.
This commit is contained in:
parent
aad20cbcb3
commit
d4aab8d30a
@ -376,11 +376,11 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
CmdResult res;
|
CmdResult res;
|
||||||
|
ClientProtocol::TagMap tags;
|
||||||
if (scmd)
|
if (scmd)
|
||||||
res = scmd->Handle(who, params);
|
res = scmd->Handle(who, params);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ClientProtocol::TagMap tags;
|
|
||||||
std::string tag;
|
std::string tag;
|
||||||
irc::sepstream tagstream(taglist, ';');
|
irc::sepstream tagstream(taglist, ';');
|
||||||
while (tagstream.GetToken(tag))
|
while (tagstream.GetToken(tag))
|
||||||
@ -391,7 +391,7 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (res == CMD_SUCCESS)
|
if (res == CMD_SUCCESS)
|
||||||
Utils->RouteCommand(server->GetRoute(), cmdbase, params, who);
|
Utils->RouteCommand(server->GetRoute(), cmdbase, CommandBase::Params(params, tags), who);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TreeSocket::OnTimeout()
|
void TreeSocket::OnTimeout()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user