Blame SOURCES/slapi-0015-configure.ac-detect-extended-NSS-API-provided-by-SSS.patch

9c73bd
From 6c4e8869ba6121ddbc6e1eca880c39b0af3391e0 Mon Sep 17 00:00:00 2001
9c73bd
From: Alexander Bokovoy <abokovoy@redhat.com>
9c73bd
Date: Wed, 25 Oct 2017 11:38:55 +0300
9c73bd
Subject: [PATCH 15/17] configure.ac: detect extended NSS API provided by SSSD
9c73bd
9c73bd
SSSD exposes an extended NSS API via libsss_nss_idmap. This API allows
9c73bd
to query getpwnam()/getgrnam()/getgruid()/getpwuid()/getgrouplist()
9c73bd
information with a timeout per request. As result, an application has
9c73bd
possibility to cancel too long request.
9c73bd
9c73bd
This API also allows to ignore SSSD cache or invalidate it when
9c73bd
requesting certain information. slapi-nis needs this functionality when
9c73bd
invalidating own entries as result of changes done by other LDAP clients
9c73bd
in the areas which slapi-nis doesn't track directly.
9c73bd
9c73bd
For example, an update of ID override in the Default Trust View should
9c73bd
invalidate user or group entry for that AD object. Since retrieval of
9c73bd
the user/group information relies on SSSD, SSSD needs to be notified
9c73bd
that there is a change in ID override and evict the entry from its cache
9c73bd
as well.
9c73bd
---
9c73bd
 configure.ac | 6 ++++++
9c73bd
 1 file changed, 6 insertions(+)
9c73bd
9c73bd
diff --git a/configure.ac b/configure.ac
9c73bd
index f82a47e..a958607 100644
9c73bd
--- a/configure.ac
9c73bd
+++ b/configure.ac
9c73bd
@@ -361,8 +361,13 @@ if test "x$use_nsswitch" != xno ; then
9c73bd
 			SSS_NSS_IDMAP_LIBS=
9c73bd
 		fi
9c73bd
 	fi
9c73bd
+
9c73bd
 	AC_SUBST(SSS_NSS_IDMAP_CFLAGS)
9c73bd
 	AC_SUBST(SSS_NSS_IDMAP_LIBS)
9c73bd
+	AC_CHECK_LIB(sss_nss_idmap,sss_nss_getpwnam_timeout)
9c73bd
+	if test "x$ac_cv_lib_sss_nss_idmap_sss_nss_getpwnam_timeout" = xyes ; then
9c73bd
+		AC_DEFINE(USE_SSS_NSS_TIMEOUT,1,[Use extended NSS API provided by SSSD])
9c73bd
+	fi
9c73bd
 
9c73bd
 	if test "x$use_pam" != xno ; then
9c73bd
 		AC_CHECK_HEADERS(security/pam_appl.h)
9c73bd
@@ -384,6 +389,7 @@ if test "x$use_nsswitch" != xno ; then
9c73bd
 	fi
9c73bd
 	AC_DEFINE(USE_NSSWITCH,1,[Use nsswitch API to lookup users and groups not found in the LDAP tree])
9c73bd
 fi
9c73bd
+AM_CONDITIONAL([USE_SSS_NSS_TIMEOUT], [test "x$ac_cv_lib_sss_nss_idmap_sss_nss_getpwnam_timeout" = xyes])
9c73bd
 
9c73bd
 use_idviews=true
9c73bd
 AC_ARG_WITH(idviews,
9c73bd
-- 
9c73bd
2.13.6
9c73bd