summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ms_del.c3
-rw-r--r--src/modules.c25
2 files changed, 20 insertions, 8 deletions
diff --git a/src/core/ms_del.c b/src/core/ms_del.c
index 1fc3557c0..36ced1eff 100644
--- a/src/core/ms_del.c
+++ b/src/core/ms_del.c
@@ -78,6 +78,9 @@ int do_del(User * u)
if (!(ci = cs_findchan(chan))) {
notice_lang(s_MemoServ, u, CHAN_X_NOT_REGISTERED, chan);
return MOD_CONT;
+ } else if (readonly) {
+ notice_lang(s_MemoServ, u, READ_ONLY_MODE);
+ return MOD_CONT;
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_MemoServ, u, CHAN_X_FORBIDDEN, chan);
return MOD_CONT;
diff --git a/src/modules.c b/src/modules.c
index d37454e67..2f42654da 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -585,15 +585,24 @@ int loadModule(Module * m, User * u)
}
if (func) {
version = (int (*)())ano_modsym(m->handle,"getAnopeBuildVersion");
- if(version && version() >= VERSION_BUILD ) {
- if(debug) {
- alog("Module %s compiled against anope revision %d, this is %d",m->name,version(),VERSION_BUILD);
- }
- } else {
+ if (version) {
+ if (version() >= VERSION_BUILD ) {
+ if(debug) {
+ alog("Module %s compiled against current or newer anope revision %d, this is %d",m->name,version(),VERSION_BUILD);
+ }
+ } else {
ano_modclose(m->handle);
- ano_modclearerr();
- alog("Module %s is compiled against an old version of anope",m->name);
- return MOD_ERR_NOLOAD;
+ ano_modclearerr();
+ alog("Module %s is compiled against an old version of anope (%d) current is %d", m->name, version(), VERSION_BUILD);
+ alog("Rebuild module %s against the current version to resolve this error", m->name);
+ return MOD_ERR_NOLOAD;
+ }
+ } else {
+ ano_modclose(m->handle);
+ ano_modclearerr();
+ alog("Module %s is compiled against an older version of anope (unknown)", m->name);
+ alog("Rebuild module %s against the current version to resolve this error", m->name);
+ return MOD_ERR_NOLOAD;
}
/* TODO */
mod_current_module_name = m->name;