diff options
| author | 2008-02-03 15:04:42 +0000 | |
|---|---|---|
| committer | 2008-02-03 15:04:42 +0000 | |
| commit | f0683739e2cfaae900a8e3ffac48ad1bc7d75e51 (patch) | |
| tree | 043a46e1074a3161a6c956b02d7650c73dd64232 /src/modules/m_spanningtree/treesocket1.cpp | |
| parent | Whoops (diff) | |
| download | inspircd++-f0683739e2cfaae900a8e3ffac48ad1bc7d75e51.tar.gz inspircd++-f0683739e2cfaae900a8e3ffac48ad1bc7d75e51.tar.bz2 inspircd++-f0683739e2cfaae900a8e3ffac48ad1bc7d75e51.zip | |
Propegate BURST and ENDBURST network-wide for timing of bursts, and to keep XLine application pending until the most opportune moment. Also do some general cleaning up.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8806 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/treesocket1.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 81a339f2e..743b34c8d 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -93,8 +93,6 @@ TreeSocket::~TreeSocket() { if (Hook) BufferedSocketUnhookRequest(this, (Module*)Utils->Creator, Hook).Send(); - - Utils->DelBurstingServer(this); } const std::string& TreeSocket::GetOurChallenge() @@ -799,7 +797,7 @@ bool TreeSocket::ForceJoin(const std::string &source, std::deque<std::string> &p Utils->DoOneToAllButSender(source,"FJOIN",params,source); - if (!TS) + if (!TS) { Instance->Log(DEFAULT,"*** BUG? *** TS of 0 sent to FJOIN. Are some services authors smoking craq, or is it 1970 again?. Dropped."); Instance->SNO->WriteToSnoMask('d', "WARNING: The server %s is sending FJOIN with a TS of zero. Total craq. Command was dropped.", source.c_str()); @@ -1118,7 +1116,10 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa Instance->Users->AddGlobalClone(_new); - bool dosend = !(((this->Utils->quiet_bursts) && (this->bursting || Utils->FindRemoteBurstServer(remoteserver))) || (this->Instance->SilentULine(_new->server))); + bool dosend = true; + + if ((this->Utils->quiet_bursts && remoteserver->bursting) || this->Instance->SilentULine(_new->server)) + dosend = false; 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); @@ -1310,8 +1311,8 @@ void TreeSocket::SendUsers(TreeServer* Current) void TreeSocket::DoBurst(TreeServer* s) { std::string name = s->GetName(); - std::string burst = "BURST "+ConvToStr(Instance->Time(true)); - std::string endburst = "ENDBURST"; + std::string burst = ":" + this->Instance->Config->GetSID() + " BURST " +ConvToStr(Instance->Time(true)); + std::string endburst = ":" + this->Instance->Config->GetSID() + " ENDBURST"; this->Instance->SNO->WriteToSnoMask('l',"Bursting to \2%s\2 (Authentication: %s).", name.c_str(), this->GetTheirChallenge().empty() ? "plaintext password" : "SHA256-HMAC challenge-response"); this->WriteLine(burst); /* send our version string */ |
