From 7a9abc2a04dd8ed1f113aa9c803af24adfb22773 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 2 Mar 2010 22:02:46 +0100 Subject: 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 --- src/main.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src') 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", -- cgit v1.2.3