if (ng_ipaddr_af(&Conf_Server[server].dst_addr[0])) {
/* more addresses to try... */
- New_Server(res, &Conf_Server[server].dst_addr[0]);
+ New_Server(server, &Conf_Server[server].dst_addr[0]);
/* connection to dst_addr[0] is now in progress, so
* remove this address... */
Conf_Server[server].dst_addr[0] =
unsigned int created = 0;
char *copy, *listen_addr;
- if (!io_library_init(CONNECTION_POOL)) {
- Log(LOG_EMERG, "Cannot initialize IO routines: %s", strerror(errno));
- return -1;
- }
-
assert(Conf_ListenAddress);
/* can't use Conf_ListenAddress directly, see below */
}
#else
static inline bool
-SSL_WantRead(UNUSED const CONNECTION *c) { return false; }
+SSL_WantRead(UNUSED const CONNECTION *c)
+{ return false; }
static inline bool
-SSL_WantWrite(UNUSED const CONNECTION *c) { return false; }
+SSL_WantWrite(UNUSED const CONNECTION *c)
+{ return false; }
#endif
Rendezvous_Handler();
#endif
- /* Should the configuration be reloaded? */
- if (NGIRCd_SignalRehash)
- NGIRCd_Rehash();
-
/* Check configured servers and established links */
Check_Servers();
Check_Connections();
} /* Conn_CountAccepted */
+/**
+ * Synchronize established connections and configured server structures
+ * after a configuration update and store the correct connection IDs, if any.
+ */
GLOBAL void
-Conn_SyncServerStruct( void )
+Conn_SyncServerStruct(void)
{
- /* Synchronize server structures (connection IDs):
- * connections <-> configuration */
-
CLIENT *client;
CONN_ID i;
int c;
- for( i = 0; i < Pool_Size; i++ ) {
- /* Established connection? */
- if (My_Connections[i].sock < 0)
+ for (i = 0; i < Pool_Size; i++) {
+ if (My_Connections[i].sock == NONE)
continue;
- /* Server connection? */
- client = Conn_GetClient( i );
- if(( ! client ) || ( Client_Type( client ) != CLIENT_SERVER )) continue;
+ /* Server link? */
+ client = Conn_GetClient(i);
+ if (!client || Client_Type(client) != CLIENT_SERVER)
+ continue;
- for( c = 0; c < MAX_SERVERS; c++ )
- {
+ for (c = 0; c < MAX_SERVERS; c++) {
/* Configured server? */
- if( ! Conf_Server[c].host[0] ) continue;
+ if (!Conf_Server[c].host[0])
+ continue;
- /* Duplicate? */
- if( strcmp( Conf_Server[c].name, Client_ID( client )) == 0 )
+ if (strcasecmp(Conf_Server[c].name, Client_ID(client)) == 0)
Conf_Server[c].conn_id = i;
}
}
#endif
+#ifdef DEBUG
+
+GLOBAL void
+Conn_DebugDump(void)
+{
+ int i;
+
+ Log(LOG_DEBUG, "Connection status:");
+ for (i = 0; i < Pool_Size; i++) {
+ if (My_Connections[i].sock == NONE)
+ continue;
+ Log(LOG_DEBUG,
+ " - %d: host=%s, lastdata=%ld, lastping=%ld, delaytime=%ld, flag=%d, options=%d, bps=%d, client=%s",
+ My_Connections[i].sock, My_Connections[i].host,
+ My_Connections[i].lastdata, My_Connections[i].lastping,
+ My_Connections[i].delaytime, My_Connections[i].flag,
+ My_Connections[i].options, My_Connections[i].bps,
+ My_Connections[i].client ? Client_ID(My_Connections[i].client) : "-");
+ }
+} /* Conn_DumpClients */
+
+#endif
+
+
/* -eof- */