summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-04-21 15:15:05 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-04-21 15:15:05 +0000
commit195b60fe903ec3dff471a43af45236fa122171b9 (patch)
tree772e48cf154bdd9c22aa52822222002bfbd13a97 /src/modules/m_spanningtree
parente10bc5d2ebc5312d125561d7bc79d861fea85c4b (diff)
Abort link early when mismatched modules are detected so that the error message is more useful
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11323 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/capab.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/capab.cpp b/src/modules/m_spanningtree/capab.cpp
index d168a79bf..d363f31c1 100644
--- a/src/modules/m_spanningtree/capab.cpp
+++ b/src/modules/m_spanningtree/capab.cpp
@@ -171,8 +171,9 @@ bool TreeSocket::Capab(const std::deque<std::string> &params)
if (diffUneed.length())
reason += " Not loaded there:" + diffUneed;
}
+ this->SendError("CAPAB negotiation failed: "+reason);
+ return false;
}
-
if (((this->CapKeys.find("IP6SUPPORT") == this->CapKeys.end()) && (ip6support)) || ((this->CapKeys.find("IP6SUPPORT") != this->CapKeys.end()) && (this->CapKeys.find("IP6SUPPORT")->second != ConvToStr(ip6support))))
reason = "We don't both support linking to IPV6 servers";
if (((this->CapKeys.find("IP6NATIVE") != this->CapKeys.end()) && (this->CapKeys.find("IP6NATIVE")->second == "1")) && (!ip6support))