]> arthur.barton.de Git - ngircd.git/commitdiff
Fix secret channel information leak
authorAli Shemiran <ashemira@ucsd.edu>
Fri, 9 May 2008 19:52:54 +0000 (21:52 +0200)
committerFlorian Westphal <fw@strlen.de>
Fri, 9 May 2008 19:52:54 +0000 (21:52 +0200)
/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]

ChangeLog
src/ngircd/irc-info.c

index 665d2993d12444352ea055a2d31a70b39807c3c5..bc9663c1730355796e98a4262de497e0f155e403 100644 (file)
--- 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)
 
index dbeed978d056cd041525ed398bbb0eb6ece7c96a..a3661f557c3bc3d388bc7cf4c4ea07ec973aa64f 100644 (file)
@@ -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)) {