commit 20b52fe33dc3387d50790ed6da8c47c34277527a from: Alexander Barton date: Mon Jan 27 22:05:29 2014 UTC 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! commit - 0fc822d8c44be42a62d3c26bbab99d5d0bc88346 commit + 20b52fe33dc3387d50790ed6da8c47c34277527a blob - 23db579e725e1e54ef01faf4bfdd10616843ac76 blob + 449cecfb0534aaef10cb3fb51d69a6b7d682d6db --- src/ngircd/irc-op.c +++ 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; } }