s3: Fix EnumDomainAliases when no aliases are in LDAP
authorVolker Lendecke <vl@samba.org>
Thu, 10 Jun 2010 13:40:14 +0000 (15:40 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 13 Jan 2011 16:58:49 +0000 (17:58 +0100)
We used to return NT_STATUS_ACCESS_DENIED, now we just return 0 entries, just
like W2k8 does.

usrmgr.exe was pretty unhappy with the NT_STATUS_ACCESS_DENIED
(cherry picked from commit f66cc827096c53d4d16b8c850c83a3b5664e9725)

Fix bug #7262 (Unable to maintain users' groups via UsrMgr).
(cherry picked from commit 1439a1d7ff406dd5dce885100349751151c14bf6)
(cherry picked from commit bd6a48e687636d5d9489129faff00e45d50d0d31)

source3/passdb/pdb_ldap.c

index 249a990d25715cd6dd6a17e8a0f1c21429d75cd9..559b87cfde1ed5df4e62429ad1803d67a94bb53b 100644 (file)
@@ -4416,12 +4416,6 @@ static bool ldapsam_search_firstpage(struct pdb_search *search)
         }
         state->current_entry = ldap_first_entry(ld, state->entries);
 
-       if (state->current_entry == NULL) {
-               ldap_msgfree(state->entries);
-               state->entries = NULL;
-               return false;
-       }
-
        return True;
 }
 
@@ -4464,6 +4458,10 @@ static bool ldapsam_search_next_entry(struct pdb_search *search,
        bool result;
 
  retry:
+       if (state->current_entry == NULL) {
+               return false;
+       }
+
        if ((state->entries == NULL) && (state->pagedresults_cookie == NULL))
                return False;