]> arthur.barton.de Git - ngircd.git/commitdiff
Correctly use cloaked IRC masks on "INVITE nickname"
authorAlexander Barton <alex@barton.de>
Mon, 27 Jan 2014 21:59:54 +0000 (22:59 +0100)
committerAlexander Barton <alex@barton.de>
Wed, 19 Mar 2014 01:27:16 +0000 (02:27 +0100)
The cloaked IRC mask of a user is his visible mask, so the daemon has
to use it for generating the "one time" entries for the invite list of
the given channel.

Without this patch, ngIRCd records the real IRC mask which will never
match while the target client is "+x", and even worse, will disclose
the real mask on "MODE #channel +I" commands :-/

Bug reported by Cahata on #ngircd, thanks!

(cherry picked from commit 20b52fe33dc3387d50790ed6da8c47c34277527a)

src/ngircd/irc-op.c

index 52126877dc1a6f27bc804b3a968499251d36e980..b32a8e6a72892cc42f6fa86abac478ab9e91e23d 100644 (file)
@@ -195,7 +195,8 @@ IRC_INVITE(CLIENT *Client, REQUEST *Req)
 
                if (remember) {
                        /* We must remember this invite */
-                       if (!Channel_AddInvite(chan, Client_Mask(target), true))
+                       if (!Channel_AddInvite(chan, Client_MaskCloaked(target),
+                                               true))
                                return CONNECTED;
                }
        }