]> jfr.im git - irc/quakenet/newserv.git/blobdiff - trusts/trusts_migration.c
Merge chanserv-live into default.
[irc/quakenet/newserv.git] / trusts / trusts_migration.c
index 8c6ba88f68cb4689ab9ccdec37b5f79497d94321..b67d1441c0638f1e9ea57b9485adaf4fbb7b1557 100644 (file)
@@ -1,7 +1,11 @@
+#include "../lib/version.h"
 #include "../control/control.h"
 #include "../lib/irc_string.h"
+#include "../core/config.h"
 #include "trusts.h"
 
+MODULE_VERSION("");
+
 int trusts_migration_start(TrustDBMigrationCallback, void *);
 void trusts_migration_stop(void);
 static void registercommands(int, void *);
@@ -66,7 +70,18 @@ static void deregistercommands(int hooknum, void *arg) {
   deregistercontrolcmd("trustmigrate", trusts_cmdmigrate);
 }
 
+static int loaded = 0;
 void _init(void) {
+  sstring *m;
+
+  m = getconfigitem("trusts", "master");
+  if(!m || (atoi(m->content) != 1)) {
+    Error("trusts_migrationr", ERR_ERROR, "Not a master server, not loaded.");
+    return;
+  }
+
+  loaded = 1;
+
   registerhook(HOOK_TRUSTS_DB_LOADED, registercommands);
   registerhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);
 
@@ -75,6 +90,9 @@ void _init(void) {
 }
 
 void _fini(void) {
+  if(!loaded)
+    return;
+
   deregisterhook(HOOK_TRUSTS_DB_LOADED, registercommands);
   deregisterhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);