* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
#include "commands/cmd_whois.h"
#include "commands/cmd_stats.h"
#include "socket.h"
-#include "wildcard.h"
#include "xline.h"
#include "transport.h"
VersionString.clear();
ServerUserCount = ServerOperCount = 0;
StartBurst = rtt = 0;
- Warned = Hidden = DupError = false;
+ Warned = Hidden = false;
VersionString = ServerInstance->GetVersionString();
SetID(id);
}
Route = NULL;
Socket = NULL; /* Fix by brain */
StartBurst = rtt = 0;
- Warned = Hidden = DupError = false;
+ Warned = Hidden = false;
AddHashEntry();
SetID(id);
}
bursting = false;
VersionString.clear();
ServerUserCount = ServerOperCount = 0;
- this->SetNextPingTime(time(NULL) + Utils->PingFreq);
+ this->SetNextPingTime(ServerInstance->Time() + Utils->PingFreq);
this->SetPingFlag();
- DupError = false;
+ Warned = false;
StartBurst = rtt = 0;
timeval t;
return sid;
}
-void TreeServer::FinishBurst()
+void TreeServer::FinishBurstInternal()
{
this->bursting = false;
+ for(unsigned int q=0; q < ChildCount(); q++)
+ {
+ TreeServer* child = GetChild(q);
+ child->FinishBurstInternal();
+ }
+}
+
+void TreeServer::FinishBurst()
+{
+ FinishBurstInternal();
ServerInstance->XLines->ApplyLines();
timeval t;
gettimeofday(&t, NULL);
long ts = (t.tv_sec * 1000) + (t.tv_usec / 1000);
unsigned long bursttime = ts - this->StartBurst;
- ServerInstance->SNO->WriteToSnoMask('l', "Received end of netburst from \2%s\2 (burst time: %lu %s)", ServerName.c_str(),
- (bursttime > 1000 ? bursttime / 1000 : bursttime), (bursttime > 1000 ? "secs" : "msecs"));
+ ServerInstance->SNO->WriteToSnoMask('l', "Received end of netburst from \2%s\2 (burst time: %lu %s)", ServerName.c_str(), (bursttime > 1000 ? bursttime / 1000 : bursttime), (bursttime > 1000 ? "secs" : "msecs"));
Event rmode((char*)ServerName.c_str(), (Module*)Utils->Creator, "new_server");
rmode.Send(ServerInstance);
}
{
ServerInstance->Logs->Log("m_spanningtree",DEBUG, "Setting SID to " + id);
sid = id;
- server_hash::iterator iter = Utils->sidlist.find(sid);
- if (iter == Utils->sidlist.end())
- Utils->sidlist[sid] = this;
- else
- DupError = true;
-}
-
-bool TreeServer::DuplicateID()
-{
- return DupError;
+ Utils->sidlist[sid] = this;
}
int TreeServer::QuitUsers(const std::string &reason)
if (!IS_LOCAL(a))
{
if (ServerInstance->Config->HideSplits)
- User::QuitUser(ServerInstance, a, "*.net *.split", reason_s);
+ ServerInstance->Users->QuitUser(a, "*.net *.split", reason_s);
else
- User::QuitUser(ServerInstance, a, reason_s);
+ ServerInstance->Users->QuitUser(a, reason_s);
if (this->Utils->quiet_bursts)
ServerInstance->GlobalCulls.MakeSilent(a);
if (iter != Utils->sidlist.end())
Utils->sidlist.erase(iter);
}
-
-