Module: ngircd.git Branch: master Commit: 3e47bc9af511716bbe388f0a29b5fdbb617cee4c URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=3e47b...
Author: Alexander Barton alex@barton.de Date: Mon Dec 31 21:46:41 2012 +0100
Allow ERROR command on server and service links only
Ignore it and add a penalty time on all other link types.
---
src/ngircd/irc.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c index 63c4813..a678f90 100644 --- a/src/ngircd/irc.c +++ b/src/ngircd/irc.c @@ -81,6 +81,17 @@ IRC_ERROR( CLIENT *Client, REQUEST *Req ) assert( Client != NULL ); assert( Req != NULL );
+ if (Client_Type(Client) != CLIENT_GOTPASS + && Client_Type(Client) != CLIENT_GOTPASS_2813 + && Client_Type(Client) != CLIENT_UNKNOWNSERVER + && Client_Type(Client) != CLIENT_SERVER + && Client_Type(Client) != CLIENT_SERVICE) { + LogDebug("Ignored ERROR command from "%s" ...", + Client_Mask(Client)); + IRC_SetPenalty(Client, 2); + return CONNECTED; + } + if (Req->argc < 1) Log(LOG_NOTICE, "Got ERROR from "%s"!", Client_Mask(Client));