[SSSD] [PATCH] Making the ldb check configurable

Jakub Hrozek jhrozek at redhat.com
Mon Mar 18 10:22:19 UTC 2013


On Wed, Mar 13, 2013 at 11:23:07AM +0100, Lukas Slebodnik wrote:
> Hi,
> 
> attached patch should fix ticket
> https://fedorahosted.org/sssd/ticket/1813
> 
> Comments welcomed.
> 
> LS

> From a2dca2e1a5be39ce9208ccc44ed10092f4080ea9 Mon Sep 17 00:00:00 2001
> From: Lukas Slebodnik <lslebodn at redhat.com>
> Date: Wed, 13 Mar 2013 11:09:11 +0100
> Subject: [PATCH] Making the ldb check configurable
> 
> It is possible to enable/disable checking in LDB memberof plugin
> whether it was built against the same version of LDB that is present
> on the system. This feature is turned off by default
> and enabled in Fedora/RHEL spec file.
> ---
>  contrib/sssd.spec.in       |  1 +
>  src/external/libldb.m4     | 15 +++++++++++++++
>  src/ldb_modules/memberof.c |  4 ++--
>  3 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
> index 7f124f5cd9dc602481cb5f4ae7a5a9418b6c8bf9..7c1f7048a70729090c5b27e1c7b9434f0e04d99a 100644
> --- a/contrib/sssd.spec.in
> +++ b/contrib/sssd.spec.in
> @@ -262,6 +262,7 @@ autoreconf -ivf
>      --with-krb5-rcache-dir=%{_localstatedir}/cache/krb5rcache \
>      --enable-nsslibdir=/%{_lib} \
>      --enable-pammoddir=/%{_lib}/security \
> +    --enable-ldb-version-check \

I think we can disable the check in upstream to see how it goes and
sometimes later (post-1.10 maybe) also disable it in Fedora if there are
no problems.

>      --disable-static \
>      --disable-rpath \
>      %{?with_ccache} \
> diff --git a/src/external/libldb.m4 b/src/external/libldb.m4
> index d3d3ccecec303d17102cedccfaba0db70329002d..2e89cec8085f1e44731874cbed47206f78314cb7 100644
> --- a/src/external/libldb.m4
> +++ b/src/external/libldb.m4
> @@ -24,5 +24,20 @@ else
>          ldblibdir="${libdir}/ldb"
>      fi
>  fi
> +
> +AC_MSG_CHECKING([feature ldb runtime version check])
> +AC_ARG_ENABLE(ldb-version-check,
> +              [AS_HELP_STRING([--enable-ldb-version-check],
> +                              [compile without ldb runtime version check])],
> +              enable_ldb_version_check="$enableval",
> +              enable_ldb_version_check="no")
> +if test x"$enable_ldb_version_check" = xyes ; then
> +    AC_MSG_RESULT([yes])
> +    AC_DEFINE([LDB_VERSION_CHECK], [1],
> +              [Define to 1 if you want ldb version check.])
> +else
> +    AC_MSG_RESULT([no])
> +fi
> +
>  AC_MSG_NOTICE([ldb lib directory: $ldblibdir])
>  AC_SUBST(ldblibdir)
> diff --git a/src/ldb_modules/memberof.c b/src/ldb_modules/memberof.c
> index f7eeb4070748d4a4f517c44520f9a501dd48a245..0247bc9df2dd49bd1eb9a6100d126d50d00da0ec 100644
> --- a/src/ldb_modules/memberof.c
> +++ b/src/ldb_modules/memberof.c
> @@ -4566,8 +4566,8 @@ const struct ldb_module_ops ldb_memberof_module_ops = {
>  
>  int ldb_init_module(const char *version)
>  {
> -#ifdef LDB_MODULE_CHECK_VERSION
> +#ifdef LDB_VERSION_CHECK
>      LDB_MODULE_CHECK_VERSION(version);
> -#endif
> +#endif /* LDB_VERSION_CHECK */

You need to keep the check for LDB_MODULE_CHECK_VERSION here, too,
because it's not defined with some old ldb versions (like the one in
RHEL5).

>      return ldb_register_module(&ldb_memberof_module_ops);
>  }




More information about the sssd-devel mailing list