mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Reversed setuid() and creation of elogd.pid
SVN revision: 66
This commit is contained in:
parent
eae8ab993f
commit
717bac3a75
52
elogd.c
52
elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$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
|
Revision 1.27 2002/06/03 08:07:47 midas
|
||||||
elogd.pid is now created from child
|
elogd.pid is now created from child
|
||||||
|
|
||||||
@ -7480,7 +7483,31 @@ struct timeval timeout;
|
|||||||
/* open configuration file */
|
/* open configuration file */
|
||||||
getcfg("dummy", "dummy", str);
|
getcfg("dummy", "dummy", str);
|
||||||
|
|
||||||
|
if (daemon)
|
||||||
|
{
|
||||||
|
printf("Becoming a daemon...\n");
|
||||||
|
ss_daemon_init();
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef OS_UNIX
|
#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 */
|
/* give up root privilege */
|
||||||
|
|
||||||
if (geteuid() == 0)
|
if (geteuid() == 0)
|
||||||
@ -7511,31 +7538,6 @@ struct timeval timeout;
|
|||||||
}
|
}
|
||||||
#endif
|
#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 */
|
/* listen for connection */
|
||||||
status = listen(lsock, SOMAXCONN);
|
status = listen(lsock, SOMAXCONN);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user