From 307a791f9595ede26f815e6a01925d25c958dab8 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. Reviewed-on: http://gerrit.openafs.org/4468 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a7d4fbd36a120b16caaddcd9d1c7f550cb14aae5) Change-Id: I2ce885da5018b250052852cb70c70eaecd521cc5 Reviewed-on: http://gerrit.openafs.org/6289 Tested-by: Derrick Brashear 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 9cf3a89b6..53d05ad21 100644 --- a/src/pam/afs_auth.c +++ b/src/pam/afs_auth.c @@ -175,8 +175,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)); @@ -190,8 +190,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 3bd471ab4..ff4a8717b 100644 --- a/src/pam/afs_password.c +++ b/src/pam/afs_password.c @@ -119,8 +119,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 e671f24ed..850ba672c 100644 --- a/src/pam/afs_setcred.c +++ b/src/pam/afs_setcred.c @@ -155,8 +155,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)); -- 2.39.5