diff --git a/daemons/ipa-sam/ipa_sam.c b/daemons/ipa-sam/ipa_sam.c index fe9913d61..0cd48d845 100644 --- a/daemons/ipa-sam/ipa_sam.c +++ b/daemons/ipa-sam/ipa_sam.c @@ -4532,8 +4532,12 @@ static NTSTATUS pdb_init_ipasam(struct pdb_methods **pdb_method, uri, false, NULL, NULL, &ipasam_state->ldap_state); if (NT_STATUS_IS_OK(status)) { +#ifdef HAVE_SMBLDAP_SET_BIND_CALLBACK + smbldap_set_bind_callback(ipasam_state->ldap_state, bind_callback, ipasam_state); +#else ipasam_state->ldap_state->bind_callback = bind_callback; ipasam_state->ldap_state->bind_callback_data = ipasam_state; +#endif } } diff --git a/server.m4 b/server.m4 index 365abb60e..a9670c873 100644 --- a/server.m4 +++ b/server.m4 @@ -111,6 +111,11 @@ AC_CHECK_LIB([smbldap],[smbldap_get_ldap], [AC_MSG_WARN([libsmbldap is not opaque, not using smbldap_get_ldap])], [$SAMBA40EXTRA_LIBPATH]) +AC_CHECK_LIB([smbldap],[smbldap_set_bind_callback], + [AC_DEFINE([HAVE_SMBLDAP_SET_BIND_CALLBACK], [1], [struct smbldap_state is opaque])], + [AC_MSG_WARN([libsmbldap is not opaque, not using smbldap_set_bind_callback])], + [$SAMBA40EXTRA_LIBPATH]) + dnl --------------------------------------------------------------------------- dnl Check for libunistring dnl ---------------------------------------------------------------------------