diff --git a/ChangeLog b/ChangeLog index 82f4034ce..32f57bd91 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 @@ -5262,4 +5264,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1175 2001/04/27 00:46:17 mouring Exp $ +$Id: ChangeLog,v 1.1176 2001/04/27 02:10:15 mouring Exp $ diff --git a/uidswap.c b/uidswap.c index 2c43877d6..3b264cf9e 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; }