| From 803bce24e3c902efcfba82dad08f25edf1dd3d6f Mon Sep 17 00:00:00 2001 |
| From: nekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7> |
| Date: Sat, 30 Aug 2008 18:30:36 +0000 |
| Subject: [PATCH] * configure.in, lib/nscd.h, lib/nscd.c: Added --with-nscd flag to |
| support systems without nscd. |
| |
| git-svn-id: svn://svn.debian.org/pkg-shadow/upstream/trunk@2296 5a98b0ae-9ef6-0310-add3-de5d479b70d7 |
| --- |
| configure.in | 13 +++++++++++-- |
| lib/nscd.c | 4 ++++ |
| lib/nscd.h | 4 ++++ |
| 4 files changed, 21 insertions(+), 2 deletions(-) |
| |
| diff --git a/configure.in b/configure.in |
| index 044617c..8384a15 100644 |
| --- a/configure.in |
| +++ b/configure.in |
| @@ -38,9 +38,9 @@ AC_CHECK_HEADERS(errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \ |
| dnl shadow now uses the libc's shadow implementation |
| AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])]) |
| |
| -AC_CHECK_FUNCS(l64a fchmod fchown fsync getgroups gethostname getspnam \ |
| +AC_CHECK_FUNCS(l64a fchmod fchown fsync futimes getgroups gethostname getspnam \ |
| gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \ |
| - memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \ |
| + lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \ |
| getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r) |
| AC_SYS_LARGEFILE |
| |
| @@ -235,12 +235,20 @@ AC_ARG_WITH(libcrack, |
| AC_ARG_WITH(sha-crypt, |
| [AC_HELP_STRING([--with-sha-crypt], [allow the SHA256 and SHA512 password encryption algorithms @<:@default=yes@:>@])], |
| [with_sha_crypt=$withval], [with_sha_crypt=yes]) |
| +AC_ARG_WITH(nscd, |
| + [AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])], |
| + [with_nscd=$withval], [with_nscd=yes]) |
| |
| AM_CONDITIONAL(USE_SHA_CRYPT, test "x$with_sha_crypt" = "xyes") |
| if test "$with_sha_crypt" = "yes"; then |
| AC_DEFINE(USE_SHA_CRYPT, 1, [Define to allow the SHA256 and SHA512 password encryption algorithms]) |
| fi |
| |
| +AM_CONDITIONAL(USE_NSCD, test "x$with_nscd" = "xyes") |
| +if test "$with_nscd" = "yes"; then |
| + AC_DEFINE(USE_NSCD, 1, [Define to support flushing of nscd caches]) |
| +fi |
| + |
| dnl Check for some functions in libc first, only if not found check for |
| dnl other libraries. This should prevent linking libnsl if not really |
| dnl needed (Linux glibc, Irix), but still link it if needed (Solaris). |
| @@ -457,4 +465,5 @@ echo " SELinux support: $with_selinux" |
| echo " shadow group support: $enable_shadowgrp" |
| echo " S/Key support: $with_skey" |
| echo " SHA passwords encryption: $with_sha_crypt" |
| +echo " nscd support: $with_nscd" |
| echo |
| diff --git a/lib/nscd.c b/lib/nscd.c |
| index 59b7172..5f54b72 100644 |
| --- a/lib/nscd.c |
| +++ b/lib/nscd.c |
| @@ -1,5 +1,8 @@ |
| /* Author: Peter Vrabec <pvrabec@redhat.com> */ |
| |
| +#include <config.h> |
| +#ifdef USE_NSCD |
| + |
| /* because of TEMP_FAILURE_RETRY */ |
| #define _GNU_SOURCE |
| |
| @@ -54,4 +57,5 @@ int nscd_flush_cache (const char *service) |
| |
| return 0; |
| } |
| +#endif |
| |
| diff --git a/lib/nscd.h b/lib/nscd.h |
| index 8bb10a8..a430b00 100644 |
| --- a/lib/nscd.h |
| +++ b/lib/nscd.h |
| @@ -4,6 +4,10 @@ |
| /* |
| * nscd_flush_cache - flush specified service buffer in nscd cache |
| */ |
| +#ifdef USE_NSCD |
| extern int nscd_flush_cache (const char *service); |
| +#else |
| +#define nscd_flush_cache(service) (0) |
| +#endif |
| |
| #endif |
| -- |
| 1.6.2 |
| |