summaryrefslogtreecommitdiff
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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",