From: Stefan Metzmacher Date: Fri, 23 Nov 2012 15:46:51 +0000 (+0100) Subject: s4:dsdb/acl_util: add dsdb_module_schedule_sd_propagation() X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=dae1b0d85207040fed873d4232a45206b0162f53;p=mat%2Fsamba.git s4:dsdb/acl_util: add dsdb_module_schedule_sd_propagation() Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam --- diff --git a/source4/dsdb/samdb/ldb_modules/acl_util.c b/source4/dsdb/samdb/ldb_modules/acl_util.c index aa7e1aa1d6..fc6a55a2de 100644 --- a/source4/dsdb/samdb/ldb_modules/acl_util.c +++ b/source4/dsdb/samdb/ldb_modules/acl_util.c @@ -239,3 +239,32 @@ uint32_t dsdb_request_sd_flags(struct ldb_request *req, bool *explicit) return sd_flags; } + +int dsdb_module_schedule_sd_propagation(struct ldb_module *module, + struct ldb_dn *nc_root, + struct ldb_dn *dn, + bool include_self) +{ + struct ldb_context *ldb = ldb_module_get_ctx(module); + struct dsdb_extended_sec_desc_propagation_op *op; + int ret; + + op = talloc_zero(module, struct dsdb_extended_sec_desc_propagation_op); + if (op == NULL) { + return ldb_oom(ldb); + } + + op->nc_root = nc_root; + op->dn = dn; + op->include_self = include_self; + + ret = dsdb_module_extended(module, op, NULL, + DSDB_EXTENDED_SEC_DESC_PROPAGATION_OID, + op, + DSDB_FLAG_TOP_MODULE | + DSDB_FLAG_AS_SYSTEM | + DSDB_FLAG_TRUSTED, + NULL); + TALLOC_FREE(op); + return ret; +}