Page 1 of 1
Req: protect ulines
Posted: Tue Oct 03, 2006 8:58 pm
by Nico
hi, im need any kill/gline/akill protection for ulines (services and stats cant be killed or glined)
thanks.
Posted: Tue Oct 03, 2006 10:46 pm
by Jobe
Services and stats cant be GLined anyway. Well they can but the GLine is not enforced. As for being killed only NetAdmins can kill them. As far as i can remember.
Posted: Thu Oct 05, 2006 11:33 am
by JanisB
ServicesAdmins can kill them too.
Code from my Services_on_PHP, a.k.a. possible solution for services-killers:
(...)
if ($text[1] == 'KILL') { //RAW: ":John KILL Nick1 :You are so lame ;("
$killer=str_replace(':','',$text[0]);
$nick = $text[2];
$text[3]=substr($text[3],1,strlen($text[3])-1);
unset($text[0],$text[1],$text[2]);
$reason=implode(' ',$text);
if ($nick == 'ChanServ') {
ssend('NICK ChanServ 1 0 '.$GLOBALS['conf']['servicesident'].' '.$GLOBALS['conf']['servicesvhost'].' '.$GLOBALS['conf']['serviceshost'].' 1 +iSqo * :ChanServ!'); //re-init
putlog("CHANSERV KILLED ($reason) by $killer");
ssend(':'.$GLOBALS['conf']['servicesvhost'].' ZLINE 0 '.$nick.' Don\'t kill services'); //punishment
}
(...)
Posted: Sun Oct 08, 2006 3:19 am
by White_Magic
why not add a exception to them?
Posted: Sun Oct 08, 2006 11:54 pm
by JanisB
White_Magic wrote:add a exception
For killing? o_O
Btw, services cannot `akick` themselves :) For who how, but SUX-Services are trying to add kline to all servers, where they are. If you mean really automatic on-connect killing from services path, services are not so stupid to allow adding/killing services.
Posted: Thu Oct 19, 2006 6:06 am
by aquanight
First, as stealth said, *:lines don't need any specific exclusion. When a *:line is added, it's up to each server to enforce it (else, execpt tkl {} would be useless). Since services are a "server" it's up to them to enforce *:lines on their own "clients" (== the service bots). Services simply choose not to do that.
As for killing, have the service bots put themselves +S. This pretty much excludes any use of /kill by anyone short of a netadmin. Most services that properly support unreal do this.
Also, imho, punishing people over killing services is unnecessary. Just reintroduce the bot and be done with it. If an oper tries to DoS by repeatedly killing services, services will win because ulines, being technically servers, typically have higher send/recv buffers than opers, so the oper will flood himself out before he floods services out (even if the service must rejoin the bot to many channels). (And if he manages to somehow trigger "FATAL: introduce_user() loop" then another active op can just /gline him for that, or another active op can just gline him anyway for killflooding.) Plus if you do the +S suggestion, you could just SVSMODE -N / SVSO -N and be done with it that way, since without +N their killing spree is stopped short. Also, sometimes, /kill can be a good way to force a resynchronization, for whatever possible reasons.