View Issue Details

IDProjectCategoryView StatusLast Update
0002233unrealircdpublic2006-04-09 15:18
Reporteraquanight Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformX86OSWindowsOS VersionXP Pro SP2
Product Version3.2.2 
Fixed in Version3.2.5 
Summary0002233: 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?
TagsNo tags attached.
3rd party modules

Relationships

child of 0002748 closedsyzop 3.2.5 Release 

Activities

syzop

2004-12-11 11:55

administrator   ~0008601

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).

White_Magic

2004-12-11 15:06

reporter   ~0008605

- "-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

aquanight

2004-12-11 15:25

reporter   ~0008608

... 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? :)

syzop

2004-12-11 15:41

administrator   ~0008611

Good :).
I suppose we should use another numeric however ;).

syzop

2006-01-16 16:14

administrator   ~0010970

- 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

syzop

2006-04-09 13:29

administrator   ~0011493

English question...
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)
or..
...in order to be able to change....
or...
Voice (+v) or higher is required in order to change....
or..
something else ;p

aquanight

2006-04-09 14:45

reporter   ~0011498

3rd one sounds good

or if you want something short:

You need a voice (+v) to change the topic on %s

syzop

2006-04-09 15:18

administrator   ~0011499

Ok, thanks :P. [I chose nr 3]

This feature (block non-voice if +m-t) is now in cvs, .484.

Issue History

Date Modified Username Field Change
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