Reversed setuid() and creation of elogd.pid

SVN revision: 66
This commit is contained in:
2002-06-03 08:12:24 +00:00
parent eae8ab993f
commit 717bac3a75
+27 -25
View File
@@ -6,6 +6,9 @@
Contents: Web server program for Electronic Logbook ELOG
$Log$
Revision 1.28 2002/06/03 08:12:24 midas
Reversed setuid() and creation of elogd.pid
Revision 1.27 2002/06/03 08:07:47 midas
elogd.pid is now created from child
@@ -7480,7 +7483,31 @@ struct timeval timeout;
/* open configuration file */
getcfg("dummy", "dummy", str);
if (daemon)
{
printf("Becoming a daemon...\n");
ss_daemon_init();
}
#ifdef OS_UNIX
/* crate /var/run/elogd.pid file */
{
int pid;
FILE *f;
pid = getpid();
f = fopen("/var/run/elogd.pid", "w");
if (f)
{
fprintf(f, "%d\n", pid);
fclose(f);
}
}
/* install signal handler */
signal(SIGTERM, ctrlc_handler);
signal(SIGINT, ctrlc_handler);
/* give up root privilege */
if (geteuid() == 0)
@@ -7511,31 +7538,6 @@ struct timeval timeout;
}
#endif
if (daemon)
{
printf("Becoming a daemon...\n");
ss_daemon_init();
}
#ifdef OS_UNIX
{
int pid;
FILE *f;
/* crate /var/run/elogd.pid file */
pid = getpid();
f = fopen("/var/run/elogd.pid", "w");
if (f)
{
fprintf(f, "%d\n", pid);
fclose(f);
}
}
signal(SIGTERM, ctrlc_handler);
signal(SIGINT, ctrlc_handler);
#endif
/* listen for connection */
status = listen(lsock, SOMAXCONN);
if (status < 0)