mirror of
https://github.com/osmarks/ngircd.git
synced 2025-03-06 09:28:09 +00:00
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.
This commit is contained in:
parent
5cf5ba31eb
commit
12cd554af1
@ -12,6 +12,8 @@
|
|||||||
|
|
||||||
ngIRCd-dev
|
ngIRCd-dev
|
||||||
|
|
||||||
|
- Fix Bug: 85: "WHO #SecretChannel" that user is not a member of now returns
|
||||||
|
proper RPL_ENDOFWHO_MSG instead of nothing. (Ali Shemiran)
|
||||||
- Implemented IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions
|
- Implemented IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions
|
||||||
to be even more RFC-compliant. Closes bug 74.
|
to be even more RFC-compliant. Closes bug 74.
|
||||||
- Fixed Bug 75: KICK now handles comma-delimited lists.
|
- Fixed Bug 75: KICK now handles comma-delimited lists.
|
||||||
|
@ -738,7 +738,7 @@ IRC_Send_WHO(CLIENT *Client, CHANNEL *Chan, bool OnlyOps)
|
|||||||
|
|
||||||
/* Secret channel? */
|
/* Secret channel? */
|
||||||
if (!is_member && strchr(Channel_Modes(Chan), 's'))
|
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);
|
cl2chan = Channel_FirstMember(Chan);
|
||||||
for (; cl2chan ; cl2chan = Channel_NextMember(Chan, cl2chan)) {
|
for (; cl2chan ; cl2chan = Channel_NextMember(Chan, cl2chan)) {
|
||||||
|
@ -29,4 +29,9 @@
|
|||||||
Modes = t
|
Modes = t
|
||||||
Topic = the topic
|
Topic = the topic
|
||||||
|
|
||||||
|
[CHANNEL]
|
||||||
|
Name = #SecretChannel
|
||||||
|
Modes = s
|
||||||
|
Topic = A secret Channel
|
||||||
|
|
||||||
# -eof-
|
# -eof-
|
||||||
|
@ -152,6 +152,16 @@ expect {
|
|||||||
timeout { exit 1 }
|
timeout { exit 1 }
|
||||||
":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name"
|
":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"
|
send "quit\r"
|
||||||
expect {
|
expect {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user