X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Fsilcd%2Fserver_backup.c;h=6b3d876a8e74999f6cf0c7be9696d10614773128;hp=423710f9330b299dc48d7ddad3282a0132e39ffa;hb=d47a87b03b846e2333ef57b2c0d81f1644992964;hpb=60edfddecb2efc2b0da70fd79b24ea7207468274 diff --git a/apps/silcd/server_backup.c b/apps/silcd/server_backup.c index 423710f9..6b3d876a 100644 --- a/apps/silcd/server_backup.c +++ b/apps/silcd/server_backup.c @@ -90,8 +90,8 @@ void silc_server_backup_add(SilcServer server, SilcServerEntry backup_server, server->backup->servers[i].local = local; memset(server->backup->servers[i].ip.data, 0, sizeof(server->backup->servers[i].ip.data)); - silc_net_addr2bin_ne(ip, server->backup->servers[i].ip.data, - sizeof(server->backup->servers[i].ip.data)); + silc_net_addr2bin(ip, server->backup->servers[i].ip.data, + sizeof(server->backup->servers[i].ip.data)); //server->backup->servers[i].port = port; return; } @@ -105,8 +105,8 @@ void silc_server_backup_add(SilcServer server, SilcServerEntry backup_server, server->backup->servers[i].local = local; memset(server->backup->servers[i].ip.data, 0, sizeof(server->backup->servers[i].ip.data)); - silc_net_addr2bin_ne(ip, server->backup->servers[i].ip.data, - sizeof(server->backup->servers[i].ip.data)); + silc_net_addr2bin(ip, server->backup->servers[i].ip.data, + sizeof(server->backup->servers[i].ip.data)); //server->backup->servers[i].port = server_id->port; server->backup->servers_count++; } @@ -524,7 +524,7 @@ SILC_TASK_CALLBACK(silc_server_backup_connect_to_router) sconn->remote_port)); /* Connect to remote host */ - sock = silc_net_create_connection(server->config->listen_port->local_ip, + sock = silc_net_create_connection(server->config->server_info->server_ip, sconn->remote_port, sconn->remote_host); if (sock < 0) { @@ -867,7 +867,7 @@ SILC_TASK_CALLBACK_GLOBAL(silc_server_protocol_backup) protocol->state++; } else { /* Responder of the protocol. */ - SilcServerConfigSectionServerConnection *primary; + SilcServerConfigSectionRouter *primary; /* We should have received START or START_GLOBAL packet */ if (ctx->type != SILC_SERVER_BACKUP_START && @@ -987,6 +987,9 @@ SILC_TASK_CALLBACK_GLOBAL(silc_server_protocol_backup) server->router); silc_server_update_clients_by_server(server, ctx->sock->user_data, server->router, TRUE, FALSE); + if (server->server_type == SILC_SERVER) + silc_server_update_channels_by_server(server, ctx->sock->user_data, + server->router); packet = silc_buffer_alloc(2); silc_buffer_pull_tail(packet, SILC_BUFFER_END(packet)); @@ -1125,7 +1128,9 @@ SILC_TASK_CALLBACK_GLOBAL(silc_server_protocol_backup) silc_server_update_servers_by_server(server, backup_router, router); silc_server_update_clients_by_server(server, backup_router, router, TRUE, FALSE); - silc_server_backup_replaced_del(server, backup_router); + if (server->server_type == SILC_SERVER) + silc_server_update_channels_by_server(server, backup_router, router); + silc_server_backup_replaced_del(server, backup_router); silc_server_backup_add(server, backup_router, ctx->sock->ip, ctx->sock->port, backup_router->server_type != SILC_ROUTER ?