[IRCServices] Kick war with ChanServ, for the 135175631861th time..

Robin Burchell robin at en2no.com
Sat Jan 5 16:05:56 PST 2008


No +I masks, three +e masks are set, neither of which match me..

#helpers *!*@herring.chatspike.net set by Om (Sat Nov 03 23:13:31)
#helpers *!*@helper.chatspike.net set by Om (Sat Nov 03 23:13:27)
#helpers *!*@tortoisegod.chatspike.net set by Om (Sat Nov 03 23:13:21)
#helpers End of Channel Exception List
-
#helpers End of Channel Invite Exception List

w00t is w00t at globop.chatspike.net * Master of all trades; jack of none
<- being me.

Explicit invite - (as in /invite?) - aren't used on that channel. It's
also perhaps worthy of note that /invite only overrides ban on some
software.

I imagine the problem was caused as some IRCds will propegate the ban
anyway (no duplicates checking) from a server to server link, so I
guess that could be construed as a problem of sorts, though not a
major one.

Given the infrequency of this problem, I don't mind waiting until the
list archives are back up for you to check, by all means. :)

On Jan 5, 2008 11:52 PM, Andrew Church <achurch at achurch.org> wrote:
> >I understand it must be frustrating to have an issue like this that's
> >so hard to track down, but it is equally frustrating to get bit in the
> >ass by it. Isn't it wise to assume that if they are joining an
> >existing channel that a ban matching them doesn't exist anyway
> >(otherwise how are they joining?)
>
> +e, +I, explicit INVITE, possibly other methods.  Originally, I didn't
> bother checking for the ban, but apparently it caused a problem, because
> I added the check in 4.5pre0:
>
> 2001/01/11      Fixed duplicate adding of bans when auto-kicking a user
>                     from a channel.  Reported by James <daemus at evilcode.com>
> --- chanserv.c  11 Jan 2001 00:03:56 -0000      1.10
> +++ chanserv.c  11 Jan 2001 04:29:13 -0000      1.11
> @@ -670,10 +670,13 @@
>  #else
>      }
>  #endif
> -    av[1] = "+b";
> -    av[2] = mask;
> -    send_cmd(s_ChanServ, "MODE %s +b %s %lu", chan, mask, time(NULL));
> -    do_cmode(s_ChanServ, 3, av);
> +    /* Apparently invites can get around bans, so check for ban first */
> +    if (!chan_has_ban(mask)) {
> +       av[1] = "+b";
> +       av[2] = mask;
> +       send_cmd(s_ChanServ, "MODE %s +b %s %lu", chan, mask, time(NULL));
> +       do_cmode(s_ChanServ, 3, av);
> +    }
>      free(mask);
>      send_cmd(s_ChanServ, "KICK %s %s :%s", chan, user->nick, reason);
>      if (stay) {
>
> The list archives are down at the moment, so I can't check exactly what
> the problem was, whether it was a serious issue or just cosmetic; I'm
> hesitant to remove the check without knowing more.  (Of course, you're
> welcome to try removing it yourself and seeing what happens.)
>
>
>   --Andrew Church
>     achurch at achurch.org
>     http://achurch.org/
>
> ------------------------------------------------------------------
> To unsubscribe or change your subscription options, visit:
> http://lists.ircservices.za.net/mailman/listinfo/ircservices
>



-- 
Robin Burchell
mob: +447702671419
msn: msn at viroteck.net
web: http://www.en2no.com