summaryrefslogtreecommitdiff
path: root/uidswap.c
diff options
context:
space:
mode:
authordtucker <dtucker>2003-09-22 02:54:37 +0000
committerdtucker <dtucker>2003-09-22 02:54:37 +0000
commitf7637ab456ab7096bf6b9281d5c00f3199c315ba (patch)
tree000fd25ab7e96f025f2e3b1d2e36bf9035f36e64 /uidswap.c
parentcffb60e7cf1fd343d252bb29337756b8c5d1e08f (diff)
downloadopenssh-f7637ab456ab7096bf6b9281d5c00f3199c315ba.tar.gz
- (dtucker) [uidswap.c] Don't test restoration of uid on Cygwin since the
OS does not support permanently dropping privileges. Patch from vinschen at redhat.com.
Diffstat (limited to 'uidswap.c')
-rw-r--r--uidswap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/uidswap.c b/uidswap.c
index 3f13f9bf..9e161d0f 100644
--- a/uidswap.c
+++ b/uidswap.c
@@ -191,10 +191,12 @@ permanently_set_uid(struct passwd *pw)
(u_int)pw->pw_gid);
}
+#ifndef HAVE_CYGWIN
/* Try restoration of UID if changed (test clearing of saved uid) */
if (old_uid != pw->pw_uid &&
(setuid(old_uid) != -1 || seteuid(old_uid) != -1))
fatal("%s: was able to restore old [e]uid", __func__);
+#endif
/* Verify UID drop was successful */
if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) {