]>
Commit | Line | Data |
---|---|---|
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" | |
7f32dbdf P |
7 | #include "../../lib/version.h" |
8 | ||
9 | MODULE_VERSION(QVERSION); | |
84563ebd | 10 | |
524d28f9 | 11 | void at_newnick(int, void *); |
ee8cd7d0 | 12 | DBModuleIdentifier authtrackerdb; |
524d28f9 | 13 | |
84563ebd | 14 | void _init() { |
ee8cd7d0 | 15 | authtrackerdb = dbgetid(); |
b3565978 | 16 | |
2aaa684c | 17 | chanservaddcommand("dumpauthtracker",QCMD_DEV,1,at_dumpdb,"Shows servers with dangling authtracker entries.\n",""); |
84563ebd | 18 | at_finddanglingsessions(); |
19 | } | |
20 | ||
21 | void _fini() { | |
22 | at_hookfini(); | |
23 | nsfreeall(POOL_AUTHTRACKER); | |
2aaa684c | 24 | |
25 | chanservremovecommand("dumpauthtracker",at_dumpdb); | |
b3565978 | 26 | |
ee8cd7d0 | 27 | dbfreeid(authtrackerdb); |
84563ebd | 28 | } |
29 | ||
30 | void at_dbloaded(int hooknum, void *arg) { | |
31 | unsigned int i; | |
32 | nick *np; | |
33 | ||
34 | if (!(chanserv_init_status == CS_INIT_READY)) { | |
35 | registerhook(HOOK_CHANSERV_RUNNING, at_dbloaded); | |
36 | return; | |
37 | } | |
38 | ||
39 | if (hooknum) | |
40 | deregisterhook(HOOK_CHANSERV_RUNNING, at_dbloaded); | |
41 | ||
42 | for (i=0;i<NICKHASHSIZE;i++) { | |
43 | for (np=nicktable[i];np;np=np->next) { | |
44 | at_newnick(0, np); | |
45 | } | |
46 | } | |
47 | ||
48 | Error("authtracker",ERR_INFO,"Authtracker running"); | |
49 | at_flushghosts(); | |
50 | at_hookinit(); | |
51 | } |