From a45f33f277e4fa1288808c75a5fbb5e50c835b60 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 9 Apr 2008 17:14:01 +0200 Subject: Fix so version of hostconfig library. (This used to be commit 62322f302fc92703cce1142bad17349987341cb6) --- source4/param/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/param') diff --git a/source4/param/config.mk b/source4/param/config.mk index 064c293fa4..b4182480a9 100644 --- a/source4/param/config.mk +++ b/source4/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 \ -- cgit From ad8e3e41923e20d401294eccd4da028e0f40c904 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 10 Apr 2008 05:23:17 +0200 Subject: Add infrastructure for returning ProvisionResult in C provision code. (This used to be commit 98c3d34eb233be284e8c8994cca337be25c72968) --- source4/param/provision.c | 11 +++++++---- source4/param/provision.h | 8 +++++++- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'source4/param') diff --git a/source4/param/provision.c b/source4/param/provision.c index 5d1f01c59a..41b062883c 100644 --- a/source4/param/provision.c +++ b/source4/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/source4/param/provision.h b/source4/param/provision.h index 323159d417..e739053d50 100644 --- a/source4/param/provision.h +++ b/source4/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_ */ -- cgit From 8ed6f6d5a825c8b0e8d66d30877a91a96fe6e7a4 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 11 Apr 2008 00:43:23 +0200 Subject: Return SAM ldb context and loadparm context as part of C provision result. (This used to be commit a3e1b835656470f1a80f0fa69f53a9df849baee3) --- source4/param/provision.c | 7 +++++++ source4/param/provision.h | 2 ++ 2 files changed, 9 insertions(+) (limited to 'source4/param') diff --git a/source4/param/provision.c b/source4/param/provision.c index 41b062883c..e55d984e55 100644 --- a/source4/param/provision.c +++ b/source4/param/provision.c @@ -32,6 +32,8 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, struct provision_settings *settings, struct provision_result *result) { + extern struct loadparm_context *lp_from_py_object(PyObject *py_obj); + struct ldb_context *ldb_context_from_py_object(PyObject *py_obj); PyObject *provision_mod, *provision_dict, *provision_fn, *py_result, *parameters; DEBUG(0,("Provision for Become-DC test using python\n")); @@ -128,5 +130,10 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, result->domaindn = talloc_strdup(mem_ctx, PyString_AsString(PyObject_GetAttrString(py_result, "domaindn"))); + /* FIXME paths */ + /* FIXME samdb */ + result->lp_ctx = lp_from_py_object(PyObject_GetAttrString(py_result, "lp")); + result->samdb = ldb_context_from_py_object(PyObject_GetAttrString(py_result, "samdb")); + return NT_STATUS_OK; } diff --git a/source4/param/provision.h b/source4/param/provision.h index e739053d50..6b5bc798df 100644 --- a/source4/param/provision.h +++ b/source4/param/provision.h @@ -42,6 +42,8 @@ struct provision_settings { /* FIXME: Rename this to hostconfig ? */ struct provision_result { const char *domaindn; + struct ldb_context *samdb; + struct loadparm_context *lp_ctx; }; NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, -- cgit