]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/nickserv.c
mod-python: remove unused function
[irc/evilnet/x3.git] / src / nickserv.c
index 84920fd0d8cb1b410b8225e565a06c5c90515b19..9b1925e5e55a737359646052ce17725b862df185 100644 (file)
@@ -322,6 +322,7 @@ static const struct message_entry msgtab[] = {
     { "NSMSG_CANNOT_MERGE_SELF", "You cannot merge account $b%s$b with itself." },
     { "NSMSG_HANDLES_MERGED", "Merged account $b%s$b into $b%s$b." },
     { "NSMSG_RECLAIM_WARN", "%s is a registered nick - you must auth to account %s or change your nick." },
+    { "NSMSG_RECLAIM_HOWTO", "To auth to account %s you must use /msg %s@%s AUTH %s <password>" },
     { "NSMSG_RECLAIM_KILL", "Unauthenticated user of nick." },
     { "NSMSG_RECLAIMED_NONE", "You cannot manually reclaim a nick." },
     { "NSMSG_RECLAIMED_WARN", "Sent a request for %s to change their nick." },
@@ -1124,7 +1125,7 @@ nickserv_register(struct userNode *user, struct userNode *settee, const char *ha
         send_message(user, nickserv, "NSMSG_REGISTER_H_SUCCESS");
       }
     }
-    else if ((ni = dict_find(nickserv_nick_dict, user->nick, NULL))) {
+    else if (user && (ni = dict_find(nickserv_nick_dict, user->nick, NULL))) {
       if(user) {
         send_message(user, nickserv, "NSMSG_PARTIAL_REGISTER");
       }
@@ -2144,9 +2145,11 @@ static NICKSERV_FUNC(cmd_auth)
     if (argc == 3) {
         passwd = argv[2];
         handle = argv[1];
+        pw_arg = 2;
         hi = dict_find(nickserv_handle_dict, argv[1], NULL);
     } else if (argc == 2) {
         passwd = argv[1];
+        pw_arg = 1;
         if (nickserv_conf.disable_nicks) {
             hi = get_handle_info(user->nick);
         } else {
@@ -2176,7 +2179,7 @@ static NICKSERV_FUNC(cmd_auth)
         reply("NSMSG_NO_ANGLEBRACKETS");
         return 0;
     }
-    if (!is_valid_handle(argv[1])) {
+    if (!is_valid_handle(handle)) {
         reply("NSMSG_BAD_HANDLE", handle);
         return 0;
     }
@@ -4978,6 +4981,7 @@ nickserv_reclaim(struct userNode *user, struct nick_info *ni, enum reclaim_actio
         break;
     case RECLAIM_WARN:
         send_message(user, nickserv, "NSMSG_RECLAIM_WARN", ni->nick, ni->owner->handle);
+        send_message(user, nickserv, "NSMSG_RECLAIM_HOWTO", ni->owner->handle, nickserv->nick, self->name, ni->owner->handle);
         break;
     case RECLAIM_SVSNICK:
         do {
@@ -5013,6 +5017,7 @@ check_user_nick(struct userNode *user) {
     }
     if (nickserv_conf.warn_nick_owned)
         send_message(user, nickserv, "NSMSG_RECLAIM_WARN", ni->nick, ni->owner->handle);
+        send_message(user, nickserv, "NSMSG_RECLAIM_HOWTO", ni->owner->handle, nickserv->nick, self->name, ni->owner->handle);
     if (nickserv_conf.auto_reclaim_action == RECLAIM_NONE)
         return 0;
     if (nickserv_conf.auto_reclaim_delay)