diff options
Diffstat (limited to 'source4/param')
-rw-r--r-- | source4/param/provision.c | 9 | ||||
-rw-r--r-- | source4/param/provision.h | 4 |
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_ */ |