cb_listen(int sock, short irrelevant)
{
(void) irrelevant;
- if (New_Connection( sock ) >= 0)
- NumConnections++;
- LogDebug("Total number of connections now %ld.", NumConnections);
+ (void) New_Connection(sock);
}
fd = New_Connection(sock);
if (fd < 0)
return;
-
- NumConnections++;
- LogDebug("Total number of connections now %ld.", NumConnections);
io_event_setcb(My_Connections[fd].sock, cb_clientserver_ssl);
}
#endif
* DNS and IDENT resolver subprocess using the "penalty" mechanism.
* If there are results earlier, the delay is aborted. */
Conn_SetPenalty(new_sock, 4);
+
+ NumConnections++;
+ LogDebug("Total number of connections now %ld.", NumConnections);
return new_sock;
} /* New_Connection */
}
/* Set type of service (TOS) */
-#if defined(IP_TOS) && defined(IPTOS_LOWDELAY)
+#if defined(IPPROTO_IP) && defined(IPTOS_LOWDELAY)
value = IPTOS_LOWDELAY;
- LogDebug("Setting option IP_TOS on socket %d to IPTOS_LOWDELAY (%d).", Sock, value );
- if( setsockopt( Sock, SOL_IP, IP_TOS, &value, (socklen_t)sizeof( value )) != 0 )
- {
- Log( LOG_ERR, "Can't set socket option IP_TOS: %s!", strerror( errno ));
+ LogDebug("Setting IP_TOS on socket %d to IPTOS_LOWDELAY.", Sock);
+ if (setsockopt(Sock, IPPROTO_IP, IP_TOS, &value,
+ (socklen_t) sizeof(value))) {
+ Log(LOG_ERR, "Can't set socket option IP_TOS: %s!",
+ strerror(errno));
/* ignore this error */
}
#endif
c = Conn_GetClient( i );
assert( c != NULL );
- /* Only update client information of unregistered clients */
- if( Client_Type( c ) == CLIENT_UNKNOWN ) {
- strlcpy(My_Connections[i].host, readbuf, sizeof( My_Connections[i].host));
- Client_SetHostname( c, readbuf);
+ /* Only update client information of unregistered clients.
+ * Note: user commands (e. g. WEBIRC) are always read _after_ reading
+ * the resolver results, so we don't have to worry to override settings
+ * from these commands here. */
+ if(Client_Type(c) == CLIENT_UNKNOWN) {
+ strlcpy(My_Connections[i].host, readbuf,
+ sizeof(My_Connections[i].host));
+ Client_SetHostname(c, readbuf);
#ifdef IDENTAUTH
++identptr;
if (*identptr) {