From: Ali Shemiran Date: Fri, 9 May 2008 19:52:54 +0000 (+0200) Subject: Fix secret channel information leak X-Git-Tag: rel-0-12-0~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e0c62df915694ebdc1a530cae1b802db2ad9ccc;p=ngircd Fix secret channel information leak /who on a secret channel that the user is not a member of now returns proper RPL_ENDOFWHO_MSG instead of nothing. [picked from 12cd554af1709c44f35024d7d2fc368fb22f133d; without testcase] --- diff --git a/ChangeLog b/ChangeLog index 665d2993..bc9663c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,9 @@ -- ChangeLog -- +ngIRCd 0.12.X + - Fix Bug: 85: "WHO #SecretChannel" that user is not a member of now returns + proper RPL_ENDOFWHO_MSG instead of nothing. (Ali Shemiran) ngIRCd 0.12.0-pre2 (2008-04-29) diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index dbeed978..a3661f55 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -718,7 +718,7 @@ IRC_Send_WHO(CLIENT *Client, CHANNEL *Chan, bool OnlyOps) /* Secret channel? */ if (!is_member && strchr(Channel_Modes(Chan), 's')) - return CONNECTED; + return IRC_WriteStrClient(Client, RPL_ENDOFWHO_MSG, Client_ID(Client), Channel_Name(Chan)); cl2chan = Channel_FirstMember(Chan); for (; cl2chan ; cl2chan = Channel_NextMember(Chan, cl2chan)) {