X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/b1e5b4efa50855949e6b3c75acb267349ec533f1..fc03eb2dd7092582030b2694d69174ce2bfb82dd:/chanserv/chanserv_relay.c diff --git a/chanserv/chanserv_relay.c b/chanserv/chanserv_relay.c index e3c5bc79..16b9a9a7 100644 --- a/chanserv/chanserv_relay.c +++ b/chanserv/chanserv_relay.c @@ -58,9 +58,13 @@ static unsigned char hexlookup[256] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; -void _init(void) { +static void relayfinishinit(int, void *); + +void relayfinishinit(int hooknum, void *arg) { sstring *s; + deregisterhook(HOOK_CHANSERV_DBLOADED, relayfinishinit); + registercontrolhelpcmd("checkhashpass", NO_RELAY, 3, csa_docheckhashpass, "Usage: checkhashpass ?junk?"); registercontrolhelpcmd("settempemail", NO_RELAY, 2, csa_dosettempemail, "Usage: settempemail "); registercontrolhelpcmd("setemail", NO_RELAY, 3, csa_dosetemail, "Usage: setmail "); @@ -81,6 +85,13 @@ void _init(void) { freesstring(s); } +void _init(void) { + registerhook(HOOK_CHANSERV_DBLOADED, relayfinishinit); + + if(chanservdb_ready) + relayfinishinit(HOOK_CHANSERV_DBLOADED, NULL); +} + void _fini(void) { deregistercontrolcmd("checkhashpass", csa_docheckhashpass); deregistercontrolcmd("settempemail", csa_dosettempemail); @@ -91,6 +102,8 @@ void _fini(void) { if(createaccountsecret_ok) deregistercontrolcmd("createaccount", csa_docreateaccount); + + deregisterhook(HOOK_CHANSERV_DBLOADED, relayfinishinit); } int csa_docheckhashpass(void *source, int cargc, char **cargv) { @@ -244,6 +257,8 @@ int csa_docreateaccount(void *source, int cargc, char **cargv) { error_password = "passwordlong"; } else if(r == QM_PWTOWEAK) { error_password = "passwordweak"; + } else if(r == QM_PWINVALID) { + error_password = "passwordinvalid"; } else if(r != -1) { error_password = "passwordunknown"; }