From 229be2df2b0880b5057908fd5068b61239b1f283 Mon Sep 17 00:00:00 2001 From: mouring Date: Fri, 27 Apr 2001 02:10:15 +0000 Subject: [PATCH] - (bal) Cygwin lacks setgroups() API. Patch by Corinna Vinschen --- ChangeLog | 2 ++ uidswap.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index bb6d1267..6814791c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,8 @@ Vinschen - (bal) Add /etc/sysconfig/sshd support to redhat's sshd.init. Patch by Pekka Savola + - (bal) Cygwin lacks setgroups() API. Patch by Corinna Vinschen + 20010425 - OpenBSD CVS Sync diff --git a/uidswap.c b/uidswap.c index 2c43877d..3b264cf9 100644 --- a/uidswap.c +++ b/uidswap.c @@ -80,9 +80,11 @@ temporarily_use_uid(struct passwd *pw) if (user_groupslen < 0) fatal("getgroups: %.100s", strerror(errno)); } +#ifndef HAVE_CYGWIN /* Set the effective uid to the given (unprivileged) uid. */ if (setgroups(user_groupslen, user_groups) < 0) fatal("setgroups: %.100s", strerror(errno)); +#endif /* !HAVE_CYWIN */ #ifndef SAVED_IDS_WORK_WITH_SETEUID /* Propagate the privileged gid to all of our gids. */ if (setgid(getegid()) < 0) @@ -130,8 +132,10 @@ restore_uid(void) setgid(getgid()); #endif /* SAVED_IDS_WORK_WITH_SETEUID */ +#ifndef HAVE_CYGWIN if (setgroups(saved_egroupslen, saved_egroups) < 0) fatal("setgroups: %.100s", strerror(errno)); +#endif /* !HAVE_CYGWIN */ temporarily_use_uid_effective = 0; } -- 2.45.2