summaryrefslogtreecommitdiff
path: root/src/protocol/inspircd12.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol/inspircd12.cpp')
-rw-r--r--src/protocol/inspircd12.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp
index cc5bddb41..f7be33fab 100644
--- a/src/protocol/inspircd12.cpp
+++ b/src/protocol/inspircd12.cpp
@@ -406,6 +406,7 @@ static int has_chgidentmod = 0;
static int has_messagefloodmod = 0;
static int has_banexceptionmod = 0;
static int has_inviteexceptionmod = 0;
+static int has_hidechansmod = 0;
/* CHGHOST */
@@ -1207,6 +1208,10 @@ int anope_event_capab(const char *source, int ac, const char **av)
has_svsholdmod = 0;
has_chghostmod = 0;
has_chgidentmod = 0;
+ has_messagefloodmod = 0;
+ has_banexceptionmod = 0;
+ has_inviteexceptionmod = 0;
+ has_hidechansmod = 0;
} else if (strcasecmp(av[0], "MODULES") == 0) {
if (strstr(av[1], "m_globops.so")) {
@@ -1233,13 +1238,28 @@ int anope_event_capab(const char *source, int ac, const char **av)
if (strstr(av[1], "m_inviteexception.so")) {
has_inviteexceptionmod = 1;
}
+ if (strstr(av[1], "m_hidechans.so")) {
+ has_hidechansmod = 1;
+ }
} else if (strcasecmp(av[0], "END") == 0) {
+ if (!has_globopsmod) {
+ send_cmd(NULL, "ERROR :m_globops is not loaded. This is required by Anope");
+ quitmsg = "Remote server does not have the m_globops module loaded, and this is required.";
+ quitting = 1;
+ return MOD_STOP;
+ }
if (!has_servicesmod) {
send_cmd(NULL, "ERROR :m_services_account.so is not loaded. This is required by Anope");
quitmsg = "ERROR: Remote server does not have the m_services_account module loaded, and this is required.";
quitting = 1;
return MOD_STOP;
}
+ if (!has_hidechansmod) {
+ send_cmd(NULL, "ERROR :m_hidechans.so is not loaded. This is required by Anope");
+ quitmsg = "ERROR: Remote server deos not have the m_hidechans module loaded, and this is required.";
+ quitting = 1;
+ return MOD_STOP;
+ }
if (!has_svsholdmod) {
ircdproto->SendGlobops(s_OperServ, "SVSHOLD missing, Usage disabled until module is loaded.");
}