mirror of
https://github.com/osmarks/ngircd.git
synced 2024-12-12 09:50:29 +00:00
Conn_SyncServerStruct(): test all connections; and work case insensitive
Fix synchronization of established connections and configured server structures after a configuration update: - Not only test servers that already have a connection, but also check and update configured servers to which a new connection is beeing established (SERVER_WAIT state). - And do the server name comparision case-insensitive.
This commit is contained in:
parent
8d68fe3f86
commit
6349ec8bb3
@ -1139,32 +1139,32 @@ Conn_CountAccepted(void)
|
||||
} /* 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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user