X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fspamserv.c;h=7d6d9b3aeddff0e455ae0e0018dd24d2eb8e5ef2;hb=c7c06b7fb90b2596050dbb60d3c8d567bbf49239;hp=35cf836afaa72cf0864ddcd3fd8de0f67603439b;hpb=e4427641a86ef4b3d8336133db350ca359650ef2;p=srvx.git diff --git a/src/spamserv.c b/src/spamserv.c index 35cf836..7d6d9b3 100644 --- a/src/spamserv.c +++ b/src/spamserv.c @@ -36,6 +36,7 @@ #define KEY_EXPIRY "expiry" #define KEY_DEBUG_CHANNEL "debug_channel" +#define KEY_OPER_CHANNEL "oper_channel" #define KEY_GLOBAL_EXCEPTIONS "global_exceptions" #define KEY_NETWORK_RULES "network_rules" #define KEY_TRIGGER "trigger" @@ -69,7 +70,8 @@ dict_t connected_users_dict; dict_t killed_users_dict; #define spamserv_notice(target, format...) send_message(target , spamserv , ## format) -#define spamserv_debug(format...) do { if(spamserv_conf.debug_channel) send_channel_notice(spamserv_conf.debug_channel , spamserv , ## format); } while(0) +#define spamserv_debug(format...) do { if(spamserv_conf.debug_channel) send_channel_message(spamserv_conf.debug_channel , spamserv , ## format); } while(0) +#define spamserv_oper_message(format...) do { if(spamserv_conf.oper_channel) send_channel_message(spamserv_conf.oper_channel , spamserv , ## format); } while(0) #define ss_reply(format...) send_message(user , spamserv , ## format) #define SET_SUBCMDS_SIZE 10 @@ -137,10 +139,13 @@ static const struct message_entry msgtab[] = { #define SSMSG_WARNING_2 "You are violating the network rules" #define SSMSG_WARNING_RULES "%s is against the network rules. Read the network rules at %s" #define SSMSG_WARNING_RULES_2 "You are violating the network rules. Read the network rules at %s" +#define SSMSG_CHANNEL_REGISTERED "%s (channel %s) registered by %s." +#define SSMSG_CHANNEL_UNREGISTERED "%s (channel %s) unregistered by %s." static struct { struct chanNode *debug_channel; + struct chanNode *oper_channel; struct string_list *global_exceptions; const char *network_rules; unsigned char trigger; @@ -1088,8 +1093,7 @@ SPAMSERV_FUNC(cmd_register) spamserv_join_channel(cInfo->channel); - snprintf(reason, sizeof(reason), "%s (channel %s) registered by %s.", spamserv->nick, channel->name, user->handle_info->handle); - global_message(MESSAGE_RECIPIENT_OPERS | MESSAGE_RECIPIENT_HELPERS, reason); + spamserv_oper_message(SSMSG_CHANNEL_REGISTERED, spamserv->nick, channel->name, user->handle_info->handle); ss_reply("SSMSG_REG_SUCCESS", channel->name); return 1; @@ -1138,8 +1142,7 @@ SPAMSERV_FUNC(cmd_unregister) spamserv_unregister_channel(cInfo); - snprintf(reason, sizeof(reason), "%s (channel %s) unregistered by %s.", spamserv->nick, channel->name, user->handle_info->handle); - global_message(MESSAGE_RECIPIENT_OPERS | MESSAGE_RECIPIENT_HELPERS, reason); + spamserv_oper_message(SSMSG_CHANNEL_UNREGISTERED, channel->name, user->handle_info->handle); ss_reply("SSMSG_UNREG_SUCCESS", channel->name); return 1; @@ -1839,7 +1842,7 @@ spamserv_saxdb_read(struct dict *database) struct string_list *strlist; unsigned int flags,exceptlevel; char *str, *info; - time_t expiry; + unsigned long expiry; for(it = dict_first(database); it; it = iter_next(it)) { @@ -1930,7 +1933,6 @@ spamserv_conf_read(void) } str = database_get_data(conf_node, KEY_DEBUG_CHANNEL, RECDB_QSTRING); - if(str) { spamserv_conf.debug_channel = AddChannel(str, now, "+tinms", NULL); @@ -1943,6 +1945,16 @@ spamserv_conf_read(void) spamserv_conf.debug_channel = NULL; } + str = database_get_data(conf_node, KEY_OPER_CHANNEL, RECDB_QSTRING); + if(str) + { + spamserv_conf.oper_channel = AddChannel(str, now, "+tinms", NULL); + } + else + { + spamserv_conf.oper_channel = NULL; + } + spamserv_conf.global_exceptions = database_get_data(conf_node, KEY_GLOBAL_EXCEPTIONS, RECDB_STRING_LIST); str = database_get_data(conf_node, KEY_NETWORK_RULES, RECDB_QSTRING);