summaryrefslogtreecommitdiff
path: root/modules/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol')
-rw-r--r--modules/protocol/inspircd12.cpp1
-rw-r--r--modules/protocol/inspircd20.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index e71e7dbc3..27ec1249a 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -18,6 +18,7 @@ static bool has_globopsmod = false;
static bool has_chghostmod = false;
static bool has_chgidentmod = false;
static bool has_rlinemod = false;
+static unsigned int spanningtree_proto_ver = 1201;
#include "inspircd-ts6.h"
static bool has_servicesmod = false;
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 4c2b03544..58494bb51 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -18,6 +18,7 @@ static bool has_chghostmod = false;
static bool has_chgidentmod = false;
static bool has_globopsmod = true; // Not a typo
static bool has_rlinemod = false;
+static unsigned int spanningtree_proto_ver = 0;
#include "inspircd-ts6.h"
static bool has_servicesmod = false;
@@ -117,7 +118,10 @@ struct IRCDMessageCapab : IRCDMessage
{
if (params[0].equals_cs("START"))
{
- if (params.size() < 2 || (Anope::string(params[1]).is_pos_number_only() ? convertTo<unsigned>(params[1]) : 0) < 1202)
+ if (params.size() >= 2)
+ spanningtree_proto_ver = (Anope::string(params[1]).is_pos_number_only() ? convertTo<unsigned>(params[1]) : 0);
+
+ if (spanningtree_proto_ver < 1202)
{
UplinkSocket::Message() << "ERROR :Protocol mismatch, no or invalid protocol version given in CAPAB START";
quitmsg = "Protocol mismatch, no or invalid protocol version given in CAPAB START";