projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Server: always drop privileges, even in foreground mode.
[silc.git]
/
apps
/
silcd
/
silcd.c
diff --git
a/apps/silcd/silcd.c
b/apps/silcd/silcd.c
index 14e3657f968d6fd64e6fdbb4b09caf8f00ea215a..d367328c6578fdb15942f922e108a2fc7525e4de 100644
(file)
--- a/
apps/silcd/silcd.c
+++ b/
apps/silcd/silcd.c
@@
-245,9
+245,7
@@
SILC_TASK_CALLBACK(got_hup)
SILC_TASK_CALLBACK(stop_server)
{
SILC_TASK_CALLBACK(stop_server)
{
- /* Stop scheduler, the program will stop eventually after noticing
- that the scheduler is down. */
- silc_schedule_stop(silcd->schedule);
+ silc_server_stop(silcd);
}
/* Dump server statistics into a file into /tmp directory */
}
/* Dump server statistics into a file into /tmp directory */
@@
-747,15
+745,14
@@
int main(int argc, char **argv)
silc_file_writefile(pidfile, buf, strlen(buf));
}
silc_file_writefile(pidfile, buf, strlen(buf));
}
- silc_server_drop_privs(silcd);
}
}
+ silc_server_drop_privs(silcd);
/* Run the server. When this returns the server has been stopped
and we will exit. */
silc_server_run(silcd);
/* Run the server. When this returns the server has been stopped
and we will exit. */
silc_server_run(silcd);
- /* Stop the server and free it. */
- silc_server_stop(silcd);
+ /* Free server */
silc_server_config_destroy(silcd->config);
silc_server_free(silcd);
silc_server_config_destroy(silcd->config);
silc_server_free(silcd);