From 17170c276e5e57091e256b57719c08c25256d060 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Sat, 26 Apr 2014 16:22:03 +0200 Subject: 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 --- src/modules/m_spanningtree/fjoin.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/modules/m_spanningtree') 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 { -- cgit v1.2.3