r23703: Start to get Samba4 to again work with LDAP backends, after I turned
authorAndrew Bartlett <abartlet@samba.org>
Wed, 4 Jul 2007 11:06:32 +0000 (11:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:59:06 +0000 (14:59 -0500)
on metze's schema work.

Andrew Bartlett
(This used to be commit 3111bbdf64f57bf8d2638fd9829c071dcfeb4af1)

source4/lib/ldb/modules/paged_searches.c
source4/scripting/libjs/provision.js
source4/setup/provision
source4/setup/provision-backend

index f4a06e841f037605f363c3854ab1d8c513d5c3c3..2022c392860ce5522a42e3a83df6b9117a2dbb26 100644 (file)
@@ -412,6 +412,7 @@ static int ps_init(struct ldb_module *module)
 
        data = talloc(module, struct private_data);
        if (data == NULL) {
+               ldb_set_errstring(module->ldb, "Out of Memory");
                return LDB_ERR_OTHER;
        }
        module->private_data = data;
@@ -424,7 +425,7 @@ static int ps_init(struct ldb_module *module)
        }
 
        req->operation = LDB_SEARCH;
-       req->op.search.base = ldb_dn_new(req, module->ldb, NULL);
+       req->op.search.base = ldb_dn_new(req, module->ldb, "");
        req->op.search.scope = LDB_SCOPE_BASE;
 
        req->op.search.tree = ldb_parse_tree(req, "objectClass=*");
index f94c34e932696c6903f015f2cebdee74ea000638..2f3f738821ab65cd289a6bb94dc2f0a32cec320a 100644 (file)
@@ -450,12 +450,9 @@ function provision_fix_subobj(subobj, paths)
                                      subobj.DNSDOMAIN);
        rdn_list = split(".", subobj.DNSDOMAIN);
        subobj.DOMAINDN     = "DC=" + join(",DC=", rdn_list);
-       subobj.DOMAINDN_LDB = "users.ldb";
        subobj.ROOTDN       = subobj.DOMAINDN;
        subobj.CONFIGDN     = "CN=Configuration," + subobj.ROOTDN;
-       subobj.CONFIGDN_LDB = "configuration.ldb";
        subobj.SCHEMADN     = "CN=Schema," + subobj.CONFIGDN;
-       subobj.SCHEMADN_LDB = "schema.ldb";
 
        var rdns = split(",", subobj.DOMAINDN);
        subobj.RDN_DC = substr(rdns[0], strlen("DC="));
@@ -888,6 +885,9 @@ function provision_guess()
                                        "show_deleted",
                                        "partition");
        subobj.MODULES_LIST = join(",", modules_list);
+       subobj.DOMAINDN_LDB = "users.ldb";
+       subobj.CONFIGDN_LDB = "configuration.ldb";
+       subobj.SCHEMADN_LDB = "schema.ldb";
        subobj.DOMAINDN_MOD = "pdc_fsmo,password_hash";
        subobj.CONFIGDN_MOD = "naming_fsmo";
        subobj.SCHEMADN_MOD = "schema_fsmo";
index 9a67d06963e16fced1a79da6d1b1d52bf73615b8..8e67dd4b3c8f285dfa85b93e5abbf7aa7afb02d8 100755 (executable)
@@ -129,14 +129,15 @@ message("set DOMAIN SID: %s\n", subobj["DOMAINSID"]);
 
 if (ldapbackend) {
        if (!ldapmodule) {
-               subobj["LDAPMODULE"] = "entryUUID";
+               subobj.LDAPMODULE = "entryUUID";
        }
-       subobj["DOMAINDN_LDB"] = subobj["LDAPBACKEND"];
-       subobj["DOMAINDN_MOD2"] = subobj["LDAPMODULE"] + ",paged_searches";
-       subobj["CONFIGDN_LDB"] = subobj["LDAPBACKEND"];
-       subobj["CONFIGDN_MOD2"] = subobj["LDAPMODULE"] + ",paged_searches";
-       subobj["SCHEMADN_LDB"] = subobj["LDAPBACKEND"];
-       subobj["SCHEMADN_MOD2"] = subobj["LDAPMODULE"] + ",paged_searches";
+       subobj.DOMAINDN_LDB = subobj.LDAPBACKEND;
+       subobj.DOMAINDN_MOD2 = "," + subobj.LDAPMODULE + ",paged_searches";
+       subobj.CONFIGDN_LDB = subobj.LDAPBACKEND;
+       subobj.CONFIGDN_MOD2 = "," + subobj.LDAPMODULE + ",paged_searches";
+       subobj.SCHEMADN_LDB = subobj.LDAPBACKEND;
+       subobj.SCHEMADN_MOD2 = "," + subobj.LDAPMODULE + ",paged_searches";
+       message("LDAP module: %s backend: %s\n", subobj.LDAPMODULE, subobj.LDAPBACKEND);
 }
 
 if (!provision_validate(subobj, message)) {
index 9c1649ac3ed3648ea5113864d5c79c1b3bf86077..2fa0cc0ecc9e632e0dd274b60e52aa5497e58e27 100755 (executable)
@@ -88,7 +88,7 @@ for (r in options) {
 
 
 var paths = provision_default_paths(subobj);
-provision_fix_subobj(subobj, message, paths);
+provision_fix_subobj(subobj, paths);
 message("Provisioning LDAP backend for %s in realm %s into %s\n", subobj.HOSTNAME, subobj.REALM, subobj.LDAPDIR);
 message("Using LDAP Manager password: %s\n", subobj.LDAPMANAGERPASS);
 var tmp_schema_ldb = subobj.LDAPDIR + "/schema-tmp.ldb";