]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/spamserv.c
Couple of srvx updates.
[irc/evilnet/x3.git] / src / spamserv.c
index 9fa3254169c124eb855659e4e1b5bdf17c65ad65..b8b48544311bc8ff29ed24dbe3282919b4143afe 100644 (file)
@@ -3,7 +3,7 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.  Important limitations are
  * listed in the COPYING file that accompanies this software.
  *
@@ -571,9 +571,7 @@ static void
 spamserv_create_user(struct userNode *user)
 {
        struct userInfo *uInfo = malloc(sizeof(struct userInfo));
-       struct killNode *kNode = NULL;
-
-        kNode = dict_find(killed_users_dict, irc_ntoa(&user->ip), 0);
+       struct killNode *kNode = dict_find(killed_users_dict, irc_ntoa(&user->ip), 0);
 
        if(!uInfo)
        {
@@ -598,7 +596,7 @@ spamserv_create_user(struct userNode *user)
 
        if(kNode)
        {
-               free(kNode);
+               /* free(kNode); dict_remove does this */
                dict_remove(killed_users_dict, irc_ntoa(&user->ip));
        }
 }
@@ -626,7 +624,7 @@ spamserv_delete_user(struct userInfo *uInfo)
 }
 
 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);
@@ -635,7 +633,7 @@ spamserv_new_user_func(struct userNode *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;
@@ -665,7 +663,7 @@ spamserv_del_user_func(struct userNode *user, struct userNode *killer, UNUSED_AR
 }
 
 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);
 
@@ -676,7 +674,7 @@ spamserv_nick_change_func(struct userNode *user, const char *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;    
@@ -721,7 +719,7 @@ spamserv_user_join(struct modeNode *mNode)
 }
 
 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;
@@ -2085,7 +2083,7 @@ static SPAMSERV_FUNC(cmd_addtrust)
     struct handle_info *hi;
 
     if (!(channel = GetChannel(argv[2]))) {
-        ss_reply("SSMSG_NOT_REGISTERED", channel->name);
+        ss_reply("SSMSG_NOT_REGISTERED", argv[2]);
         return 0;
     }
 
@@ -2212,7 +2210,7 @@ static SPAMSERV_FUNC(cmd_deltrust)
     struct handle_info *hi;
 
     if (!(channel = GetChannel(argv[2]))) {
-        ss_reply("SSMSG_NOT_REGISTERED", channel->name);
+        ss_reply("SSMSG_NOT_REGISTERED", argv[2]);
         return 0;
     }
 
@@ -3188,7 +3186,7 @@ spamserv_conf_read(void)
 }
 
 static void
-spamserv_db_cleanup(void)
+spamserv_db_cleanup(UNUSED_ARG(void* extra))
 {
        dict_iterator_t it;
 
@@ -3220,7 +3218,7 @@ init_spamserv(const char *nick)
                return;
 
         const char *modes = conf_get_data("services/spamserv/modes", RECDB_QSTRING);
-       spamserv = AddService(nick, modes ? modes : NULL, "Anti Spam Services", NULL);
+        spamserv = AddLocalUser(nick, nick, NULL, "Anti Spam Services", modes);
        spamserv_service = service_register(spamserv);
 
        conf_register_reload(spamserv_conf_read);
@@ -3243,11 +3241,11 @@ init_spamserv(const char *nick)
 
        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);
@@ -3302,7 +3300,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();
 }