diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-info.c | 2 | ||||
| -rw-r--r-- | src/testsuite/ngircd-test.conf | 5 | ||||
| -rw-r--r-- | src/testsuite/who-test.e | 10 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index 93c43f6a..86e1ace2 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -738,7 +738,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)) { diff --git a/src/testsuite/ngircd-test.conf b/src/testsuite/ngircd-test.conf index eeace761..4d918e0e 100644 --- a/src/testsuite/ngircd-test.conf +++ b/src/testsuite/ngircd-test.conf @@ -28,5 +28,10 @@ Name = #TopicChannel Modes = t Topic = the topic + +[CHANNEL] + Name = #SecretChannel + Modes = s + Topic = A secret Channel # -eof- diff --git a/src/testsuite/who-test.e b/src/testsuite/who-test.e index aafa7956..2e148447 100644 --- a/src/testsuite/who-test.e +++ b/src/testsuite/who-test.e @@ -152,6 +152,16 @@ expect { timeout { exit 1 } ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name" } +expect { + timeout { exit 1 } + "315" +} + +send "who #SecretChannel\r" +expect { + timeout { exit 1 } + "315" +} send "quit\r" expect { |