summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treeserver.cpp
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-03-05 01:27:19 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-03-05 01:27:19 +0000
commit75f147a25e8ecd30ada36c4b0a60c1b8c0e0717f (patch)
treecae67402ef9fdef28336179604f030fa4dfc169a /src/modules/m_spanningtree/treeserver.cpp
parent94ed0a3ed403a0b48d91fa8905cc6af4a06324be (diff)
Fix crash when services (or a misbehaving remote server) introduces a server with duplicate SID
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11171 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/treeserver.cpp')
-rw-r--r--src/modules/m_spanningtree/treeserver.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp
index 49d345383..6c3e0f87d 100644
--- a/src/modules/m_spanningtree/treeserver.cpp
+++ b/src/modules/m_spanningtree/treeserver.cpp
@@ -32,7 +32,7 @@ TreeServer::TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, const st
VersionString.clear();
ServerUserCount = ServerOperCount = 0;
StartBurst = rtt = 0;
- Warned = Hidden = DupError = false;
+ Warned = Hidden = false;
VersionString = ServerInstance->GetVersionString();
SetID(id);
}
@@ -52,7 +52,7 @@ TreeServer::TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::str
Route = NULL;
Socket = NULL; /* Fix by brain */
StartBurst = rtt = 0;
- Warned = Hidden = DupError = false;
+ Warned = Hidden = false;
AddHashEntry();
SetID(id);
}
@@ -69,7 +69,7 @@ TreeServer::TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::str
ServerUserCount = ServerOperCount = 0;
this->SetNextPingTime(ServerInstance->Time() + Utils->PingFreq);
this->SetPingFlag();
- Warned = DupError = false;
+ Warned = false;
StartBurst = rtt = 0;
timeval t;
@@ -156,16 +156,7 @@ void TreeServer::SetID(const std::string &id)
{
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)