summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-01-07 10:22:26 +1100
committerAndrew Tridgell <tridge@samba.org>2010-01-08 13:03:03 +1100
commitf7756c87bb8bd1eba8d7f92cfbc797db42d3de4a (patch)
tree0f5dca5301222af801669cf5aca81d89b8e95809
parent9672a3d1cc17dd800403a9987602403b8c6e757f (diff)
downloadsamba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.tar.gz
samba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.tar.bz2
samba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.zip
s4-partition: don't ignore errors from other modules
if we get an error code from a lower module, we don't want to ignore it just because something also succeeded
-rw-r--r--source4/dsdb/samdb/ldb_modules/partition.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c
index 01ae0a10a7..b879bc4106 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -39,7 +39,6 @@ struct part_request {
struct partition_context {
struct ldb_module *module;
struct ldb_request *req;
- bool got_success;
struct part_request *part_req;
int num_requests;
@@ -160,7 +159,7 @@ static int partition_req_callback(struct ldb_request *req,
}
}
- if (ares->error != LDB_SUCCESS && !ac->got_success) {
+ if (ares->error != LDB_SUCCESS) {
return ldb_module_done(ac->req, ares->controls,
ares->response, ares->error);
}
@@ -182,9 +181,6 @@ static int partition_req_callback(struct ldb_request *req,
return ldb_module_send_entry(ac->req, ares->message, ares->controls);
case LDB_REPLY_DONE:
- if (ares->error == LDB_SUCCESS) {
- ac->got_success = true;
- }
if (ac->req->operation == LDB_EXTENDED) {
/* FIXME: check for ares->response, replmd does not fill it ! */
if (ares->response) {
@@ -205,7 +201,7 @@ static int partition_req_callback(struct ldb_request *req,
/* this was the last one, call callback */
return ldb_module_done(ac->req, ares->controls,
ares->response,
- ac->got_success?LDB_SUCCESS:ares->error);
+ ares->error);
}
/* not the last, now call the next one */