summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadezhda Ivanova <nadezhda.ivanova@postpath.com>2009-11-18 18:47:29 +0200
committerNadezhda Ivanova <nadezhda.ivanova@postpath.com>2009-11-18 18:47:29 +0200
commit6178c17e09a5aed968dac49b16ed0b59750aef1c (patch)
tree028a37a09e2f0a07480849535e9602d3d9576096
parentda8aba53d61496d0df2bd32f92030cdee0300f2f (diff)
downloadsamba-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.
-rw-r--r--source4/lib/ldb/ldb_ildap/ldb_ildap.c5
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);
}