From 3e47bc9af511716bbe388f0a29b5fdbb617cee4c Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Mon, 31 Dec 2012 21:46:41 +0100 Subject: [PATCH] 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 63c4813a..a678f904 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));