The branch, v3-5-test has been updated via e5f4159... Ñ3:ldap: search for account policies in objectclass sambaDomain, not * via 751f087... s3:Makefile: add LIBREPLACE_LIBS for talloc, tdb and wbclient via 9568469... Ñ3:buildsystem: fix depenencies for libreplace from 5087e0c... s3/docs: Fix typo.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log ----------------------------------------------------------------- commit e5f41591504769b5c7beb5a35bb0f95b33d27a8b Author: Björn Jacke <b...@sernet.de> Date: Fri Oct 30 21:50:41 2009 +0100 Ñ3:ldap: search for account policies in objectclass sambaDomain, not * commit 751f087f72fcfedbaeb1b9704b57fbb62d77e5e0 Author: Björn Jacke <b...@sernet.de> Date: Sat Oct 31 10:37:44 2009 +0100 s3:Makefile: add LIBREPLACE_LIBS for talloc, tdb and wbclient commit 9568469c6af915b3c58accfe88b42379b3538700 Author: Björn Jacke <b...@sernet.de> Date: Fri Oct 30 19:54:52 2009 +0100 Ñ3:buildsystem: fix depenencies for libreplace This problem became visible after adding the picky -z defs linker option: On Solaris libreplace had unresolved symbols, which showed up in the libtalloc build. PAM_WINBIND_EXTRA_LIBS and WINBIND_NSS_EXTRA_LIBS had been workarounds to make things work at two placeÑ. These variables have been obsoleted now. This patch introduces LIBREPLACE_LIBS which contans the linker flags needed for linking anything using libreplace. ----------------------------------------------------------------------- Summary of changes: source3/Makefile.in | 13 ++++++------- source3/configure.in | 8 ++++---- source3/passdb/pdb_ldap.c | 7 ++++++- 3 files changed, 16 insertions(+), 12 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/Makefile.in b/source3/Makefile.in index 748bfd3..74a6c0b 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -72,14 +72,13 @@ nscd_li...@nscd_libs@ uuid_li...@uuid_libs@ libwbclie...@libwbclient_static@ @LIBWBCLIENT_SHARED@ libwbclient_li...@libwbclient_libs@ -winbind_nss_extra_li...@winbind_nss_extra_libs@ winbind_nss_pthre...@winbind_nss_pthread@ -pam_winbind_extra_li...@pam_winbind_extra_libs@ dnssd_li...@dnssd_libs@ avahi_li...@avahi_libs@ popt_li...@poptlibs@ libtall...@libtalloc_static@ @LIBTALLOC_SHARED@ libtalloc_li...@libtalloc_libs@ +libreplace_li...@libreplace_libs@ libt...@libtdb_static@ @LIBTDB_SHARED@ libtdb_li...@libtdb_libs@ libneta...@libnetapi_static@ @LIBNETAPI_SHARED@ @@ -1837,7 +1836,7 @@ $(LIBTALLOC_SYMS): $(LIBTALLOC_HEADERS) $(LIBTALLOC_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBTALLOC_OBJ) $(LIBTALLOC_SYMS) @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBTALLOC_OBJ) @sonamef...@`basename $...@` + @$(SHLD_DSO) $(LIBTALLOC_OBJ) $(LIBREPLACE_LIBS) @sonamef...@`basename $...@` $(LIBTALLOC_SHARED_TARGET): $(LIBTALLOC_SHARED_TARGET_SONAME) @rm -f $@ @@ -1915,7 +1914,7 @@ $(LIBTDB_SYMS): $(LIBTDB_HEADERS) $(LIBTDB_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBTDB_OBJ) $(LIBTDB_SYMS) @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBTDB_OBJ) \ + @$(SHLD_DSO) $(LIBTDB_OBJ) $(LIBREPLACE_LIBS) \ @sonamef...@`basename $...@` $(LIBTDB_SHARED_TARGET): $(LIBTDB_SHARED_TARGET_SONAME) @@ -2011,7 +2010,7 @@ $(LIBWBCLIENT_SYMS): $(LIBWBCLIENT_HEADERS) $(LIBWBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ) $(LIBWBCLIENT_SYMS) $(LIBTALLOC) @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBWBCLIENT_OBJ) $(LIBTALLOC_LIBS) \ + @$(SHLD_DSO) $(LIBWBCLIENT_OBJ) $(LIBTALLOC_LIBS) $(LIBREPLACE_LIBS) \ @sonamef...@`basename $...@` $(LIBWBCLIENT_SHARED_TARGET): $(LIBWBCLIENT_SHARED_TARGET_SONAME) @@ -2514,7 +2513,7 @@ bin/v...@exeext@: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDB) @WINBIND_NSS@: $(BINARY_PREREQS) $(WINBIND_NSS_OBJ) @echo "Linking $@" @$(SHLD) $(WINBIND_NSS_LDSHFLAGS) -o $@ $(WINBIND_NSS_OBJ) \ - $(WINBIND_NSS_EXTRA_LIBS) $(WINBIND_NSS_PTHREAD) \ + $(LIBREPLACE_LIBS) $(WINBIND_NSS_PTHREAD) \ @sonamef...@`basename $...@`@NSSSONAMEVERSIONSUFFIX@ @WINBIND_WINS_NSS@: $(BINARY_PREREQS) $(WINBIND_WINS_NSS_OBJ) $(LIBTALLOC) $(LIBTDB) @@ -2531,7 +2530,7 @@ bin/winbind_krb5_locat...@shlibext@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OB bin/pam_winbi...@shlibext@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) @echo "Linking shared library $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) -lpam @INIPARSERLIBS@ \ - $(PAM_WINBIND_EXTRA_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) @sonamef...@`basename $...@` + $(LIBREPLACE_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) @sonamef...@`basename $...@` ########## # Plugins: diff --git a/source3/configure.in b/source3/configure.in index b75ea76..790a0f0 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -646,6 +646,10 @@ LIBREPLACE_DIR=`echo ${libreplacedir} | sed -e "s;${srcdir};;" -e "s;^/;;"` LIBREPLACE_OBJS="${LIBREPLACEOBJ}" AC_SUBST(LIBREPLACE_OBJS) +LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS}" +AC_SUBST(LIBREPLACE_LIBS) + + # add -ldl to the global LIBS LIBS="${LIBS} ${LIBDL} ${LIBREPLACE_NETWORK_LIBS}" AUTH_LIBS="${AUTH_LIBS} ${CRYPT_LIBS}" @@ -5906,8 +5910,6 @@ case "$host_os" in NSSSONAMEVERSIONSUFFIX=".1" WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \ ../nsswitch/winbind_nss_linux.o" - WINBIND_NSS_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}" - PAM_WINBIND_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}" ;; *hpux11*) WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o" @@ -6015,9 +6017,7 @@ AC_SUBST(WINBIND_NSS) AC_SUBST(WINBIND_WINS_NSS) AC_SUBST(WINBIND_NSS_LDSHFLAGS) AC_SUBST(WINBIND_NSS_EXTRA_OBJS) -AC_SUBST(WINBIND_NSS_EXTRA_LIBS) AC_SUBST(NSSSONAMEVERSIONSUFFIX) -AC_SUBST(PAM_WINBIND_EXTRA_LIBS) AC_SUBST(WINBIND_KRB5_LOCATOR) diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index c464a88..54cb03d 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -3864,6 +3864,7 @@ static NTSTATUS ldapsam_get_account_policy_from_ldap(struct pdb_methods *methods int count; int rc; char **vals = NULL; + char *filter; const char *policy_attr = NULL; struct ldapsam_privates *ldap_state = @@ -3887,8 +3888,12 @@ static NTSTATUS ldapsam_get_account_policy_from_ldap(struct pdb_methods *methods attrs[0] = policy_attr; attrs[1] = NULL; + filter = talloc_asprintf(NULL, "(objectClass=%s)", LDAP_OBJ_DOMINFO); + if (filter == NULL) { + return NT_STATUS_NO_MEMORY; + } rc = smbldap_search(ldap_state->smbldap_state, ldap_state->domain_dn, - LDAP_SCOPE_BASE, "(objectclass=*)", attrs, 0, + LDAP_SCOPE_BASE, filter, attrs, 0, &result); if (rc != LDAP_SUCCESS) { -- Samba Shared Repository