projects
/
silc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3f99a9a
)
updates.
author
Pekka Riikonen
<priikone@silcnet.org>
Fri, 29 Mar 2002 08:45:36 +0000
(08:45 +0000)
committer
Pekka Riikonen
<priikone@silcnet.org>
Fri, 29 Mar 2002 08:45:36 +0000
(08:45 +0000)
apps/silcd/server.c
patch
|
blob
|
history
diff --git
a/apps/silcd/server.c
b/apps/silcd/server.c
index 6db5a87c83c61f3ced65123fdc069f90870c9609..579d85ba091b123fe430778e82d2533d5b4eb6ba 100644
(file)
--- a/
apps/silcd/server.c
+++ b/
apps/silcd/server.c
@@
-148,6
+148,10
@@
bool silc_server_init(SilcServer server)
SILC_LOG_DEBUG(("Initializing server"));
SILC_LOG_DEBUG(("Initializing server"));
+ /* Take config object for us */
+ silc_server_config_ref(&server->config_ref, server->config,
+ server->config);
+
/* Steal public and private key from the config object */
server->public_key = server->config->server_info->public_key;
server->private_key = server->config->server_info->private_key;
/* Steal public and private key from the config object */
server->public_key = server->config->server_info->public_key;
server->private_key = server->config->server_info->private_key;
@@
-355,6
+359,12
@@
bool silc_server_rehash(SilcServer server)
SILC_LOG_INFO(("Rehashing server"));
SILC_LOG_INFO(("Rehashing server"));
+ /* Our old config is gone now. We'll unreference our reference made in
+ silc_server_init and then destroy it since we are destroying it
+ underneath the application (layer which called silc_server_init). */
+ silc_server_config_unref(&server->config_ref);
+ silc_server_config_destroy(server->config);
+
/* Reset the logging system */
silc_log_quick = TRUE;
silc_log_flush_all();
/* Reset the logging system */
silc_log_quick = TRUE;
silc_log_flush_all();
@@
-366,10
+376,7
@@
bool silc_server_rehash(SilcServer server)
return FALSE;
}
return FALSE;
}
- /* Config file parsing went fine, so our old config is gone now. We
- unreference the basic pointer and it should be destroyed as soon
- as all other references are released. */
- silc_server_config_unref(&server->config_ref);
+ /* Take new config context */
server->config = newconfig;
silc_server_config_ref(&server->config_ref, server->config, server->config);
server->config = newconfig;
silc_server_config_ref(&server->config_ref, server->config, server->config);