diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-04-11 11:11:42 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-04-11 11:11:42 +1000 |
commit | ae977ef24780c52da66e3608a3ed94649ae9f873 (patch) | |
tree | 51f1a491b9f515049bc6eb3dc2b3b8ae2a3743e6 /source4/param | |
parent | 9198a519bea19a4d9f863fde5fb3aa23f60b5c88 (diff) | |
parent | 8ed6f6d5a825c8b0e8d66d30877a91a96fe6e7a4 (diff) | |
download | samba-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.mk | 2 | ||||
-rw-r--r-- | source4/param/provision.c | 18 | ||||
-rw-r--r-- | source4/param/provision.h | 10 |
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_ */ |