for (i=0;i<trojanscan_tailpoolsize;i++)
freesstring(trojanscan_tailpool[i]);
trojanscan_database_close();
+
+ deletecommandfromtree(trojanscan_cmds, "showcommands", &trojanscan_showcommands);
+ deletecommandfromtree(trojanscan_cmds, "help", &trojanscan_help);
+ deletecommandfromtree(trojanscan_cmds, "hello", &trojanscan_hello);
+ deletecommandfromtree(trojanscan_cmds, "join", &trojanscan_userjoin);
+ deletecommandfromtree(trojanscan_cmds, "chanlist", &trojanscan_chanlist);
+ deletecommandfromtree(trojanscan_cmds, "whois", &trojanscan_whois);
+ deletecommandfromtree(trojanscan_cmds, "changelev", &trojanscan_changelev);
+ deletecommandfromtree(trojanscan_cmds, "deluser", &trojanscan_deluser);
+ deletecommandfromtree(trojanscan_cmds, "mew", &trojanscan_mew);
+ deletecommandfromtree(trojanscan_cmds, "status", &trojanscan_status);
+ deletecommandfromtree(trojanscan_cmds, "listusers", &trojanscan_listusers);
+ deletecommandfromtree(trojanscan_cmds, "rehash", &trojanscan_rehash);
+ deletecommandfromtree(trojanscan_cmds, "cat", &trojanscan_cat);
+ deletecommandfromtree(trojanscan_cmds, "reschedule", &trojanscan_reschedule);
+
+ destroycommandtree(trojanscan_cmds);
+ nscheckfreeall(POOL_TROJANSCAN);
}
static void trojanscan_connect_nick(void *arg) {
trojanscan_mainchanmsg("n: swarm (%d clones) created.", TROJANSCAN_CLONE_TOTAL);
trojanscan_swarm_created = 1;
- trojanscan_initialschedule = scheduleoneshot(time(NULL) + 5, &trojanscan_fill_channels, NULL);
+ trojanscan_initialschedule = scheduleoneshot(time(NULL) + 60, &trojanscan_fill_channels, NULL);
}
int trojanscan_status(void *sender, int cargc, char **cargv) {
struct trojanscan_templist *markedlist = NULL;
if(count > 0) {
- markedlist = (struct trojanscan_templist *)malloc(count * sizeof(struct trojanscan_templist));
+ markedlist = (struct trojanscan_templist *)tmalloc(count * sizeof(struct trojanscan_templist));
if (!markedlist)
return;
memset(markedlist, 0, sizeof(struct trojanscan_templist) * count);
irc_send("%s GL * +%s %d :You (%s!%s@%s) are infected with a trojan (%s/%d), see %s%d for details - banned for %d hours\r\n", mynumeric->content, glinemask, glinetime * 3600, sender->nick, sender->ident, sender->host->name->content, worm->name->content, phrase->id, TROJANSCAN_URL_PREFIX, worm->id, glinetime);
- trojanscan_mainchanmsg("g: *!%s t: %c u: %s!%s@%s%s%s c: %d w: %s%s p: %d f: %d", glinemask, messagetype, sender->nick, sender->ident, sender->host->name->content, messagetype=='N'||messagetype=='M'||messagetype=='P'?" #: ":"", messagetype=='N'||messagetype=='M'||messagetype=='P'?chp->index->name->content:"", usercount, worm->name->content, worm->epidemic?"(E)":"", phrase->id, frequency);
+ trojanscan_mainchanmsg("g: *!%s t: %c u: %s!%s@%s%s%s c: %d w: %s%s p: %d f: %d%s%s", glinemask, messagetype, sender->nick, sender->ident, sender->host->name->content, messagetype=='N'||messagetype=='M'||messagetype=='P'?" #: ":"", messagetype=='N'||messagetype=='M'||messagetype=='P'?chp->index->name->content:"", usercount, worm->name->content, worm->epidemic?"(E)":"", phrase->id, frequency, matchbuf[0]?" --: ":"", matchbuf[0]?matchbuf:"");
}
}