Use nickserv_addmask when adding a new mask to an account (on auth/register). This...
[srvx.git] / src / nickserv.c
index f521c6a980d109460c5fee54f7282b8d4b843803..5da64a780a3291a57df60ac1684492d401cdaee7 100644 (file)
@@ -703,9 +703,9 @@ staff_has_access(struct userNode *user, struct userNode *bot, unsigned int min_l
     }
 
     if (user->handle_info->staff_level < min_level) {
-       if (!quiet)
+        if (!quiet)
             send_message(user, bot, "NSMSG_NO_ACCESS");
-       return 0;
+        return 0;
     }
 
     return 1;
@@ -1382,11 +1382,11 @@ static NICKSERV_FUNC(cmd_register)
         return 0;
     /* Add any masks they should get. */
     if (nickserv_conf.default_hostmask) {
-        string_list_append(hi->masks, strdup("*@*"));
+        nickserv_addmask(NULL, hi, strdup("*@*"));
     } else {
-        string_list_append(hi->masks, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
+        nickserv_addmask(NULL, hi, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
         if (irc_in_addr_is_valid(user->ip) && !irc_pton(&ip, NULL, user->hostname))
-            string_list_append(hi->masks, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_BYIP|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
+            nickserv_addmask(NULL, hi, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_BYIP|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
     }
 
     /* If they're the first to register, give them level 1000. */
@@ -1959,9 +1959,9 @@ static NICKSERV_FUNC(cmd_auth)
         cryptpass(passwd, hi->passwd);
     if (!hi->masks->used) {
         irc_in_addr_t ip;
-        string_list_append(hi->masks, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
+        nickserv_addmask(NULL, hi, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
         if (irc_in_addr_is_valid(user->ip) && irc_pton(&ip, NULL, user->hostname))
-            string_list_append(hi->masks, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_BYIP|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
+            nickserv_addmask(NULL, hi, generate_hostmask(user, GENMASK_OMITNICK|GENMASK_BYIP|GENMASK_NO_HIDING|GENMASK_ANY_IDENT));
     }
     authlog_add(hi, user, NULL);
     argv[pw_arg] = "****";
@@ -2042,7 +2042,7 @@ static MODCMD_FUNC(cmd_authlog)
 static MODCMD_FUNC(cmd_oauthlog) {
     struct handle_info *hi;
     
-    NICKSERV_MIN_PARMS(1);
+    NICKSERV_MIN_PARMS(2);
     
     if (!(hi = get_victim_oper(user, argv[1])))
         return 0;
@@ -3006,8 +3006,8 @@ static OPTION_FUNC(opt_staff_level)
     int res;
 
     if (!override) {
-       send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
-       return 0;
+        send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
+        return 0;
     }
 
     res = (argc > 1) ? oper_try_set_staff_access(user, nickserv, hi, strtoul(argv[1], NULL, 0)) : 0;
@@ -4768,19 +4768,18 @@ check_user_nick(struct userNode *user) {
     //check if this user is a pending LOC user
     if(pendingLOCUsers) {
         struct pendingLOCUser *pending, *next, *prev = NULL;
+        int remove;
         for(pending = pendingLOCUsers; pending; pending = next) {
             next = pending->next;
+            remove = 0;
             if(user->handle_info == pending->handle_info) {
                 pending->authlog->user = user;
                 free((char*) pending->authlog->hostmask);
                 pending->authlog->hostmask = generate_hostmask(user, GENMASK_USENICK|GENMASK_STRICT_IDENT|GENMASK_NO_HIDING|GENMASK_STRICT_HOST);
-                if(prev)
-                    prev->next = next;
-                else
-                    pendingLOCUsers = next;
-                free(pending);
-            }
-            if(now - pending->time > 10) {
+                remove = 1;
+            } else if(now - pending->time > 10)
+                remove = 1;
+            if(remove) {
                 if(prev)
                     prev->next = next;
                 else