commit 2e0c62df915694ebdc1a530cae1b802db2ad9ccc from: Ali Shemiran via: Florian Westphal date: Fri May 09 19:52:54 2008 UTC 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] commit - c5ba599140903976c483097e90968a1a270c8e7c commit + 2e0c62df915694ebdc1a530cae1b802db2ad9ccc blob - 665d2993d12444352ea055a2d31a70b39807c3c5 blob + bc9663c1730355796e98a4262de497e0f155e403 --- ChangeLog +++ 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) blob - dbeed978d056cd041525ed398bbb0eb6ece7c96a blob + a3661f557c3bc3d388bc7cf4c4ea07ec973aa64f --- src/ngircd/irc-info.c +++ src/ngircd/irc-info.c @@ -718,7 +718,7 @@ IRC_Send_WHO(CLIENT *Client, CHANNEL *Chan, bool OnlyO /* 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)) {