X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconn.c;h=62561544866413f5abb1534da27caac1e2aa2218;hp=77c8cd8a04ae7c6dca8958663326b52a34053180;hb=ffad2da835e26a1a457d4f4a16acf6797d4cc71e;hpb=35f1db5f28245579efbbb06eed6eaf1a3d6d84bc diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 77c8cd8a..62561544 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -1693,7 +1693,12 @@ Handle_Buffer(CONN_ID Idx) maxcmd *= 5; break; case CLIENT_SERVICE: - maxcmd = MAX_COMMANDS_SERVICE; break; + maxcmd = MAX_COMMANDS_SERVICE; + break; + case CLIENT_USER: + if (Client_HasMode(c, 'F')) + maxcmd = MAX_COMMANDS_SERVICE; + break; } for (i=0; i < maxcmd; i++) { @@ -1899,7 +1904,7 @@ Check_Servers(void) for (i = 0; i < MAX_SERVERS; i++) { if (Conf_Server[i].conn_id != NONE) continue; /* Already establishing or connected */ - if (!Conf_Server[i].host[0] || !Conf_Server[i].port > 0) + if (!Conf_Server[i].host[0] || Conf_Server[i].port <= 0) continue; /* No host and/or port configured */ if (Conf_Server[i].flags & CONF_SFLAG_DISABLED) continue; /* Disabled configuration entry */ @@ -2427,6 +2432,10 @@ Throttle_Connection(const CONN_ID Idx, CLIENT *Client, const int Reason, || Client_Type(Client) == CLIENT_SERVICE) return; + /* Don't throttle clients with user mode 'F' set */ + if (Client_HasMode(Client, 'F')) + return; + LogDebug("Throttling connection %d: code %d, value %d!", Idx, Reason, Value); Conn_SetPenalty(Idx, 1);