From: Andrew Deason Date: Wed, 13 Apr 2011 16:08:09 +0000 (-0500) Subject: pam: Use POSIX getpwnam_r on Solaris X-Git-Tag: upstream/1.8.0_pre1^2~3861 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a7d4fbd36a120b16caaddcd9d1c7f550cb14aae5;p=packages%2Fo%2Fopenafs.git 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 --- diff --git a/src/pam/afs_auth.c b/src/pam/afs_auth.c index 09f52148e..0b8eec69f 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 a81877271..1350164fa 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 e3a83495e..286b262d2 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));