copy fakeuser also into Client struct
[ircu2.10.12-pk.git] / ircd / s_user.c
index 98274901a99323a57bbc8225e07cf722aba4c71e..c10eb72360d8b152f0241489e197f3346f2bbb77 100644 (file)
@@ -1022,8 +1022,11 @@ hide_hostmask(struct Client *cptr, unsigned int flag)
 
   /* spoof also the username if username is passed */
   if(IsFakeIdent(cptr)) {
-    ircd_strncpy(cli_user(cptr)->username, cli_user(cptr)->fakeuser, USERLEN);
-     /* ok, the client is now fully hidden, so let them know -- hikari */
+    if(strncmp(cli_user(cptr)->username, cli_user(cptr)->fakeuser, USERLEN) != 0) {
+      ircd_strncpy(cli_username(cptr), cli_user(cptr)->fakeuser, USERLEN);
+      ircd_strncpy(cli_user(cptr)->username, cli_user(cptr)->fakeuser, USERLEN);
+    }
+    /* ok, the client is now fully hidden, so let them know -- hikari */
     if (MyConnect(cptr))
       send_reply(cptr, RPL_HOSTUSERHIDDEN, cli_user(cptr)->username, cli_user(cptr)->host);
   } else {