Do not replace the primary itself backup is accidentaly found
authorPekka Riikonen <priikone@silcnet.org>
Fri, 28 Jun 2002 06:39:58 +0000 (06:39 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 28 Jun 2002 06:39:58 +0000 (06:39 +0000)
by some other signinoff server with same IP.

apps/silcd/server.c

index 4abb18cb201fd6579ec9f6518016399f9b1e512e..fb7db9d155c8a75ade7bdee383a76cf10ea77b63 100644 (file)
@@ -2976,6 +2976,11 @@ void silc_server_free_sock_user_data(SilcServer server,
       if (user_data->id)
        backup_router = silc_server_backup_get(server, user_data->id);
 
+      if (!server->backup_router && server->server_type == SILC_ROUTER &&
+         backup_router == server->id_entry &&
+         sock->type != SILC_SOCKET_TYPE_ROUTER)
+       backup_router = NULL;
+
       /* If this was our primary router connection then we're lost to
         the outside world. */
       if (server->router == user_data) {