View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002233||unreal||ircd||public||2004-12-10 18:58||2006-04-09 15:18|
|Platform||X86||OS||Windows||OS Version||XP Pro SP2|
|Fixed in Version||3.2.5|
|Summary||0002233: Banned users can change the topic?|
|Description||[16:34:49] * Now talking in #test|
[16:34:49] * Topic is 'Stealth's topic.'
[16:34:49] * Set by Stealth on Fri Dec 10 16:34:12
[16:34:54] * Mode (Stealth): +b *!*aquanight@*.cpe.cableone.net (aquanight)
[16:35:01] <aquanight> :|
#test You are banned (#test)
[16:35:01] <@Stealth> try it :)
[16:35:04] * Topic (aquanight): MOo.
[16:35:07] * Topic (aquanight): Moo.
[16:35:15] * Topic (aquanight): Heh.
A user that is banned from the channel may change the topic (assuming it is -t). I think that a user that is banned (dunno about ~q "squelched") should not be allowed to change the topic. A couple possible reasons:
- It allows users to get around the "mute effect" of +b... although in the case a full +b, a /kick isn't usually far away (but not always). (In this case, though, one might suggest that non-voice can't /topic when -v+m or ~q... eeeeh probably not :P ).
- A user that is about to get kickbanned could pull off "topic graffiti" between the ban and kick (since it isn't an atomic operatioin).
The question is determining what criteria should be used to decide if this applies... I don't want to suggest a BANCHK_TOPIC since that's a little overkill... but how this would interact with extbans is interesting... I'm thinking:
- Maybe a check similar to is_banned but only checks normal bans (no extbans). (Of course, check normal exempts as well ;P .)
- Run is_banned(BANCHK_JOIN (or BANCHK_MSG if you prefer)), so that ~c: and ~r: can block topic changes as well, but ~q: and ~n: (which are more like "half bans") don't.
BTW, so as to not waste time for "most" channels, don't bother running the check at all if channel is +t (which most are), since (half)ops aren't affected by bans anyway (well, except BANCHK_JOIN, but that's only important when joining and thus, not (half)opped at that time :P ). That way there's minimal performance hit, and -t channels can kickban users without getting "topic graffiti" :) .
|Steps To Reproduce||- Join an empty channel, make sure it's -t.|
- Set the topic to something.
- Have another client join, then ban (but don't kick) it.
- Have that other client change the topic; it works, but the question is... should it?
|Tags||No tags attached.|
|3rd party modules|
I'm not exactly surprised, AFAIK most other ircds don't do this either.. or are you aware of any?
Anyway, to break your proposal a bit up:
- "-t & +m should disallow non-voice to set the topic": I think that's not a bad idea.. I don't know of any channels which use +m-t for certain things, and I suppose it can be some nice added value for most +m-t chans. Feedback is welcome on this.
- "if banned from msg'ing (+q) disallow topic": I don't think so, ~q is explicitly only ment for stopping msgs/notices, it should freely allow the rest: joining, nickchanges.. If a ~q-banned person starts misbehaving he/she should get a real +b anyway.
- Actually I do think a BANCHK_TOPIC should be added, it's clean and I don't see why not (~c/~r are "all-levels"-bans anyway, so yes.. they will affect TOPIC's).
- "-t & +m should disallow non-voice to set the topic": I think that's not
a bad idea.. I don't know of any channels which use +m-t for certain
things, and I suppose it can be some nice added value for most +m-t chans.
Feedback is welcome on this.
- "if banned from msg'ing (+q) disallow topic": I don't think so, ~q is
explicitly only ment for stopping msgs/notices, it should freely allow the
rest: joining, nickchanges.. If a ~q-banned person starts misbehaving
he/she should get a real +b anyway.
hmm, isnt +m and +b ~q doing the exact same thing? - basically stopping msgs/notices, i think -t+m should stop them, AND +tb >whateva< should also stop them, all extended bans should as well,
I do however disagree on voices being able to set the topic in a -t +m situation, many channels use auto voice, and sure yeah i know most have +t set neway but still. if everyone is voiced its the same as if they werent, except they all have a voice.
dumb question time, why can non ops set a topic, what purpose can it stand? i dont see its use
without services the first person to join the room is a op, which can allow them to change the topic, if they lose it but cant get it back for wotever reason, least if +t is off, a bad guy cant come in and set f*cked up topics to annoy them coz they cant do anything about it
... if voices weren't allowed to /topic in a -t+m then what would be the point of it being -t anyway? Not all +m channels use autovoice, and those that do use it probably have some requirement to get voice first (like #unreal-support's quiz).
The idea of setting -t is so that nonops can change the topic for whatever reason. I just don't think it should still be a "free reign" type thing without some ability to control it in case of "topic flooding" (and +t is impossible due to mlock perhaps).
Also +m and +b ~q are not the same. +m is a flood control/policy mode. +b ~q is a ban. They are very different.
> I'm not exactly surprised, AFAIK most other ircds don't do this either.. or are you aware of any?
IRCu does this (just played with it today). In fact it applies both +b and +m to /topic changes (except when voice/op) and returns the 404 "Cannot send to channel" numeric :) .
Anyway, I think of ~q and ~n as more like "Half bans" so yes they probably shouldn't have anything to do with topic :) ...
Also, to -t+m, there's also the question of -t+M and if unregistered+unvoiced users should be allowed to set the topic? :)
I suppose we should use another numeric however ;).
- Made it so banned users cannot change the topic, suggested by aquanight and Stealth (0002233).
Using simple BANCHK_MSG, and using the CANNOTDOCOMMAND numeric nicely:
TOPIC You cannot change the topic on #test while being banned
(as you can see I changed my mind on 2 points of >1 year ago)
I'll keep the bugreport for +m-t... though it would have been better if it was a seperate one, since now it a bit chaotic :P
What sentence is best? (or any variations thereof you can think of)
You need at least voice (+v) in order to change the topic on %s (channel is +m)
...in order to be able to change....
Voice (+v) or higher is required in order to change....
something else ;p
3rd one sounds good
or if you want something short:
You need a voice (+v) to change the topic on %s
Ok, thanks :P. [I chose nr 3]
This feature (block non-voice if +m-t) is now in cvs, .484.
|2004-12-10 18:58||aquanight||New Issue|
|2004-12-11 11:55||syzop||Note Added: 0008601|
|2004-12-11 15:06||White_Magic||Note Added: 0008605|
|2004-12-11 15:25||aquanight||Note Added: 0008608|
|2004-12-11 15:41||syzop||Note Added: 0008611|
|2004-12-14 20:07||syzop||Status||new => acknowledged|
|2006-01-16 16:14||syzop||Note Added: 0010970|
|2006-01-16 16:15||syzop||Relationship added||child of 0002748|
|2006-04-09 13:29||syzop||Note Added: 0011493|
|2006-04-09 14:45||aquanight||Note Added: 0011498|
|2006-04-09 15:18||syzop||Status||acknowledged => resolved|
|2006-04-09 15:18||syzop||Fixed in Version||=> 3.2.5|
|2006-04-09 15:18||syzop||Resolution||open => fixed|
|2006-04-09 15:18||syzop||Assigned To||=> syzop|
|2006-04-09 15:18||syzop||Note Added: 0011499|