summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-04-26 16:22:03 +0200
committerAttila Molnar <attilamolnar@hush.com>2014-04-26 16:22:03 +0200
commit17170c276e5e57091e256b57719c08c25256d060 (patch)
treecc7d12a4c8526a75549b5ca060dce8036dc82fbd /src
parentb6a3477a44dd7c47a9b29cbfe07e3a7886a97141 (diff)
m_spanningtree Set the bursting flag in the FJOIN handler based on whether the source of the FJOIN is bursting or not
Previously the flag was true if our route to the source was bursting, which resulted in m_joinflood incorrectly registering netjoins when a remote server was bursting Fixes issue #839 reported by @joshtek0
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_spanningtree/fjoin.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp
index ee18c8e87..c8cd768aa 100644
--- a/src/modules/m_spanningtree/fjoin.cpp
+++ b/src/modules/m_spanningtree/fjoin.cpp
@@ -66,7 +66,8 @@ CmdResult CommandFJoin::Handle(const std::vector<std::string>& params, User *src
bool created = !chan; /* True if the channel doesnt exist here yet */
std::string item; /* One item in the list of nicks */
- TreeSocket* src_socket = Utils->FindServer(srcuser->server)->GetRoute()->GetSocket();
+ TreeServer* src_server = Utils->FindServer(srcuser->server);
+ TreeSocket* src_socket = src_server->GetRoute()->GetSocket();
if (!TS)
{
@@ -196,7 +197,7 @@ CmdResult CommandFJoin::Handle(const std::vector<std::string>& params, User *src
for (std::string::iterator x = modes.begin(); x != modes.end(); ++x)
modestack.Push(*x, who->nick);
- Channel::JoinUser(who, channel.c_str(), true, "", route_back_again->bursting, TS);
+ Channel::JoinUser(who, channel.c_str(), true, "", src_server->bursting, TS);
}
else
{