]> andersk Git - openssh.git/commitdiff
- (dtucker) [uidswap.c] Don't test dropping of gids for the root user or
authordtucker <dtucker>
Tue, 19 Oct 2004 06:33:33 +0000 (06:33 +0000)
committerdtucker <dtucker>
Tue, 19 Oct 2004 06:33:33 +0000 (06:33 +0000)
   on Cygwin.  Cygwin parts from vinschen at redhat com; ok djm@

ChangeLog
uidswap.c

index b0de0162e6a0ecc9c163620fe0bdec10ff23a226..9fc25db209ab1b02d9a67b95f6ec457a44e0bd0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+20041019
+ - (dtucker) [uidswap.c] Don't test dropping of gids for the root user or
+   on Cygwin.  Cygwin parts from vinschen at redhat com; ok djm@
+
 20041016
  - (djm) [auth-pam.c] snprintf->strl*, fix server message length calculations;
    ok dtucker@
index 44c4cb626c8a7d10cee86d0da45cb013316f8878..fa3d7a3b1116cbcc0ff0cd6caac03f06479b5759 100644 (file)
--- a/uidswap.c
+++ b/uidswap.c
@@ -200,10 +200,12 @@ permanently_set_uid(struct passwd *pw)
                fatal("setuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));
 #endif
 
+#ifndef HAVE_CYGWIN
        /* Try restoration of GID if changed (test clearing of saved gid) */
-       if (old_gid != pw->pw_gid &&
+       if (old_gid != pw->pw_gid && pw->pw_uid != 0 &&
            (setgid(old_gid) != -1 || setegid(old_gid) != -1))
                fatal("%s: was able to restore old [e]gid", __func__);
+#endif
 
        /* Verify GID drop was successful */
        if (getgid() != pw->pw_gid || getegid() != pw->pw_gid) {
This page took 0.049708 seconds and 5 git commands to generate.