From 35beaddc7e86a47d782d5b69b26e940d2a8b6f73 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 19 Oct 2004 16:33:33 +1000 Subject: - (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@ --- uidswap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'uidswap.c') diff --git a/uidswap.c b/uidswap.c index 44c4cb626..fa3d7a3b1 100644 --- 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) { -- cgit v1.2.3 From 2ea9b18918162bd17758f1480247c9fa4e75e418 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 22 Feb 2005 17:57:13 +1100 Subject: - (dtucker) [uidswap.c] Skip uid restore test on Cygwin. Patch from vinschen at redhat.com. --- ChangeLog | 6 +++++- uidswap.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'uidswap.c') diff --git a/ChangeLog b/ChangeLog index 03789f28d..8ab6c1ba3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +20050222 + - (dtucker) [uidswap.c] Skip uid restore test on Cygwin. Patch from + vinschen at redhat.com. + 20050220 - (dtucker) [LICENCE Makefile.in README.platform audit-bsm.c configure.ac defines.h] Bug #125: Add *EXPERIMENTAL* BSM audit support. Configure @@ -2156,4 +2160,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3661 2005/02/20 12:27:11 dtucker Exp $ +$Id: ChangeLog,v 1.3662 2005/02/22 06:57:13 dtucker Exp $ diff --git a/uidswap.c b/uidswap.c index fa3d7a3b1..aab7064eb 100644 --- a/uidswap.c +++ b/uidswap.c @@ -56,10 +56,12 @@ temporarily_use_uid(struct passwd *pw) debug("temporarily_use_uid: %u/%u (e=%u/%u)", (u_int)pw->pw_uid, (u_int)pw->pw_gid, (u_int)saved_euid, (u_int)saved_egid); +#ifndef HAVE_CYGWIN if (saved_euid != 0) { privileged = 0; return; } +#endif #else if (geteuid() != 0) { privileged = 0; -- cgit v1.2.3