LDB_CONTROL_RECALCULATE_SD_OID no meta data
authorStefan Metzmacher <metze@samba.org>
Fri, 16 Nov 2012 17:00:26 +0000 (18:00 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 19 Nov 2012 11:02:08 +0000 (12:02 +0100)
source4/dsdb/samdb/ldb_modules/repl_meta_data.c

index 6b5e1219f80c95b750a50f842e513cc73d1790e1..921a22c405455f8a65168b94a9a2b7bcc4d94143 100644 (file)
@@ -2306,12 +2306,21 @@ static int replmd_modify(struct ldb_module *module, struct ldb_request *req)
        bool is_urgent = false, rodc = false;
        unsigned int functional_level;
        const DATA_BLOB *guid_blob;
+       struct ldb_control *sd_recalculate_control;
 
        /* do not manipulate our control entries */
        if (ldb_dn_is_special(req->op.mod.message->dn)) {
                return ldb_next_request(module, req);
        }
 
+       sd_recalculate_control = ldb_request_get_control(req,
+                                            LDB_CONTROL_RECALCULATE_SD_OID);
+       if ((sd_recalculate_control != NULL) &&
+           (sd_recalculate_control->data != NULL))
+       {
+               return ldb_next_request(module, req);
+       }
+
        ldb = ldb_module_get_ctx(module);
 
        ldb_debug(ldb, LDB_DEBUG_TRACE, "replmd_modify\n");