Allow more 'domain' objects when looking for a unqiue SID.
authorAndrew Bartlett <abartlet@samba.org>
Fri, 14 Mar 2008 01:32:07 +0000 (12:32 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 14 Mar 2008 01:32:07 +0000 (12:32 +1100)
Andrew Bartlett
(This used to be commit db3b5f16ec8d9b83d8a82a535a4847dce5923663)

source4/dsdb/samdb/ldb_modules/samldb.c

index 905cd4a995d5916a8d81e2eea32b487886e3f3a1..5407db99565c063806e03d4d9c6403d009581f71 100644 (file)
@@ -293,7 +293,7 @@ int samldb_notice_sid(struct ldb_module *module,
        /* find the domain DN */
        ret = ldb_search_exp_fmt(module->ldb, mem_ctx, &dom_res,
                                 NULL, LDB_SCOPE_SUBTREE, attrs,
        /* find the domain DN */
        ret = ldb_search_exp_fmt(module->ldb, mem_ctx, &dom_res,
                                 NULL, LDB_SCOPE_SUBTREE, attrs,
-                                "(&(objectSid=%s)(objectclass=domain))",
+                                "(&(objectSid=%s)(|(|(objectClass=domain)(objectClass=builtinDomain))(objectClass=samba4LocalDomain)))", 
                                 ldap_encode_ndr_dom_sid(mem_ctx, dom_sid));
        if (ret == LDB_SUCCESS) {
                if (dom_res->count == 0) {
                                 ldap_encode_ndr_dom_sid(mem_ctx, dom_sid));
        if (ret == LDB_SUCCESS) {
                if (dom_res->count == 0) {
@@ -369,7 +369,7 @@ static int samldb_generate_samAccountName(struct ldb_module *module, TALLOC_CTX
        /* Format: $000000-000000000000 */
        
        do {
        /* Format: $000000-000000000000 */
        
        do {
-               *name = talloc_asprintf(mem_ctx, "$%.6X-%.6X%.6X", (unsigned int)random(), (unsigned int)random(), (unsigned int)random());
+               *name = talloc_asprintf(mem_ctx, "$%.6X-%.6X%.6X", (unsigned int)generate_random(), (unsigned int)generate_random(), (unsigned int)generate_random());
                /* TODO: Figure out exactly what this is meant to conflict with */
                ret = ldb_search_exp_fmt(module->ldb,
                                         mem_ctx, &res, dom_dn, LDB_SCOPE_SUBTREE, attrs,
                /* TODO: Figure out exactly what this is meant to conflict with */
                ret = ldb_search_exp_fmt(module->ldb,
                                         mem_ctx, &res, dom_dn, LDB_SCOPE_SUBTREE, attrs,