diff options
author | Nadezhda Ivanova <nadezhda.ivanova@postpath.com> | 2009-11-18 18:47:29 +0200 |
---|---|---|
committer | Nadezhda Ivanova <nadezhda.ivanova@postpath.com> | 2009-11-18 18:47:29 +0200 |
commit | 6178c17e09a5aed968dac49b16ed0b59750aef1c (patch) | |
tree | 028a37a09e2f0a07480849535e9602d3d9576096 /source4/lib/ldb | |
parent | da8aba53d61496d0df2bd32f92030cdee0300f2f (diff) | |
download | samba-6178c17e09a5aed968dac49b16ed0b59750aef1c.tar.gz samba-6178c17e09a5aed968dac49b16ed0b59750aef1c.tar.bz2 samba-6178c17e09a5aed968dac49b16ed0b59750aef1c.zip |
Added control copying for message types other than ldb_search.
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.
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r-- | source4/lib/ldb/ldb_ildap/ldb_ildap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source4/lib/ldb/ldb_ildap/ldb_ildap.c b/source4/lib/ldb/ldb_ildap/ldb_ildap.c index 061238b277..53257a1ab0 100644 --- a/source4/lib/ldb/ldb_ildap/ldb_ildap.c +++ b/source4/lib/ldb/ldb_ildap/ldb_ildap.c @@ -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); } |