Ticket #27 (closed defect: fixed)
Enforcement of Non-matching Bans
|Reported by:||pseudo||Owned by:|
[2:00:21pm] * Calle (~hagelien@…) has joined #eggdrop
[2:00:22pm] * Eggdrop sets mode: +b *!hagelien@*.bb.online.no
[2:00:22pm] * Calle was kicked by Anthology (Banned: 1 day)
The problem here is that *!hagelien@*.bb.online.no is not a valid mask for
Calle!~hagelien@…. The user has a ~ while the ban does not.
This may not seem to be a bad thing until you realize that the user remains
not-banned. If the user's client is configured to rejoin the channel when
kicked, it will succeed. Worse yet, you'll end up with a kick-flood.
You can imagine the problems this could cause if if was a bunch of flooders,
rather than just an annoying user.
Comment #1 From Darko Ilic 2004-11-16 13:50:35
If the reason for existance of strict-hosts is really only to cater for single
banmask to cover both idented and unidented connection from the same user, then
we should look into either rewritting code from scratch or at least modifying it
in the way that just before MODE massage is sent to server, we prefix the
username with the ident char but only if the person that triggered ban has ident
char at that momment.
Comment #2 From Ronny Vårdal 2004-11-16 14:19:34
Confirmed by testing.
Bot set a *!ident@*.host ban when I was idented to server, and a *!*ident@*.host
when I was not.. With the *!~ident@* host I was able to rejoin again, and again,
and again as I was only kicked (server didn't see a match with ban on *!ident@*.
20:36:28 :: Clannfear (daske) ~moja@… has joined #eggdrop
20:36:28 :: Mode: [+b *!*moja@*.62-97-218.bkkb.no] by Eggdrop on #eggdrop
20:36:28 :: Kick: Clannfear by Eggdrop from #eggdrop [Banned: 1 day ban for
using colour/bold/etc on a message when leaving #eggdrop]
below is the *!ident@ ban... with rejoining.
20:40:24 :: Quit: testting (ting@…) [Quit: Colour me bad]
20:41:03 :: Mode: [+b *email@example.com] by Eggdrop on #eggdrop
20:41:03 :: Kick: testting by Eggdrop from #eggdrop [Banned: 1 day ban for using
colors on a message when leaving #eggdrop]
21:15:22 :: testting (Ronny Vårdal) ~ting@… has joined #eggdrop
21:15:22 :: Kick: testting by Eggdrop from #eggdrop [You are banned]
21:15:28 :: testting (Ronny Vårdal) ~ting@… has joined #eggdrop
21:15:28 :: Kick: testting by PostIt? from #eggdrop [You are banned]
21:15:31 :: testting (Ronny Vårdal) ~ting@… has joined #eggdrop
21:15:31 :: Kick: testting by PostIt? from #eggdrop [You are banned]
21:15:32 @<BarkerJr?> hehe
21:15:33 +<ting> Cute
Comment #3 From Will Buckner 2004-12-02 15:03:47
I'll look into this one. I'm guessing that we're just taking strict-host into
consideration in a place that hosts should always be strict. I personally *HATE*
strict-host, but people objected last time I proposed removing it.
Comment #4 From Will Buckner 2005-07-31 15:17:47 [reply]
I think it should be a simple fix of not checking strict-host when matching
bans. I'll have a look at the code.
Comment #5 From Thomas Sader 2008-06-16 10:05:57
* Bug 467 has been marked as a duplicate of this bug. *
Comment #6 From Rumen Stoyanov 2010-01-10 16:32:59
Fixed. The problem was that fixfrom() modified the string passed to it.