X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserverconfig.c;h=0b31048af5093fcc86a32b7cb33f9196555426de;hb=f04171be035820399e0808e882fb981dafa7af7e;hp=b4c264b34d9472bce2211e1dd1c81c73042352ac;hpb=5d934706763832f44166b083079474a036d6154d;p=silc.git diff --git a/apps/silcd/serverconfig.c b/apps/silcd/serverconfig.c index b4c264b3..0b31048a 100644 --- a/apps/silcd/serverconfig.c +++ b/apps/silcd/serverconfig.c @@ -884,6 +884,10 @@ SILC_CONFIG_CALLBACK(fetch_server) goto got_err; } } + else if (!strcmp(name, "versionid")) { + CONFIG_IS_DOUBLE(tmp->version); + tmp->version = strdup((char *) val); + } else if (!strcmp(name, "params")) { CONFIG_IS_DOUBLE(tmp->param); tmp->param = my_find_param(config, (char *) val, line); @@ -902,6 +906,7 @@ SILC_CONFIG_CALLBACK(fetch_server) got_err: silc_free(tmp->host); + silc_free(tmp->version); CONFIG_FREE_AUTH(tmp); silc_free(tmp); config->tmp = NULL; @@ -961,6 +966,10 @@ SILC_CONFIG_CALLBACK(fetch_router) goto got_err; } } + else if (!strcmp(name, "versionid")) { + CONFIG_IS_DOUBLE(tmp->version); + tmp->version = strdup((char *) val); + } else if (!strcmp(name, "params")) { CONFIG_IS_DOUBLE(tmp->param); tmp->param = my_find_param(config, (char *) val, line); @@ -995,6 +1004,7 @@ SILC_CONFIG_CALLBACK(fetch_router) got_err: silc_free(tmp->host); + silc_free(tmp->version); silc_free(tmp->backup_replace_ip); CONFIG_FREE_AUTH(tmp); silc_free(tmp); @@ -1134,6 +1144,7 @@ static const SilcConfigTable table_serverconn[] = { { "host", SILC_CONFIG_ARG_STRE, fetch_server, NULL }, { "passphrase", SILC_CONFIG_ARG_STR, fetch_server, NULL }, { "publickey", SILC_CONFIG_ARG_STR, fetch_server, NULL }, + { "versionid", SILC_CONFIG_ARG_STR, fetch_server, NULL }, { "params", SILC_CONFIG_ARG_STR, fetch_server, NULL }, { "backup", SILC_CONFIG_ARG_TOGGLE, fetch_server, NULL }, { 0, 0, 0, 0 } @@ -1144,6 +1155,7 @@ static const SilcConfigTable table_routerconn[] = { { "port", SILC_CONFIG_ARG_INT, fetch_router, NULL }, { "passphrase", SILC_CONFIG_ARG_STR, fetch_router, NULL }, { "publickey", SILC_CONFIG_ARG_STR, fetch_router, NULL }, + { "versionid", SILC_CONFIG_ARG_STR, fetch_router, NULL }, { "params", SILC_CONFIG_ARG_STR, fetch_router, NULL }, { "initiator", SILC_CONFIG_ARG_TOGGLE, fetch_router, NULL }, { "backuphost", SILC_CONFIG_ARG_STRE, fetch_router, NULL }, @@ -1298,11 +1310,7 @@ void silc_server_config_destroy(SilcServerConfig config) SILC_LOG_DEBUG(("Freeing config context")); - /* Destroy general config stuff */ silc_free(config->module_path); - silc_free(config->param.version_protocol); - silc_free(config->param.version_software); - silc_free(config->param.version_software_vendor); /* Destroy Logging channels */ if (config->logging_info) @@ -1353,15 +1361,8 @@ void silc_server_config_destroy(SilcServerConfig config) silc_free(di->name); silc_free(di); } - SILC_SERVER_CONFIG_LIST_DESTROY(SilcServerConfigConnParams, - config->conn_params) - silc_free(di->name); - silc_free(di->version_protocol); - silc_free(di->version_software); - silc_free(di->version_software_vendor); - silc_free(di); - } - SILC_SERVER_CONFIG_LIST_DESTROY(SilcServerConfigClient, config->clients) + SILC_SERVER_CONFIG_LIST_DESTROY(SilcServerConfigClient, + config->clients) silc_free(di->host); CONFIG_FREE_AUTH(di); silc_free(di); @@ -1381,12 +1382,14 @@ void silc_server_config_destroy(SilcServerConfig config) SILC_SERVER_CONFIG_LIST_DESTROY(SilcServerConfigServer, config->servers) silc_free(di->host); + silc_free(di->version); CONFIG_FREE_AUTH(di); silc_free(di); } SILC_SERVER_CONFIG_LIST_DESTROY(SilcServerConfigRouter, config->routers) silc_free(di->host); + silc_free(di->version); silc_free(di->backup_replace_ip); CONFIG_FREE_AUTH(di); silc_free(di);