summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2003-09-22 12:55:20 +1000
committerDarren Tucker <dtucker@zip.com.au>2003-09-22 12:55:20 +1000
commit8ceeb269937e6956d6b97948d9d8f717d17d3eaf (patch)
treef385bfb52aaa630d8140357a18c658a9438fc054
parent7283b27e08aeed2c3c3194e7fed788ac1e8a15eb (diff)
- (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.
-rw-r--r--ChangeLog5
-rw-r--r--uidswap.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b389705d..29951f6d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,9 @@
16 - (dtucker) [contrib/cygwin/README contrib/cygwin/ssh-host-config] Update 16 - (dtucker) [contrib/cygwin/README contrib/cygwin/ssh-host-config] Update
17 ssh-host-config to match current defaults, bump README version. Patch from 17 ssh-host-config to match current defaults, bump README version. Patch from
18 vinschen at redhat.com. 18 vinschen at redhat.com.
19 - (dtucker) [uidswap.c] Don't test restoration of uid on Cygwin since the
20 OS does not support permanently dropping privileges. Patch from
21 vinschen at redhat.com.
19 22
2020030919 2320030919
21 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL; 24 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL;
@@ -1148,4 +1151,4 @@
1148 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 1151 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
1149 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 1152 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
1150 1153
1151$Id: ChangeLog,v 1.2994.2.20 2003/09/22 02:32:43 dtucker Exp $ 1154$Id: ChangeLog,v 1.2994.2.21 2003/09/22 02:55:20 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)
191 (u_int)pw->pw_gid); 191 (u_int)pw->pw_gid);
192 } 192 }
193 193
194#ifndef HAVE_CYGWIN
194 /* Try restoration of UID if changed (test clearing of saved uid) */ 195 /* Try restoration of UID if changed (test clearing of saved uid) */
195 if (old_uid != pw->pw_uid && 196 if (old_uid != pw->pw_uid &&
196 (setuid(old_uid) != -1 || seteuid(old_uid) != -1)) 197 (setuid(old_uid) != -1 || seteuid(old_uid) != -1))
197 fatal("%s: was able to restore old [e]uid", __func__); 198 fatal("%s: was able to restore old [e]uid", __func__);
199#endif
198 200
199 /* Verify UID drop was successful */ 201 /* Verify UID drop was successful */
200 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) { 202 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) {