View Issue Details

IDProjectCategoryView StatusLast Update
0000762unrealircdpublic2003-11-20 19:46
Reporter_SciFi_ Assigned Tocodemastr 
PrioritynormalSeveritytrivialReproducibilityalways
Status closedResolutionfixed 
Summary0000762: /list #chan doesn't work if it's +s, you're not in and netadmin, only if you do /list *chan
Descriptionjoin a chan, set it +s. /list #chan works. join some user and leave the chan. do /list #chan again, it won't work.
But /list *chan will work, and once /list chan worked too.
Additional Information3.2 beta14 (not devel so it may be fixed yet if it really is a bug :)
3rd party modules

Activities

AngryWolf

2003-03-05 13:09

reporter   ~0001754

I did a test, it was successful:

Client A:
/join #test
/mode #test +s

Client B (netadmin):
/list *
(i get all channels including #test)
/list #test
*** Channel Users Topic
*** End of /LIST

AngryWolf

2003-03-06 06:47

reporter   ~0001768

Last edited: 2003-03-06 14:04

Ok, I did some trace... in send_list() there are IsMember() and IsAnOper() checks, so it's handled correctly. But in m_list() near

else  /* Just a normal channel */{    chptr = find_channel(name, NullChn);    if (chptr && ShowChannel(sptr, chptr)) {


Because of the "if" above, nobody can see a +s channel when doing /list #channel.

By the way, I don't understand why to use ShowChannel() twice:

          ShowChannel(sptr,          chptr) ? name : "*",



edited on: 03-06 14:04

codemastr

2003-03-07 22:22

reporter   ~0001805

Because of the "if" above, nobody can see a +s channel when doing /list #channel

Well your "nobody" claim is wrong:

Client A:
/join #test
/mode #test +s
/list #test

Client A can see #test in /list. It is that opers can't see it, not that no one can.

AngryWolf

2003-03-08 05:23

reporter   ~0001809

Okay, you are right, sorry. :) "Nobody who is not in the channel" is better..

codemastr

2003-03-08 17:41

reporter   ~0001813

Fixed in .1674

Issue History

Date Modified Username Field Change
2003-11-20 19:46 syzop Status resolved => closed