ngircd

Free, portable and lightweight Internet Relay Chat server http://ngircd.barton.de/
Log | Files | Refs | README | LICENSE

commit 20b52fe33dc3387d50790ed6da8c47c34277527a
parent 0fc822d8c44be42a62d3c26bbab99d5d0bc88346
Author: Alexander Barton <alex@barton.de>
Date:   Mon, 27 Jan 2014 22:59:54 +0100

Correctly use cloaked IRC masks on "INVITE nickname"

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!

Diffstat:
Msrc/ngircd/irc-op.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/ngircd/irc-op.c b/src/ngircd/irc-op.c @@ -194,7 +194,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; } }