diff options
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/samba/provision.py | 79 | 
1 files changed, 4 insertions, 75 deletions
diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index 334a4c9bf8..b5e8867e16 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -549,78 +549,9 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info,      samdb = Ldb(url=samdb_path, session_info=session_info,                   lp=lp, options=["modules:"]) -    #Add modules to the list to activate them by default -    #beware often order is important -    # -    # Some Known ordering constraints: -    # - rootdse must be first, as it makes redirects from "" -> cn=rootdse -    # - extended_dn_in must be before objectclass.c, as it resolves the DN -    # - objectclass must be before password_hash, because password_hash checks -    #   that the objectclass is of type person (filled in by objectclass -    #   module when expanding the objectclass list) -    # - partition must be last -    # - each partition has its own module list then -    modules_list = ["resolve_oids", -                    "rootdse", -                    "lazy_commit", -                    "paged_results", -                    "ranged_results", -                    "anr", -                    "server_sort", -                    "asq", -                    "extended_dn_store", -                    "extended_dn_in", -                    "rdn_name", -                    "objectclass", -                    "descriptor", -                    "acl", -                    "samldb", -                    "password_hash", -                    "operational", -                    "kludge_acl",  -                    "schema_load", -                    "instancetype"] -    if serverrole == "domain controller": -        objectguid_module = "repl_meta_data" -    else: -        objectguid_module = "objectguid" -    tdb_modules_list = [ -                    "subtree_rename", -                    "subtree_delete", -                    "linked_attributes"] -    extended_dn_module = "extended_dn_out_ldb" -    modules_list2 = ["show_deleted", -                     "new_partition", -                     "partition"] - -    backend_modules = [] -      ldap_backend_line = "# No LDAP backend"      if provision_backend.type is not "ldb":          ldap_backend_line = "ldapBackend: %s" % provision_backend.ldapi_uri -         -        # The LDAP backends assign the objectGUID on thier own -        objectguid_module = None -        # OpenLDAP and FDS handles subtree renames, so we don't want to do any of these things -        tdb_modules_list = [] - -        if provision_backend.ldap_backend_type == "fedora-ds": -            backend_modules = ["nsuniqueid", "paged_searches"] -            extended_dn_module_list = ["extended_dn_out_fds"]; -        elif provision_backend.ldap_backend_type == "openldap": -            backend_modules = ["entryuuid", "paged_searches"] -            extended_dn_module_list = ["extended_dn_out_openldap"] - -    if objectguid_module is not None: -        modules_list.append(objectguid_module) - -    for m in tdb_modules_list: -        modules_list.append(m) - -    modules_list.append(extended_dn_module) - -    for m in modules_list2: -        modules_list.append(m)      samdb.transaction_start()      try: @@ -629,16 +560,14 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info,                  "SCHEMADN": ldb.Dn(schema.ldb, names.schemadn).get_casefold(),                   "CONFIGDN": ldb.Dn(schema.ldb, names.configdn).get_casefold(),                  "DOMAINDN": ldb.Dn(schema.ldb, names.domaindn).get_casefold(), -                "SCHEMADN_MOD": "schema_data", -                "CONFIGDN_MOD": "naming_fsmo", -                "DOMAINDN_MOD": "pdc_fsmo", -                "MODULES_LIST": ",".join(modules_list), -                "BACKEND_MOD": ",".join(backend_modules),                  "LDAP_BACKEND_LINE": ldap_backend_line,          }) -        samdb.load_ldif_file_add(setup_path("provision_init.ldif")) +        setup_add_ldif(samdb, setup_path("provision_init.ldif"), { +                "BACKEND_TYPE": provision_backend.type, +                "SERVER_ROLE": serverrole +                })          message("Setting up sam.ldb rootDSE")          setup_samdb_rootdse(samdb, setup_path, names)  | 
