copy fakeuser also into Client struct
authorpk910 <philipp@zoelle1.de>
Sat, 23 Jul 2011 18:33:55 +0000 (20:33 +0200)
committerpk910 <philipp@zoelle1.de>
Sat, 23 Jul 2011 18:33:55 +0000 (20:33 +0200)
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)) {
 
   /* 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 {
     if (MyConnect(cptr))
       send_reply(cptr, RPL_HOSTUSERHIDDEN, cli_user(cptr)->username, cli_user(cptr)->host);
   } else {