summaryrefslogtreecommitdiff
path: root/source4/param
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-04-11 11:11:42 +1000
committerAndrew Bartlett <abartlet@samba.org>2008-04-11 11:11:42 +1000
commitae977ef24780c52da66e3608a3ed94649ae9f873 (patch)
tree51f1a491b9f515049bc6eb3dc2b3b8ae2a3743e6 /source4/param
parent9198a519bea19a4d9f863fde5fb3aa23f60b5c88 (diff)
parent8ed6f6d5a825c8b0e8d66d30877a91a96fe6e7a4 (diff)
downloadsamba-ae977ef24780c52da66e3608a3ed94649ae9f873.tar.gz
samba-ae977ef24780c52da66e3608a3ed94649ae9f873.tar.bz2
samba-ae977ef24780c52da66e3608a3ed94649ae9f873.zip
Fix merge errors on C provision interface after jelmer's good work.
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartlet Conflicts: source/torture/local/torture.c (This used to be commit 5bf1c89cf8af08fbcf4f5089079920840daad7b8)
Diffstat (limited to 'source4/param')
-rw-r--r--source4/param/config.mk2
-rw-r--r--source4/param/provision.c18
-rw-r--r--source4/param/provision.h10
3 files changed, 24 insertions, 6 deletions
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 \
diff --git a/source4/param/provision.c b/source4/param/provision.c
index a15993ffc8..d9b2dd899d 100644
--- a/source4/param/provision.c
+++ b/source4/param/provision.c
@@ -29,9 +29,12 @@
#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;
+ 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"));
@@ -115,15 +118,22 @@ 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")));
+
+ /* 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 38a66966c8..df95549272 100644
--- a/source4/param/provision.h
+++ b/source4/param/provision.h
@@ -38,7 +38,15 @@ struct provision_settings {
const char *targetdir;
};
+/* 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,
- struct provision_settings *settings);
+ struct provision_settings *settings,
+ struct provision_result *result);
#endif /* _PROVISION_H_ */