[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-653-gc8b0a8a

Andrew Bartlett abartlet at samba.org
Fri Feb 8 06:19:42 GMT 2008


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 <abartlet at samba.org>
Date:   Fri Feb 8 17:12:54 2008 +1100

    Remove unused parameter from provision()
    
    Andrew Bartlett

commit 8f0a89ca19d6a3986dacd981fab1ebbc8b1a4ad0
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Feb 8 17:12:25 2008 +1100

    LDAP now works with the python provision!
    
    Andrew Bartlett

commit 603e981250b26b533ec35dd607cb635226cf99df
Author: Andrew Bartlett <abartlet at samba.org>
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 <abartlet at samba.org>
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


More information about the samba-cvs mailing list