struct ldb_request *req)
{
struct ldb_context *ldb;
+ struct ldb_control *sd_propagation_control;
+ int ret;
+
struct oc_context *ac;
ldb = ldb_module_get_ctx(module);
return ldb_next_request(module, req);
}
+ sd_propagation_control = ldb_request_get_control(req,
+ DSDB_CONTROL_SEC_DESC_PROPAGATION_OID);
+ if (sd_propagation_control != NULL) {
+ if (req->op.mod.message->num_elements != 1) {
+ return ldb_module_operr(module);
+ }
+ ret = strcmp(req->op.mod.message->elements[0].name,
+ "nTSecurityDescriptor");
+ if (ret != 0) {
+ return ldb_module_operr(module);
+ }
+
+ return ldb_next_request(module, req);
+ }
+
ac = oc_init_context(module, req);
if (ac == NULL) {
return ldb_operr(ldb);