X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserverconfig.c;h=5aaec48955776bd5b3eaf0a85ef29d6d2e7fa163;hb=90b680ff05ea4a658865085e7be524854d5861e2;hp=ecc35e2fa799ca880a0c7ef696b60362246d1933;hpb=497c9f7c515609bf22606494ca4a48f0677acf6f;p=silc.git diff --git a/apps/silcd/serverconfig.c b/apps/silcd/serverconfig.c index ecc35e2f..5aaec489 100644 --- a/apps/silcd/serverconfig.c +++ b/apps/silcd/serverconfig.c @@ -951,22 +951,27 @@ int silc_server_config_parse_lines(SilcServerConfig config, silc_free(tmp); } - /* Check whether this connection is backup router connection */ - ret = silc_config_get_token(line, &tmp); - if (ret != -1) { - config->routers->backup_router = atoi(tmp); - if (config->routers->backup_router != 0) - config->routers->backup_router = TRUE; - silc_free(tmp); - } - - /* Check whether this backup is local (in cell) or remote (other cell) */ - ret = silc_config_get_token(line, &tmp); - if (ret != -1) { - config->routers->backup_local = atoi(tmp); - if (config->routers->backup_local != 0) - config->routers->backup_local = TRUE; - silc_free(tmp); + /* Get backup replace IP */ + ret = silc_config_get_token(line, &config->routers->backup_replace_ip); + if (ret != -1) + config->routers->backup_router = TRUE; + + if (config->routers->backup_router) { + /* Get backup replace port */ + ret = silc_config_get_token(line, &tmp); + if (ret != -1) { + config->routers->backup_replace_port = atoi(tmp); + silc_free(tmp); + } + + /* Check whether the backup connection is local */ + ret = silc_config_get_token(line, &tmp); + if (ret != -1) { + config->routers->backup_local = atoi(tmp); + if (config->routers->backup_local != 0) + config->routers->backup_local = TRUE; + silc_free(tmp); + } } check = TRUE;