From: chris mikkelson Date: Tue, 30 Mar 2010 21:35:25 +0000 (-0500) Subject: Fix privilege dropping. X-Git-Url: https://git.mikk.net/?a=commitdiff_plain;h=0be9adb4b437e7563c5e5d72c4f94e9c343dad99;p=smtpsink Fix privilege dropping. --- diff --git a/smtpsink.c b/smtpsink.c index 0b3c418..89e0e64 100644 --- a/smtpsink.c +++ b/smtpsink.c @@ -106,7 +106,7 @@ main(int argc, char **argv) break; case 'g': if ((gr = getgrnam(optarg))) - uid = gr->gr_gid; + gid = gr->gr_gid; else errx(1, "unknown group '%s'\n", optarg); break; @@ -137,13 +137,6 @@ main(int argc, char **argv) if (!flaglisten) new_listener(l_default); - if (gid) - if (setgid(gid) < 0) - err(1, "setgid() failed"); - if (uid) - if (setuid(uid) < 0) - err(1, "setuid() failed"); - openlog("smtpsink",LOG_PID,LOG_MAIL); signal(SIGPIPE,SIG_IGN); @@ -153,6 +146,13 @@ main(int argc, char **argv) new_listener(listeners[i]); } + if (gid) + if (setgid(gid) < 0) + err(1, "setgid() failed"); + if (uid) + if (setuid(uid) < 0) + err(1, "setuid() failed"); + conn_pool_init(concurrency); io_init(); smtp_init(tstart);