diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-04-26 16:22:03 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-04-26 16:22:03 +0200 |
commit | 17170c276e5e57091e256b57719c08c25256d060 (patch) | |
tree | cc7d12a4c8526a75549b5ca060dce8036dc82fbd /src | |
parent | b6a3477a44dd7c47a9b29cbfe07e3a7886a97141 (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.cpp | 5 |
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 { |