From: Alexander Barton Date: Mon, 27 Jan 2014 21:59:54 +0000 (+0100) Subject: Correctly use cloaked IRC masks on "INVITE nickname" X-Git-Tag: rel-21.1~7 X-Git-Url: https://arthur.barton.de/gitweb/?p=ngircd.git;a=commitdiff_plain;h=9ecd8f616f7fa03a98230c3bf1939b8f27455495 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! (cherry picked from commit 20b52fe33dc3387d50790ed6da8c47c34277527a) --- diff --git a/src/ngircd/irc-op.c b/src/ngircd/irc-op.c index 52126877..b32a8e6a 100644 --- a/src/ngircd/irc-op.c +++ b/src/ngircd/irc-op.c @@ -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; } }