Fix extended_dn_store for modify requests
authorAndrew Bartlett <abartlet@samba.org>
Fri, 21 Nov 2008 03:16:06 +0000 (14:16 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 21 Nov 2008 03:16:06 +0000 (14:16 +1100)
source4/dsdb/samdb/ldb_modules/extended_dn_store.c

index ceabf3829bb73b0e2eed75af70fc00a285f609e9..9ae9f6953b80330475a06836ac004d608efcc55d 100644 (file)
@@ -388,13 +388,13 @@ static int extended_dn_modify(struct ldb_module *module, struct ldb_request *req
                
                /* Before we setup a procedure to modify the incoming message, we must copy it */
                if (!ac->new_req) {
-                       struct ldb_message *msg = ldb_msg_copy(ac, req->op.add.message);
+                       struct ldb_message *msg = ldb_msg_copy(ac, req->op.mod.message);
                        if (!msg) {
                                ldb_oom(module->ldb);
                                return LDB_ERR_OPERATIONS_ERROR;
                        }
                   
-                       ret = ldb_build_add_req(&ac->new_req, module->ldb, ac, msg, req->controls, ac, extended_final_callback, req);
+                       ret = ldb_build_mod_req(&ac->new_req, module->ldb, ac, msg, req->controls, ac, extended_final_callback, req);
                        if (ret != LDB_SUCCESS) {
                                return ret;
                        }
@@ -413,7 +413,7 @@ static int extended_dn_modify(struct ldb_module *module, struct ldb_request *req
                                /* NO need to figure this DN out, it's going to be deleted anyway */
                                continue;
                        }
-                       ret = extended_store_replace(ac, ac->new_req->op.mod.message->elements, &el->values[j]);
+                       ret = extended_store_replace(ac, req->op.mod.message->elements, &el->values[j]);
                        if (ret != LDB_SUCCESS) {
                                return ret;
                        }