]> granicus.if.org Git - shadow/commitdiff
* configure.in, lib/nscd.h, lib/nscd.c: Added --with-nscd flag to
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 30 Aug 2008 18:30:36 +0000 (18:30 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 30 Aug 2008 18:30:36 +0000 (18:30 +0000)
support systems without nscd.

ChangeLog
configure.in
lib/nscd.c
lib/nscd.h

index de35f9ee11bc7eca31713c51f3271cb269af749f..051af8a4d9d050fb2523d88afb21eba2e3ee20b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,8 @@
        standard. Check if they are implemented before using them. Do not
        set the time of links if lutimes() does not exist, and use
        utimes() as a replacement for futimes().
+       * configure.in, lib/nscd.h, lib/nscd.c: Added --with-nscd flag to
+       support systems without nscd.
 
 2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
index 044617cb92a37cf6959032a03df9867cae946cf6..8384a15934d7c83a4fcd602c8e75ffc6e52bf290 100644 (file)
@@ -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
index 59b717269532fbf9046ae20fd269e23152802528..5f54b722a3c45e2d1edca8607cd41bfc7d6026b3 100644 (file)
@@ -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
 
index 8bb10a8dd6b6769459aeb7918e63bcf4d6274011..a430b00f055203393eaa99c3fc71e6a38d41e1a7 100644 (file)
@@ -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