X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/fb38e2bcac60ef70a5515bc2a2c2f308b4d58280..0b401fb654b69fd9649954a9bdd5ff041971e62d:/src/spamserv.c?ds=inline diff --git a/src/spamserv.c b/src/spamserv.c index 303a339..6d703bd 100644 --- a/src/spamserv.c +++ b/src/spamserv.c @@ -43,6 +43,7 @@ #define KEY_ISSUED "issued" #define KEY_TRUSTED_ACCOUNTS "trusted" #define KEY_DEBUG_CHANNEL "debug_channel" +#define KEY_DEBUG_CHANNEL_MODES "debug_channel_modes" #define KEY_GLOBAL_EXCEPTIONS "global_exceptions" #define KEY_GLOBAL_BADWORDS "global_badwords" #define KEY_NETWORK_RULES "network_rules" @@ -719,7 +720,7 @@ spamserv_user_join(struct modeNode *mNode, UNUSED_ARG(void *extra)) } static void -spamserv_user_part(struct modeNode *mn, UNUSED_ARG(const char *reason)) +spamserv_user_part(struct modeNode *mn, UNUSED_ARG(const char *reason), UNUSED_ARG(void *extra)) { struct userNode *user = mn->user; struct chanNode *channel = mn->channel; @@ -2155,7 +2156,7 @@ static SPAMSERV_FUNC(cmd_oaddtrust) cInfo = get_chanInfo(channel->name); cData = channel->channel_info; - if (!cInfo || !channel->channel_info) { + if (!cInfo || !cData) { ss_reply("SSMSG_NOT_REGISTERED", channel->name); return 0; } @@ -2289,7 +2290,7 @@ static SPAMSERV_FUNC(cmd_odeltrust) cInfo = get_chanInfo(channel->name); cData = channel->channel_info; - if (!cInfo || !channel->channel_info) { + if (!cInfo || !cData) { ss_reply("SSMSG_NOT_REGISTERED", channel->name); return 0; } @@ -3116,7 +3117,7 @@ static void spamserv_conf_read(void) { dict_t conf_node; - const char *str; + const char *str, *modes; if(!(conf_node = conf_get_data(SPAMSERV_CONF_NAME, RECDB_OBJECT))) { @@ -3128,7 +3129,9 @@ spamserv_conf_read(void) if(str) { - spamserv_conf.debug_channel = AddChannel(str, now, "+tinms", NULL, NULL); + modes = database_get_data(conf_node, KEY_DEBUG_CHANNEL_MODES, RECDB_QSTRING); + + spamserv_conf.debug_channel = AddChannel(str, now, (modes ? modes : "+tinms"), NULL, NULL); if(spamserv_conf.debug_channel) spamserv_join_channel(spamserv_conf.debug_channel); @@ -3186,7 +3189,7 @@ spamserv_conf_read(void) } static void -spamserv_db_cleanup(void) +spamserv_db_cleanup(UNUSED_ARG(void* extra)) { dict_iterator_t it; @@ -3245,7 +3248,7 @@ init_spamserv(const char *nick) reg_del_user_func(spamserv_del_user_func, NULL); reg_nick_change_func(spamserv_nick_change_func, NULL); reg_join_func(spamserv_user_join, NULL); - reg_part_func(spamserv_user_part); + reg_part_func(spamserv_user_part, NULL); timeq_add(now + FLOOD_TIMEQ_FREQ, timeq_flood, NULL); timeq_add(now + JOINFLOOD_TIMEQ_FREQ, timeq_joinflood, NULL); @@ -3300,7 +3303,7 @@ init_spamserv(const char *nick) } } - reg_exit_func(spamserv_db_cleanup); + reg_exit_func(spamserv_db_cleanup, NULL); message_register_table(msgtab); crc32_init(); }