From a7d4fbd36a120b16caaddcd9d1c7f550cb14aae5 Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Wed, 13 Apr 2011 11:08:09 -0500 Subject: [PATCH] pam: Use POSIX getpwnam_r on Solaris _POSIX_PTHREAD_SEMANTICS is now always defined for Solaris, which means we get a POSIX-conforming getpwnam_r, which takes 5 arguments. So, add Solaris to the list of platforms that use a POSIX getpwnam_r. Change-Id: I1ad12420f56cf39816d94a8e9c9740436100134b Reviewed-on: http://gerrit.openafs.org/4468 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- src/pam/afs_auth.c | 6 ++---- src/pam/afs_password.c | 4 ++-- src/pam/afs_setcred.c | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/pam/afs_auth.c b/src/pam/afs_auth.c index 09f52148..0b8eec6 100644 --- a/src/pam/afs_auth.c +++ b/src/pam/afs_auth.c @@ -171,8 +171,8 @@ pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, /* enhanced: use "ignore_uid " to specify the largest uid * which should be ignored by this module */ -#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) -#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) +#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) +#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd); #else /* AFS_HPUX110_ENV */ i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf)); @@ -186,8 +186,6 @@ pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, #else #if defined(AFS_LINUX20_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_DFBSD_ENV) || defined(AFS_NBSD_ENV) upwd = getpwnam(user); -#elif defined(_POSIX_PTHREAD_SEMANTICS) && defined(AFS_SUN5_ENV) - getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd); #else upwd = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf)); #endif diff --git a/src/pam/afs_password.c b/src/pam/afs_password.c index a818772..1350164 100644 --- a/src/pam/afs_password.c +++ b/src/pam/afs_password.c @@ -115,8 +115,8 @@ pam_sm_chauthtok(pam_handle_t * pamh, int flags, int argc, const char **argv) * and its uid==0, and "ignore_root" was given in pam.conf, * ignore the user. */ -#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) -#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) +#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) +#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd); #else /* AFS_HPUX110_ENV */ i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf)); diff --git a/src/pam/afs_setcred.c b/src/pam/afs_setcred.c index e3a8349..286b262 100644 --- a/src/pam/afs_setcred.c +++ b/src/pam/afs_setcred.c @@ -150,8 +150,8 @@ pam_sm_setcred(pam_handle_t * pamh, int flags, int argc, const char **argv) /* enhanced: use "ignore_uid " to specify the largest uid * which should be ignored by this module */ -#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) -#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) +#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) +#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV) i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd); #else /* AFS_HPUX110_ENV */ i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf)); -- 1.9.4