Solaris 8 doesn't export _nss_initf_group() so we need to provide

out own for getgrouplist().
This commit is contained in:
Todd C. Miller
2014-05-07 09:03:02 -06:00
parent 17cbfea8b7
commit 4902f4e3ec
3 changed files with 39 additions and 1 deletions

View File

@@ -102,7 +102,16 @@ done:
# define ALIGN(p) (((unsigned long)(p) + ALIGNBYTES) & ~ALIGNBYTES)
#endif
extern void _nss_initf_group(nss_db_params_t *);
#if defined(HAVE__NSS_INITF_GROUP) || defined(HAVE___NSS_INITF_GROUP)
extern void _nss_initf_group(nss_db_params_t *params);
#else
static void
_nss_initf_group(nss_db_params_t *params)
{
params->name = NSS_DBNAM_GROUP;
params->default_config = NSS_DEFCONF_GROUP;
}
#endif
static id_t
strtoid(const char *p, int *errval)

22
configure vendored
View File

@@ -17130,6 +17130,28 @@ done
$as_echo "#define HAVE__NSS_INITF_GROUP 1" >>confdefs.h
else
for ac_header in nss_dbdefs.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "nss_dbdefs.h" "ac_cv_header_nss_dbdefs_h" "$ac_includes_default"
if test "x$ac_cv_header_nss_dbdefs_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_NSS_DBDEFS_H 1
_ACEOF
# Older Solaris does not export _nss_initf_group
# but we can use our own.
$as_echo "#define HAVE_NSS_SEARCH 1" >>confdefs.h
$as_echo "#define HAVE__NSS_XBYY_BUF_ALLOC 1" >>confdefs.h
fi
done
fi

View File

@@ -2322,6 +2322,13 @@ AC_CHECK_FUNCS(getgrouplist, [], [
AC_DEFINE([HAVE_NSS_SEARCH])
AC_DEFINE([HAVE__NSS_XBYY_BUF_ALLOC])
AC_DEFINE([HAVE__NSS_INITF_GROUP])
], [
AC_CHECK_HEADERS(nss_dbdefs.h, [
# Older Solaris does not export _nss_initf_group
# but we can use our own.
AC_DEFINE([HAVE_NSS_SEARCH])
AC_DEFINE([HAVE__NSS_XBYY_BUF_ALLOC])
])
])
], [
# HP-UX