]> jfr.im git - irc/quakenet/newserv.git/blame - chanserv/authtracker/authtracker.c
Added command to inspect authtracker contents.
[irc/quakenet/newserv.git] / chanserv / authtracker / authtracker.c
CommitLineData
84563ebd 1
2#include "../chanserv.h"
3#include "authtracker.h"
4#include "../../core/nsmalloc.h"
5#include "../../core/hooks.h"
6#include "../../core/error.h"
7
524d28f9 8void at_newnick(int, void *);
ee8cd7d0 9DBModuleIdentifier authtrackerdb;
524d28f9 10
84563ebd 11void _init() {
ee8cd7d0 12 authtrackerdb = dbgetid();
b3565978 13
2aaa684c 14 chanservaddcommand("dumpauthtracker",QCMD_DEV,1,at_dumpdb,"Shows servers with dangling authtracker entries.\n","");
84563ebd 15 at_finddanglingsessions();
16}
17
18void _fini() {
19 at_hookfini();
20 nsfreeall(POOL_AUTHTRACKER);
2aaa684c 21
22 chanservremovecommand("dumpauthtracker",at_dumpdb);
b3565978 23
ee8cd7d0 24 dbfreeid(authtrackerdb);
84563ebd 25}
26
27void at_dbloaded(int hooknum, void *arg) {
28 unsigned int i;
29 nick *np;
30
31 if (!(chanserv_init_status == CS_INIT_READY)) {
32 registerhook(HOOK_CHANSERV_RUNNING, at_dbloaded);
33 return;
34 }
35
36 if (hooknum)
37 deregisterhook(HOOK_CHANSERV_RUNNING, at_dbloaded);
38
39 for (i=0;i<NICKHASHSIZE;i++) {
40 for (np=nicktable[i];np;np=np->next) {
41 at_newnick(0, np);
42 }
43 }
44
45 Error("authtracker",ERR_INFO,"Authtracker running");
46 at_flushghosts();
47 at_hookinit();
48}