summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2010-03-02 22:02:46 +0100
committerMichael Adam <obnox@samba.org>2010-03-02 22:02:46 +0100
commit7a9abc2a04dd8ed1f113aa9c803af24adfb22773 (patch)
treec3c9bd159878ffdeaee8a3c7cc5d101ec1b79762
parent2235a97f05faace446afe7c59dee8f32e69eee67 (diff)
downloadtinyproxy-7a9abc2a04dd8ed1f113aa9c803af24adfb22773.tar.gz
tinyproxy-7a9abc2a04dd8ed1f113aa9c803af24adfb22773.zip
main: drop privileges right after reading the config
This is the second part of fixing bug #74. I lets tinyproxy create its log and pid files as the user as which it is running, so that later on at SIGHUP, the log file can successfully be reopened. Michael
-rw-r--r--src/main.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c
index e780177..c9229f3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -393,6 +393,14 @@ main (int argc, char **argv)
exit (EX_SOFTWARE);
}
+ /* Switch to a different user if we're running as root */
+ if (geteuid () == 0) {
+ change_user (argv[0]);
+ } else {
+ log_message (LOG_WARNING,
+ "Not running as root, so not changing UID/GID.");
+ }
+
ret = setup_logging ();
if (ret != 0) {
exit (EX_SOFTWARE);
@@ -438,13 +446,6 @@ main (int argc, char **argv)
exit (EX_OSERR);
}
- /* Switch to a different user if we're running as root */
- if (geteuid () == 0)
- change_user (argv[0]);
- else
- log_message (LOG_WARNING,
- "Not running as root, so not changing UID/GID.");
-
if (child_pool_create () < 0) {
fprintf (stderr,
"%s: Could not create the pool of children.\n",