From: Attila Molnar Date: Sat, 26 Apr 2014 14:22:03 +0000 (+0200) Subject: m_spanningtree Set the bursting flag in the FJOIN handler based on whether the source... X-Git-Tag: v2.0.23~173 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=17170c276e5e57091e256b57719c08c25256d060;p=user%2Fhenk%2Fcode%2Finspircd.git 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 --- 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& 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& 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 {