diff options
Diffstat (limited to 'modules/protocol/inspircd20.cpp')
| -rw-r--r-- | modules/protocol/inspircd20.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 619afdbde..f58f6e172 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -17,10 +17,11 @@ static bool has_chghostmod = false; static bool has_chgidentmod = false; static bool has_globopsmod = true; // Not a typo +static bool has_rlinemod = false; #include "inspircd-ts6.h" -IRCDVar myIrcd[] = { - {"InspIRCd 2.0", /* ircd name */ +IRCDVar myIrcd = { + "InspIRCd 2.0", /* ircd name */ "+I", /* Modes used by pseudoclients */ 1, /* SVSNICK */ 1, /* Vhost */ @@ -42,9 +43,6 @@ IRCDVar myIrcd[] = { "$", /* TLD Prefix for Global */ 20, /* Max number of modes we can send per line */ 1, /* IRCd sends a SSL users certificate fingerprint */ - } - , - {NULL} }; static bool has_servicesmod = false; @@ -58,9 +56,9 @@ class InspIRCdProto : public InspIRCdTS6Proto UplinkSocket::Message() << "CAPAB CAPABILITIES :PROTOCOL=1202"; UplinkSocket::Message() << "CAPAB END"; SendServer(Me); - UplinkSocket::Message(Config->Numeric) << "BURST"; + UplinkSocket::Message(Me) << "BURST"; Module *enc = ModuleManager::FindFirstOf(ENCRYPTION); - UplinkSocket::Message(Config->Numeric) << "VERSION :Anope-" << Anope::Version() << " " << Me->GetName() << " :" << ircd->name <<" - (" << (enc ? enc->name : "unknown") << ") -- " << Anope::VersionBuildString(); + UplinkSocket::Message(Me) << "VERSION :Anope-" << Anope::Version() << " " << Me->GetName() << " :" << ircd->name <<" - (" << (enc ? enc->name : "unknown") << ") -- " << Anope::VersionBuildString(); } }; @@ -559,8 +557,16 @@ class Inspircd20IRCdMessage : public InspircdIRCdMessage Anope::string module; while (ssep.GetToken(module)) + { if (module.equals_cs("m_svshold.so")) has_svsholdmod = true; + else if (module.find("m_rline.so") == 0) + { + has_rlinemod = true; + if (!Config->RegexEngine.empty() && Config->RegexEngine != module.substr(11)) + Log() << "Warning: InspIRCd is using regex engine " << module.substr(11) << ", but we have " << Config->RegexEngine << ". This may cause inconsistencies."; + } + } } else if (params[0].equals_cs("MODSUPPORT")) { @@ -718,7 +724,7 @@ class ProtoInspIRCd : public Module { this->SetAuthor("Anope"); - pmodule_ircd_var(myIrcd); + pmodule_ircd_var(&myIrcd); pmodule_ircd_proto(&this->ircd_proto); pmodule_ircd_message(&this->ircd_message); |
