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!
This commit is contained in:
Alexander Barton 2014-01-27 22:59:54 +01:00
parent 0fc822d8c4
commit 20b52fe33d
1 changed files with 2 additions and 1 deletions

View File

@ -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;
}
}