Fix remote bursting with quietbursts, before QA actually test it :P (thanks HiroP)

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7014 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2007-05-13 17:47:53 +00:00
parent f45f5c17f0
commit 916b3e4005
3 changed files with 8 additions and 5 deletions

View File

@ -485,6 +485,12 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime)
}
}
}
/* Cancel remote burst mode on any servers which still have it enabled due to latency/lack of data.
* This prevents lost REMOTECONNECT notices
*/
for (server_hash::iterator i = Utils->serverlist.begin(); i != Utils->serverlist.end(); i++)
Utils->SetRemoteBursting(i->second, false);
}
void ModuleSpanningTree::ConnectServer(Link* x)

View File

@ -963,9 +963,6 @@ bool TreeSocket::IntroduceClient(const std::string &source, std::deque<std::stri
Instance->AddGlobalClone(_new);
bool dosend = !(((this->Utils->quiet_bursts) && (this->bursting || Utils->FindRemoteBurstServer(remoteserver))) || (this->Instance->SilentULine(_new->server)));
Instance->Log(DEBUG,"SNOMASK send state: dosend=%d, quiet_bursts = %d, this->bursting = %d, FRBS=%d, silentuline=%d",
dosend, this->Utils->quiet_bursts, this->bursting, Utils->FindRemoteBurstServer(remoteserver) != NULL, this->Instance->SilentULine(_new->server));
if (dosend)
this->Instance->SNO->WriteToSnoMask('C',"Client connecting at %s: %s!%s@%s [%s] [%s]",_new->server,_new->nick,_new->ident,_new->host, _new->GetIPString(), _new->fullname);

View File

@ -81,13 +81,13 @@ void SpanningTreeUtilities::SetRemoteBursting(TreeServer* Server, bool bursting)
if (bursting)
{
if (iter == RemoteServersBursting.end())
RemoteServersBursting.erase(iter);
RemoteServersBursting.insert(make_pair(Server->GetName(), Server));
else return;
}
else
{
if (iter != RemoteServersBursting.end())
RemoteServersBursting.insert(make_pair(Server->GetName(), Server));
RemoteServersBursting.erase(iter);
else return;
}
ServerInstance->Log(DEBUG,"Server %s is %sbursting nicknames", Server->GetName().c_str(), bursting ? "" : "no longer ");