The branch, v4-0-test has been updated via c8b0a8a196d8d187a86aef497953d0105436aff8 (commit) via 8f0a89ca19d6a3986dacd981fab1ebbc8b1a4ad0 (commit) via 603e981250b26b533ec35dd607cb635226cf99df (commit) via 57b4b43b6548d1cd81cfaebc5ea8abc88aaca989 (commit) from fd9cc4eb5afae8b255e753d480190b490cd3f7ab (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test - Log ----------------------------------------------------------------- commit c8b0a8a196d8d187a86aef497953d0105436aff8 Author: Andrew Bartlett <[EMAIL PROTECTED]> Date: Fri Feb 8 17:12:54 2008 +1100 Remove unused parameter from provision() Andrew Bartlett commit 8f0a89ca19d6a3986dacd981fab1ebbc8b1a4ad0 Author: Andrew Bartlett <[EMAIL PROTECTED]> Date: Fri Feb 8 17:12:25 2008 +1100 LDAP now works with the python provision! Andrew Bartlett commit 603e981250b26b533ec35dd607cb635226cf99df Author: Andrew Bartlett <[EMAIL PROTECTED]> Date: Fri Feb 8 17:11:26 2008 +1100 Fix LDAP backend with python We were still setting the hard-coded users.ldb etc, rather than switching to the ldapi:// URI Andrew Bartlett commit 57b4b43b6548d1cd81cfaebc5ea8abc88aaca989 Author: Andrew Bartlett <[EMAIL PROTECTED]> Date: Fri Feb 8 17:09:49 2008 +1100 Reset error strings Avoid leaking error strings up to the application, when we are ignoring them. ----------------------------------------------------------------------- Summary of changes: source/dsdb/samdb/ldb_modules/schema_fsmo.c | 2 + source/scripting/python/STATUS | 1 - source/scripting/python/samba/provision.py | 44 ++++++++++++++++----------- source/setup/provision.py | 2 +- 4 files changed, 29 insertions(+), 20 deletions(-) Changeset truncated at 500 lines: diff --git a/source/dsdb/samdb/ldb_modules/schema_fsmo.c b/source/dsdb/samdb/ldb_modules/schema_fsmo.c index 559c91b..f9dd131 100644 --- a/source/dsdb/samdb/ldb_modules/schema_fsmo.c +++ b/source/dsdb/samdb/ldb_modules/schema_fsmo.c @@ -59,6 +59,7 @@ static int schema_fsmo_init(struct ldb_module *module) schema_dn = samdb_schema_dn(module->ldb); if (!schema_dn) { + ldb_reset_err_string(module->ldb); ldb_debug(module->ldb, LDB_DEBUG_WARNING, "schema_fsmo_init: no schema dn present: (skip schema loading)\n"); return ldb_next_init(module); @@ -91,6 +92,7 @@ static int schema_fsmo_init(struct ldb_module *module) NULL, schema_attrs, &schema_res); if (ret == LDB_ERR_NO_SUCH_OBJECT) { + ldb_reset_err_string(module->ldb); ldb_debug(module->ldb, LDB_DEBUG_WARNING, "schema_fsmo_init: no schema head present: (skip schema loading)\n"); talloc_free(mem_ctx); diff --git a/source/scripting/python/STATUS b/source/scripting/python/STATUS index 6e6475b..ee67b8b 100644 --- a/source/scripting/python/STATUS +++ b/source/scripting/python/STATUS @@ -1,6 +1,5 @@ dsdb/samdb/ldb_modules/tests/samba3sam.py: Fix remaining failing tests lib/ldb/tests/python/ldap.py: Fix remaining 3 FIXME's -provisioning in LDAP mode(TEST_LDAP=yes PROVISION_PYTHON=yes make test) command-line vampire provisioning: combine some of the python dictionaries finish scripting/bin/smbstatus.py diff --git a/source/scripting/python/samba/provision.py b/source/scripting/python/samba/provision.py index d2a4f28..9a44983 100644 --- a/source/scripting/python/samba/provision.py +++ b/source/scripting/python/samba/provision.py @@ -323,9 +323,9 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info, configdn_ldb = "configuration.ldb" if ldap_backend is not None: configdn_ldb = ldap_backend - schema_ldb = "schema.ldb" + schemadn_ldb = "schema.ldb" if ldap_backend is not None: - schema_ldb = ldap_backend + schemadn_ldb = ldap_backend if ldap_backend_type == "fedora-ds": backend_modules = ["nsuniqueid","paged_searches"] @@ -336,23 +336,31 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info, else: backend_modules = ["objectguid"] - setup_add_ldif(samdb, setup_path("provision_partitions.ldif"), { - "SCHEMADN": schemadn, - "SCHEMADN_LDB": "schema.ldb", - "SCHEMADN_MOD2": ",objectguid", - "CONFIGDN": configdn, - "CONFIGDN_LDB": "configuration.ldb", - "DOMAINDN": domaindn, - "DOMAINDN_LDB": "users.ldb", - "SCHEMADN_MOD": "schema_fsmo,instancetype", - "CONFIGDN_MOD": "naming_fsmo,instancetype", - "DOMAINDN_MOD": "pdc_fsmo,password_hash,instancetype", - "MODULES_LIST": ",".join(modules_list), - "TDB_MODULES_LIST": ","+",".join(tdb_modules_list), - "MODULES_LIST2": ",".join(modules_list2), - "BACKEND_MOD": ",".join(backend_modules), + samdb.transaction_start() + try: + setup_add_ldif(samdb, setup_path("provision_partitions.ldif"), { + "SCHEMADN": schemadn, + "SCHEMADN_LDB": schemadn_ldb, + "SCHEMADN_MOD2": ",objectguid", + "CONFIGDN": configdn, + "CONFIGDN_LDB": configdn_ldb, + "DOMAINDN": domaindn, + "DOMAINDN_LDB": domaindn_ldb, + "SCHEMADN_MOD": "schema_fsmo,instancetype", + "CONFIGDN_MOD": "naming_fsmo,instancetype", + "DOMAINDN_MOD": "pdc_fsmo,password_hash,instancetype", + "MODULES_LIST": ",".join(modules_list), + "TDB_MODULES_LIST": ","+",".join(tdb_modules_list), + "MODULES_LIST2": ",".join(modules_list2), + "BACKEND_MOD": ",".join(backend_modules), }) + except: + samdb.transaction_cancel() + raise + + samdb.transaction_commit() + samdb = SamDB(samdb_path, session_info=session_info, credentials=credentials, lp=lp) @@ -680,7 +688,7 @@ FILL_NT4SYNC = "NT4SYNC" FILL_DRS = "DRS" def provision(lp, setup_dir, message, paths, session_info, - credentials, ldapbackend, samdb_fill=FILL_FULL, realm=None, rootdn=None, + credentials, samdb_fill=FILL_FULL, realm=None, rootdn=None, domain=None, hostname=None, hostip=None, domainsid=None, hostguid=None, adminpass=None, krbtgtpass=None, domainguid=None, policyguid=None, invocationid=None, machinepass=None, diff --git a/source/setup/provision.py b/source/setup/provision.py index c8087f7..9f887e8 100755 --- a/source/setup/provision.py +++ b/source/setup/provision.py @@ -150,7 +150,7 @@ elif opts.partitions_only: samdb_fill = FILL_DRS provision(lp, setup_dir, message, paths, - system_session(), creds, opts.ldap_backend, + system_session(), creds, samdb_fill=samdb_fill, realm=opts.realm, domainguid=opts.domain_guid, domainsid=opts.domain_sid, policyguid=opts.policy_guid, hostname=opts.host_name, -- Samba Shared Repository