repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 62a07596d6a3a8da206bde8d34edc8b02781d33d:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 62a07596d6a3a8da206bde8d34edc8b02781d33d
Author: DNS 
Date:   Tue Sep 25 12:55:07 2012 +0200

    Allow opers to see secret (+s) channels in LIST command

    As long as 'MorePrivacy' isn't enabled in the configuration file, local
    IRC operators can see secret (+s) channels when using the LIST command.

    Closes bug #136.

diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index 9e88e1bd0031de480a33d3ddfb5b447fed81d013..
index ..72fbdc242f6069cc4758dbda43cb666d2426feca 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -669,7 +669,8 @@ IRC_LIST( CLIENT *Client, REQUEST *Req )
 			if (MatchCaseInsensitive(pattern, Channel_Name(chan))) {
 				/* Gotcha! */
 				if (!strchr(Channel_Modes(chan), 's')
-				    || Channel_IsMemberOf(chan, from)) {
+				    || Channel_IsMemberOf(chan, from)
+				    || (!Conf_MorePrivacy && Client_OperByMe(Client))) {
 					if (IRC_CheckListTooBig(from, count,
 								 MAX_RPL_LIST,
 								 "LIST"))

-----END OF PAGE-----