summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-27 01:04:57 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-27 01:04:57 +0000
commite75c523e594f56fcd876213a2042cb3a45822f97 (patch)
tree174b0c5c1d15051cc404f7d3c797192f1a35e5eb /src/modules
parentb6de960d973dc8a22c1bf5b0cbcf0a20461faa13 (diff)
Fix previous module mismatch message; "remote" is misleading when sent as an ERROR
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11154 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_spanningtree/capab.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/modules/m_spanningtree/capab.cpp b/src/modules/m_spanningtree/capab.cpp
index bcf16c760..d39e5f4ab 100644
--- a/src/modules/m_spanningtree/capab.cpp
+++ b/src/modules/m_spanningtree/capab.cpp
@@ -157,19 +157,20 @@ bool TreeSocket::Capab(const std::deque<std::string> &params)
*/
if ((this->ModuleList != this->MyCapabilities()) && (this->ModuleList.length()))
{
- std::string diff = ListDifference(this->ModuleList, this->MyCapabilities());
- if (!diff.length())
+ std::string diffIneed = ListDifference(this->ModuleList, this->MyCapabilities());
+ std::string diffUneed = ListDifference(this->MyCapabilities(), this->ModuleList);
+ if (diffIneed.length() == 0 && diffUneed.length() == 0)
{
- diff = "your server:" + ListDifference(this->MyCapabilities(), this->ModuleList);
+ reason = "Module list in CAPAB is not alphabetically ordered, cannot compare lists.";
}
else
{
- diff = "the remote server:" + diff;
+ reason = "Modules incorrectly matched on these servers.";
+ if (diffIneed.length())
+ reason += " Not loaded here:" + diffIneed;
+ if (diffUneed.length())
+ reason += " Not loaded there:" + diffUneed;
}
- if (diff.length() == 12)
- reason = "Module list in CAPAB is not alphabetically ordered, cannot compare lists.";
- else
- reason = "Modules loaded on these servers are not correctly matched, these modules are not loaded on " + diff;
}
if (((this->CapKeys.find("IP6SUPPORT") == this->CapKeys.end()) && (ip6support)) || ((this->CapKeys.find("IP6SUPPORT") != this->CapKeys.end()) && (this->CapKeys.find("IP6SUPPORT")->second != ConvToStr(ip6support))))