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++) {
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 */
|| 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);