diff options
| author | 2007-10-09 15:58:21 +0000 | |
|---|---|---|
| committer | 2007-10-09 15:58:21 +0000 | |
| commit | 2590fde5153a2dbe4033ff83f59e6db4dfa25ee8 (patch) | |
| tree | 3a949e6d18054df54f7630054493493f1c5e7161 /src/modules/m_spanningtree/utils.cpp | |
| parent | Backport r8136, svshold allows nick to be taken on connect (OnUserPreNick not... (diff) | |
sanity check for existing server in DoFailOver seems to have vanished!
git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8139 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/utils.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index b8a634797..cb3626537 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -627,8 +627,16 @@ void SpanningTreeUtilities::DoFailOver(Link* x) Link* TryThisOne = this->FindLink(x->FailOver.c_str()); if (TryThisOne) { - Creator->RemoteMessage(NULL,"FAILOVER: Trying failover link for \002%s\002: \002%s\002...", x->Name.c_str(), TryThisOne->Name.c_str()); - Creator->ConnectServer(TryThisOne); + TreeServer* CheckDupe = this->FindServer(x->FailOver.c_str()); + if (CheckDupe) + { + ServerInstance->Log(DEBUG,"Skipping existing failover: %s", x->FailOver.c_str()); + } + else + { + Creator->RemoteMessage(NULL,"FAILOVER: Trying failover link for \002%s\002: \002%s\002...", x->Name.c_str(), TryThisOne->Name.c_str()); + Creator->ConnectServer(TryThisOne); + } } else { |
