1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
if (points != 1)
return 1;
strcpy(host, make_user_host(cname, chost));
strcpy(host2, make_user_host(cname, cip));
if (((lp->type & TKL_KILL) || (lp->type & TKL_ZAP)) && !(lp->type & TKL_GLOBAL))
match_type = CONF_EXCEPT_BAN;
else
match_type = CONF_EXCEPT_TKL;
for (excepts = conf_except; excepts; excepts = (ConfigItem_except *)excepts->next) {
if (excepts->flag.type != match_type || (match_type == CONF_EXCEPT_TKL &&
excepts->type != lp->type))
continue;
if (excepts->netmask)
{
if (match_ip(cptr->ip, host2, excepts->mask, excepts->netmask))
return 1;
} else
if (!match(excepts->mask, host) || !match(excepts->mask, host2))
return 1;
}
for (tmphook = Hooks[HOOKTYPE_TKL_EXCEPT]; tmphook; tmphook = tmphook->next)
if (tmphook->func.intfunc(cptr, lp) > 0)
return 1;
if ((lp->type & TKL_KILL) && (xx != 2))
{
if (lp->type & TKL_GLOBAL)
{
ircstp->is_ref++;
if (GLINE_ADDRESS)
sendto_one(cptr, ":%s NOTICE %s :*** You are %s from %s (%s)"
" Email %s for more information.",
me.name, cptr->name,
(lp->expire_at ? "banned" : "permanently banned"),
ircnetwork, lp->reason, GLINE_ADDRESS);
else
sendto_one(cptr, ":%s NOTICE %s :*** You are %s from %s (%s)",
me.name, cptr->name,
(lp->expire_at ? "banned" : "permanently banned"),
ircnetwork, lp->reason);
ircsprintf(msge, "G-lined: %s", //< (C'est ici que je voudrai ajouter le Expire)
lp->reason);
return (exit_client(cptr, cptr, &me, msge));
} |