[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha3-90-g3522c7e

Jelmer Vernooij jelmer at samba.org
Thu Apr 10 03:26:08 GMT 2008


The branch, v4-0-test has been updated
       via  3522c7e2cf8c6d6129d941a08adcbe2ecbe0758d (commit)
       via  98c3d34eb233be284e8c8994cca337be25c72968 (commit)
       via  ca0e373e57eb225a1f5d96813e9ea9ccee971b96 (commit)
       via  62322f302fc92703cce1142bad17349987341cb6 (commit)
      from  a13f64bf54afc22516d1f6a786dfec67389cb754 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 3522c7e2cf8c6d6129d941a08adcbe2ecbe0758d
Merge: 98c3d34eb233be284e8c8994cca337be25c72968 a13f64bf54afc22516d1f6a786dfec67389cb754
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Apr 10 05:25:18 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into cprovision

commit 98c3d34eb233be284e8c8994cca337be25c72968
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Apr 10 05:23:17 2008 +0200

    Add infrastructure for returning ProvisionResult in C provision code.

commit ca0e373e57eb225a1f5d96813e9ea9ccee971b96
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 9 17:43:37 2008 +0200

    No longer install unused smbscript binary.

commit 62322f302fc92703cce1142bad17349987341cb6
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 9 17:14:01 2008 +0200

    Fix so version of hostconfig library.

-----------------------------------------------------------------------

Summary of changes:
 source/param/config.mk                     |    2 +-
 source/param/provision.c                   |   11 +++++++----
 source/param/provision.h                   |    8 +++++++-
 source/scripting/ejs/config.mk             |    1 -
 source/scripting/python/samba/provision.py |    2 +-
 source/torture/local/torture.c             |    6 +++++-
 6 files changed, 21 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/param/config.mk b/source/param/config.mk
index 064c293..b418248 100644
--- a/source/param/config.mk
+++ b/source/param/config.mk
@@ -1,6 +1,6 @@
 [LIBRARY::LIBSAMBA-HOSTCONFIG]
 VERSION = 0.0.1
-SO_VERSION = 1
+SO_VERSION = 0
 OBJ_FILES = loadparm.o \
 			generic.o \
 			util.o \
diff --git a/source/param/provision.c b/source/param/provision.c
index 5d1f01c..41b0628 100644
--- a/source/param/provision.c
+++ b/source/param/provision.c
@@ -29,9 +29,10 @@
 #include "scripting/python/modules.h"
 
 NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
-			struct provision_settings *settings)
+			struct provision_settings *settings, 
+			struct provision_result *result)
 {
-	PyObject *provision_mod, *provision_dict, *provision_fn, *result, *parameters;
+	PyObject *provision_mod, *provision_dict, *provision_fn, *py_result, *parameters;
 	
 	DEBUG(0,("Provision for Become-DC test using python\n"));
 
@@ -115,15 +116,17 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
 	PyDict_SetItemString(parameters, "machinepass", 
 			     PyString_FromString(settings->machine_password));
 
-	result = PyEval_CallObjectWithKeywords(provision_fn, NULL, parameters);
+	py_result = PyEval_CallObjectWithKeywords(provision_fn, NULL, parameters);
 
 	Py_DECREF(parameters);
 
-	if (result == NULL) {
+	if (py_result == NULL) {
 		PyErr_Print();
 		PyErr_Clear();
 		return NT_STATUS_UNSUCCESSFUL;
 	}
 
+	result->domaindn = talloc_strdup(mem_ctx, PyString_AsString(PyObject_GetAttrString(py_result, "domaindn")));
+
 	return NT_STATUS_OK;
 }
diff --git a/source/param/provision.h b/source/param/provision.h
index 323159d..e739053 100644
--- a/source/param/provision.h
+++ b/source/param/provision.h
@@ -39,7 +39,13 @@ struct provision_settings {
 	const char *targetdir;
 };
 
+/* FIXME: Rename this to hostconfig ? */
+struct provision_result {
+	const char *domaindn;
+};
+
 NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
-						struct provision_settings *settings);
+						struct provision_settings *settings,
+						struct provision_result *result);
 
 #endif /* _PROVISION_H_ */
diff --git a/source/scripting/ejs/config.mk b/source/scripting/ejs/config.mk
index 33a4ac9..ea64d24 100644
--- a/source/scripting/ejs/config.mk
+++ b/source/scripting/ejs/config.mk
@@ -90,7 +90,6 @@ PRIVATE_DEPENDENCIES = \
 #######################
 # Start BINARY SMBSCRIPT
 [BINARY::smbscript]
-INSTALLDIR = BINDIR
 OBJ_FILES = \
 		smbscript.o
 PRIVATE_DEPENDENCIES = EJS LIBSAMBA-UTIL smbcalls LIBSAMBA-HOSTCONFIG
diff --git a/source/scripting/python/samba/provision.py b/source/scripting/python/samba/provision.py
index c9cdcdb..ccf67a0 100644
--- a/source/scripting/python/samba/provision.py
+++ b/source/scripting/python/samba/provision.py
@@ -1082,7 +1082,7 @@ def provision_become_dc(setup_dir=None,
 	"""print a message if quiet is not set."""
         print text
 
-    provision(setup_dir, message, system_session(), None,
+    return provision(setup_dir, message, system_session(), None,
               smbconf=smbconf, targetdir=targetdir, samdb_fill=FILL_DRS, realm=realm, 
               rootdn=rootdn, domaindn=domaindn, schemadn=schemadn, configdn=configdn, serverdn=serverdn,
               domain=domain, hostname=hostname, hostip="127.0.0.1", domainsid=domainsid, machinepass=machinepass, serverrole="domain controller", sitename=sitename);
diff --git a/source/torture/local/torture.c b/source/torture/local/torture.c
index 718bd38..17d8345 100644
--- a/source/torture/local/torture.c
+++ b/source/torture/local/torture.c
@@ -44,6 +44,7 @@ static bool test_provision(struct torture_context *tctx)
 {
 	NTSTATUS status;
 	struct provision_settings *settings = talloc(tctx, struct provision_settings);
+	struct provision_result result;
 	char *targetdir = NULL;
 
 	torture_assert_ntstatus_ok(tctx, torture_temp_dir(tctx, "torture_provision", &targetdir), 
@@ -64,10 +65,13 @@ static bool test_provision(struct torture_context *tctx)
 	settings->ntds_dn_str = NULL;
 	settings->machine_password = "geheim";
 
-	status = provision_bare(settings, tctx->lp_ctx, settings);
+	status = provision_bare(settings, tctx->lp_ctx, settings, &result);
 			
 	torture_assert_ntstatus_ok(tctx, status, "provision");
 
+	torture_assert_str_equal(tctx, result.domaindn, "DC=EXAMPLE,DC=COM", 
+				 "domaindn incorrect");
+
 	return true;
 }
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list