]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Added control copying for message types other than ldb_search.
authorNadezhda Ivanova <nadezhda.ivanova@postpath.com>
Wed, 18 Nov 2009 16:47:29 +0000 (18:47 +0200)
committerNadezhda Ivanova <nadezhda.ivanova@postpath.com>
Wed, 18 Nov 2009 16:47:29 +0000 (18:47 +0200)
When ildap created a new message to forward, it only copied controls for ldb_search
requests. This caused controls for add and modify to be lost in transition
and tests for them could not be implemented.

source4/lib/ldb/ldb_ildap/ldb_ildap.c

index 061238b27703e3221d6cf893a5746d7508793b24..53257a1ab09dd8a5da2ab337e58fb4b8ece7f653 100644 (file)
@@ -513,6 +513,7 @@ static int ildb_add(struct ildb_context *ac)
        for (i = 0; i < n; i++) {
                msg->r.AddRequest.attributes[i] = mods[i]->attrib;
        }
+       msg->controls = req->controls;
 
        return ildb_request_send(ac, msg);
 }
@@ -556,7 +557,7 @@ static int ildb_modify(struct ildb_context *ac)
        for (i = 0; i < n; i++) {
                msg->r.ModifyRequest.mods[i] = *mods[i];
        }
-
+       msg->controls = req->controls;
        return ildb_request_send(ac, msg);
 }
 
@@ -580,6 +581,7 @@ static int ildb_delete(struct ildb_context *ac)
                talloc_free(msg);
                return LDB_ERR_INVALID_DN_SYNTAX;
        }
+       msg->controls = req->controls;
 
        return ildb_request_send(ac, msg);
 }
@@ -629,6 +631,7 @@ static int ildb_rename(struct ildb_context *ac)
        }
 
        msg->r.ModifyDNRequest.deleteolddn = true;
+       msg->controls = req->controls;
 
        return ildb_request_send(ac, msg);
 }