summaryrefslogtreecommitdiff
path: root/uidswap.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2003-12-17 18:53:26 +1100
committerDarren Tucker <dtucker@zip.com.au>2003-12-17 18:53:26 +1100
commite937be36c309fff54978e56159503bcfee76d4c0 (patch)
tree71b5bc2c7cfc424e7a68a67f27953600174dfe3f /uidswap.c
parent8975ddf11b17bf58191c653a0173d91e50e942c7 (diff)
downloadopenssh-git-e937be36c309fff54978e56159503bcfee76d4c0.tar.gz
- (dtucker) [acconfig.h configure.ac uidswap.c] Bug #645: Check for
setres[ug]id() present but not implemented (eg some Linux/glibc combinations).
Diffstat (limited to 'uidswap.c')
-rw-r--r--uidswap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/uidswap.c b/uidswap.c
index a5f76fdc..4cabaa44 100644
--- a/uidswap.c
+++ b/uidswap.c
@@ -151,7 +151,7 @@ permanently_set_uid(struct passwd *pw)
debug("permanently_set_uid: %u/%u", (u_int)pw->pw_uid,
(u_int)pw->pw_gid);
-#if defined(HAVE_SETRESGID)
+#if defined(HAVE_SETRESGID) && !defined(BROKEN_SETRESGID)
if (setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) < 0)
fatal("setresgid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
#elif defined(HAVE_SETREGID) && !defined(BROKEN_SETREGID)
@@ -164,7 +164,7 @@ permanently_set_uid(struct passwd *pw)
fatal("setgid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
#endif
-#if defined(HAVE_SETRESUID)
+#if defined(HAVE_SETRESUID) && !defined(BROKEN_SETRESUID)
if (setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) < 0)
fatal("setresuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));
#elif defined(HAVE_SETREUID) && !defined(BROKEN_SETREUID)