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.6.1.pre1^2~43 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=307a791f9595ede26f815e6a01925d25c958dab8;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. 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 --- 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));