]> err.no Git - dpkg/commitdiff
Fix uid/gid changing in start-stop-daemon
authorWichert Akkerman <wakkerma@debian.org>
Mon, 6 Dec 1999 00:26:20 +0000 (00:26 +0000)
committerWichert Akkerman <wakkerma@debian.org>
Mon, 6 Dec 1999 00:26:20 +0000 (00:26 +0000)
ChangeLog
utils/start-stop-daemon.c

index 324030adbc173a55aa8f46c9812256657319da74..417ff6a5fd3b5301f34a2dd7659811f7c8c30c8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec  6 01:37:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * Correct uid/gid-changes in start-stop-daemon, patch from
+    Topi Miettinen <Topi.Miettinen@nic.fi>
+
 Sun Dec  5 18:09:36 CET 1999 Wichert Akkerman <wakkerma@debian.org>
 
   * Add manpages from Josip Rodin <joy@cibalia.gkvk.hr> for
index b84eda229051a705a33e5467d658df48c3c4322d..b07f97d497dc728f82b8e6f63075cde01176ca03 100644 (file)
@@ -654,10 +654,12 @@ main(int argc, char **argv)
                printf("Starting %s...\n", startas);
        *--argv = startas;
        if (changeuser != NULL) {
+               if (setgid(runas_gid))
+                       fatal("Unable to set gid to %d", runas_gid);
                if (initgroups(changeuser, runas_gid))
                        fatal("Unable to set initgroups() with gid %d", runas_gid);
-               if (seteuid(runas_uid))
-                       fatal("Unable to set effective uid to %s", changeuser);
+               if (setuid(runas_uid))
+                       fatal("Unable to set uid to %s", changeuser);
        }
        
        if (background) { /* ok, we need to detach this process */