aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/treesocket2.cpp
diff options
context:
space:
mode:
authorGravatar brain2007-09-25 00:53:01 +0000
committerGravatar brain2007-09-25 00:53:01 +0000
commit44700449e9cb13779df7964a3179cea284769792 (patch)
tree4155ced88e5cd11369d60f636b304ca026e56eb7 /src/modules/m_spanningtree/treesocket2.cpp
parentBackport fix for bug #407 (diff)
Fix for bug #421
git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8081 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/treesocket2.cpp')
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index c397c930c..8b573848f 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -1066,6 +1066,13 @@ bool TreeSocket::ProcessLine(std::string &line)
}
}
this->LinkState = CONNECTED;
+ TreeServer* CheckDupe = Utils->FindServer(InboundServerName);
+ if (CheckDupe)
+ {
+ this->SendError("Server "+InboundServerName+" already exists!");
+ this->Instance->SNO->WriteToSnoMask('l',"Server \2"+InboundServerName+"\2 being introduced from \2" + prefix + "\2 denied, already exists. Closing link with " + prefix);
+ return false;
+ }
Link* lnk = Utils->FindLink(InboundServerName);
Node = new TreeServer(this->Utils,this->Instance, InboundServerName, InboundDescription, Utils->TreeRoot, this, lnk ? lnk->Hidden : false);
Utils->DelBurstingServer(this);