X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fnickserv.c;h=5da64a780a3291a57df60ac1684492d401cdaee7;hb=13698718d16cae97ed4df135fc20af386883b241;hp=d98c369c4530ffc21f00d6688bb855a927419489;hpb=28fdbd9df79cd24f3a9e1af646a7e5a523b8f237;p=srvx.git diff --git a/src/nickserv.c b/src/nickserv.c index d98c369..5da64a7 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -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] = "****"; @@ -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