#define MAX_COMMANDS 3
#define MAX_COMMANDS_SERVER 10
+#define MAX_COMMANDS_SERVICE MAX_COMMANDS_SERVER
static bool Handle_Write PARAMS(( CONN_ID Idx ));
identsock = new_sock;
#ifdef IDENTAUTH
- if (Conf_NoIdent)
+ if (!Conf_Ident)
identsock = -1;
#endif
- if (!Conf_NoDNS)
+ if (Conf_DNS)
Resolve_Addr(&My_Connections[new_sock].proc_stat, &new_addr,
identsock, cb_Read_Resolver_Result);
/* Look at the data in the (read-) buffer of this connection */
My_Connections[Idx].bps += Handle_Buffer(Idx);
if (Client_Type(c) != CLIENT_SERVER
+ && Client_Type(c) != CLIENT_UNKNOWNSERVER
+ && Client_Type(c) != CLIENT_SERVICE
&& My_Connections[Idx].bps >= maxbps) {
LogDebug("Throttling connection %d: BPS exceeded! (%u >= %u)",
Idx, My_Connections[Idx].bps, maxbps);
/**
* Handle all data in the connection read-buffer.
* Data is processed until no complete command is left in the read buffer,
- * or MAX_COMMANDS[_SERVER] commands were processed.
+ * or MAX_COMMANDS[_SERVER|_SERVICE] commands were processed.
* When a fatal error occurs, the connection is shut down.
* @param Idx Index of the connection.
* @return number of bytes processed.
/* Servers do get special command limits, so they can process
* all the messages that are required while peering. */
- if (Client_Type(c) == CLIENT_SERVER)
- maxcmd = MAX_COMMANDS_SERVER;
+ switch (Client_Type(c)) {
+ case CLIENT_SERVER:
+ maxcmd = MAX_COMMANDS_SERVER; break;
+ case CLIENT_SERVICE:
+ maxcmd = MAX_COMMANDS_SERVICE; break;
+ }
starttime = time(NULL);
for (i=0; i < maxcmd; i++) {