]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/nickserv.c
fix crash when rerouting without routing configured
[irc/evilnet/x3.git] / src / nickserv.c
index d63a35a1c7b7d1499717ee852d75b83d8e148593..1f3ee2fdcd6990e51442d368703f17c5b003e230 100644 (file)
@@ -2992,8 +2992,24 @@ static OPTION_FUNC(opt_title)
         apply_fakehost(hi);
     } else if (hi->fakehost && (hi->fakehost[0] == '.'))
         title = hi->fakehost + 1;
-    else
-        title = NULL;
+    else {
+        /* If theres no title set then the default title will therefore
+           be the first part of hidden_host in x3.conf.example, so for
+           consistency with opt_fakehost we will print this here */
+        char *hs, *hidden_suffix, *rest;
+
+        hs = conf_get_data("server/hidden_host", RECDB_QSTRING);
+        hidden_suffix = strdup(hs);
+
+        /* Yes we do this twice */
+        rest = strrchr(hidden_suffix, '.');
+        *rest++ = '\0';
+        rest = strrchr(hidden_suffix, '.');
+        *rest++ = '\0';
+
+        title = hidden_suffix;
+    }
+
     if (!title)
         none = user_find_message(user, "MSG_NONE");
     send_message(user, nickserv, "NSMSG_SET_TITLE", title ? title : none);
@@ -3096,11 +3112,9 @@ static OPTION_FUNC(opt_fakehost)
         }
         apply_fakehost(hi);
         fake = hi->fakehost;
-    } else {
-        /* no arg or no access, how did we even GET here? */
-        reply("MSG_SETTING_PRIVILEGED", argv[0]);
-        return 0;
-    }
+    } else
+        fake = generate_fakehost(hi);
+
     /* Tell them we set the host */
     if (!fake)
         fake = user_find_message(user, "MSG_NONE");