#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"
}
static int
-spamserv_new_user_func(struct userNode *user)
+spamserv_new_user_func(struct userNode *user, UNUSED_ARG(void *extra))
{
if(!IsLocal(user))
spamserv_create_user(user);
}
static void
-spamserv_del_user_func(struct userNode *user, struct userNode *killer, UNUSED_ARG(const char *why))
+spamserv_del_user_func(struct userNode *user, struct userNode *killer, UNUSED_ARG(const char *why), UNUSED_ARG(void *extra))
{
struct userInfo *uInfo = get_userInfo(user->nick);
struct killNode *kNode;
}
static void
-spamserv_nick_change_func(struct userNode *user, const char *old_nick)
+spamserv_nick_change_func(struct userNode *user, const char *old_nick, UNUSED_ARG(void *extra))
{
struct userInfo *uInfo = get_userInfo(old_nick);
}
static int
-spamserv_user_join(struct modeNode *mNode)
+spamserv_user_join(struct modeNode *mNode, UNUSED_ARG(void *extra))
{
struct chanNode *channel = mNode->channel;
struct userNode *user = mNode->user;
}
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;
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;
}
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;
}
int size = strlen(user->hostname) + 3;
char *mask = alloca(size);
snprintf(mask, size, "*@%s", user->hostname);
- gline_add(spamserv->nick, mask, spamserv_conf.gline_duration, reason, now, now, 1, 0);
+ gline_add(spamserv->nick, mask, spamserv_conf.gline_duration, reason, now, 1, 0);
spamserv_debug(SSMSG_DEBUG_GLINE, user->nick, user->hostname, channel->name);
}
else if(CHECK_KILL(uInfo))
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)))
{
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);
}
static void
-spamserv_db_cleanup(void)
+spamserv_db_cleanup(UNUSED_ARG(void* extra))
{
dict_iterator_t it;
saxdb_register("SpamServ", spamserv_saxdb_read, spamserv_saxdb_write);
- reg_new_user_func(spamserv_new_user_func);
- reg_del_user_func(spamserv_del_user_func);
- reg_nick_change_func(spamserv_nick_change_func);
- reg_join_func(spamserv_user_join);
- reg_part_func(spamserv_user_part);
+ reg_new_user_func(spamserv_new_user_func, NULL);
+ 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, NULL);
timeq_add(now + FLOOD_TIMEQ_FREQ, timeq_flood, NULL);
timeq_add(now + JOINFLOOD_TIMEQ_FREQ, timeq_joinflood, NULL);
}
}
- reg_exit_func(spamserv_db_cleanup);
+ reg_exit_func(spamserv_db_cleanup, NULL);
message_register_table(msgtab);
crc32_init();
}