From fbe3b36ca9386a9b32f05e36450216acaa8bb404 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 22 Sep 2003 12:54:37 +1000 Subject: [PATCH] - (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. --- ChangeLog | 5 ++++- uidswap.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9058dfc7a..51c5584e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,9 @@ - (dtucker) [contrib/cygwin/README contrib/cygwin/ssh-host-config] Update ssh-host-config to match current defaults, bump README version. Patch from vinschen at redhat.com. + - (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. 20030919 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL; @@ -1152,4 +1155,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.3017 2003/09/22 02:32:00 dtucker Exp $ +$Id: ChangeLog,v 1.3018 2003/09/22 02:54:37 dtucker Exp $ diff --git a/uidswap.c b/uidswap.c index 3f13f9bf4..9e161d0f0 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) {