s4:instancetype LDB module - don't impede control requests
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sat, 5 Mar 2011 16:28:13 +0000 (17:28 +0100)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Thu, 10 Mar 2011 10:12:04 +0000 (11:12 +0100)
source4/dsdb/samdb/ldb_modules/instancetype.c

index 21212bffa7ed3e474457121e8a7aed6d0bfa05a8..2044b05be4a461300509b6a054b95ae5272dbf49 100644 (file)
@@ -187,6 +187,13 @@ static int instancetype_mod(struct ldb_module *module, struct ldb_request *req)
        struct ldb_context *ldb = ldb_module_get_ctx(module);
        struct ldb_message_element *el;
 
+       /* do not manipulate our control entries */
+       if (ldb_dn_is_special(req->op.mod.message->dn)) {
+               return ldb_next_request(module, req);
+       }
+
+       ldb_debug(ldb, LDB_DEBUG_TRACE, "instancetype_mod\n");
+
        el = ldb_msg_find_element(req->op.mod.message, "instanceType");
        if (el != NULL) {
                ldb_set_errstring(ldb, "instancetype: the 'instanceType' attribute can never be changed!");