X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver.c;h=05deee4b61613878979e263954dff52bc3c73eee;hb=985f57f253454fde2875f3623d76635d90a273cc;hp=0e1cffb084ddac0918c65e38d35bcd17a0e4c0ef;hpb=77bf30377cb863783399080df4d99bb95495102a;p=silc.git diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 0e1cffb0..05deee4b 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -767,6 +767,7 @@ SilcBool silc_server_init(SilcServer server) SilcNetListener listener; SilcUInt16 *port; char **ip; + char *external_ip; SILC_LOG_DEBUG(("Initializing server")); @@ -870,8 +871,11 @@ SilcBool silc_server_init(SilcServer server) /* Create a Server ID for the server. */ port = silc_net_listener_get_port(listener, NULL); ip = silc_net_listener_get_ip(listener, NULL); - silc_id_create_server_id(server->config->server_info->primary->public_ip ? - server->config->server_info->primary->public_ip : + external_ip = server->config->server_info->external_ip ? + server->config->server_info->external_ip : + server->config->server_info->primary->public_ip; + silc_id_create_server_id(external_ip ? + external_ip : ip[0], port[0], server->rng, &id); if (!id) goto err;