summaryrefslogtreecommitdiff
path: root/source4/param
diff options
context:
space:
mode:
Diffstat (limited to 'source4/param')
-rw-r--r--source4/param/provision.c9
-rw-r--r--source4/param/provision.h4
2 files changed, 11 insertions, 2 deletions
diff --git a/source4/param/provision.c b/source4/param/provision.c
index 55540d4fc4..766babead4 100644
--- a/source4/param/provision.c
+++ b/source4/param/provision.c
@@ -330,7 +330,9 @@ failure:
}
-struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
+struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx,
+ struct loadparm_context *lp_ctx,
+ const char *schema_dn,
DATA_BLOB *override_prefixmap)
{
PyObject *schema_mod, *schema_dict, *schema_fn, *py_result, *parameters;
@@ -362,6 +364,11 @@ struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx, struct loadparm_co
parameters = PyDict_New();
+ if (schema_dn) {
+ PyDict_SetItemString(parameters, "schemadn",
+ PyString_FromString(schema_dn));
+ }
+
if (override_prefixmap) {
PyDict_SetItemString(parameters, "override_prefixmap",
PyString_FromStringAndSize((const char *)override_prefixmap->data,
diff --git a/source4/param/provision.h b/source4/param/provision.h
index 36758b9707..fc0287831c 100644
--- a/source4/param/provision.h
+++ b/source4/param/provision.h
@@ -63,7 +63,9 @@ NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context
struct provision_store_self_join_settings *settings,
const char **error_string);
-struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
+struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx,
+ struct loadparm_context *lp_ctx,
+ const char *schema_dn,
DATA_BLOB *override_prefixmap);
#endif /* _PROVISION_H_ */