From 85ba79063f35b5a073b3670b82daa2aa6dfb40bb Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 24 Sep 2010 12:50:13 -0700 Subject: ldb: mark the location of a lot more ldb requests --- source4/dsdb/samdb/ldb_modules/descriptor.c | 4 ++++ source4/dsdb/samdb/ldb_modules/extended_dn_in.c | 4 ++++ source4/dsdb/samdb/ldb_modules/extended_dn_store.c | 4 +++- source4/dsdb/samdb/ldb_modules/instancetype.c | 3 ++- source4/dsdb/samdb/ldb_modules/linked_attributes.c | 4 ++++ source4/dsdb/samdb/ldb_modules/local_password.c | 9 +++++++++ source4/dsdb/samdb/ldb_modules/new_partition.c | 2 ++ source4/dsdb/samdb/ldb_modules/objectclass.c | 9 +++++++++ source4/dsdb/samdb/ldb_modules/objectclass_attrs.c | 3 +++ source4/dsdb/samdb/ldb_modules/objectguid.c | 2 ++ source4/dsdb/samdb/ldb_modules/operational.c | 1 + source4/dsdb/samdb/ldb_modules/partition.c | 10 ++++++++++ source4/dsdb/samdb/ldb_modules/partition_init.c | 5 ++++- source4/dsdb/samdb/ldb_modules/password_hash.c | 22 ++++++++++++++-------- source4/dsdb/samdb/ldb_modules/proxy.c | 2 +- source4/dsdb/samdb/ldb_modules/ranged_results.c | 1 + source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 12 +++++++++--- source4/dsdb/samdb/ldb_modules/resolve_oids.c | 3 +++ source4/dsdb/samdb/ldb_modules/rootdse.c | 2 ++ source4/dsdb/samdb/ldb_modules/samba3sid.c | 1 + source4/dsdb/samdb/ldb_modules/samldb.c | 1 + source4/dsdb/samdb/ldb_modules/schema_data.c | 1 + source4/dsdb/samdb/ldb_modules/schema_load.c | 1 + source4/dsdb/samdb/ldb_modules/show_deleted.c | 1 + source4/dsdb/samdb/ldb_modules/simple_ldap_map.c | 1 + source4/dsdb/samdb/ldb_modules/subtree_rename.c | 2 ++ source4/dsdb/samdb/ldb_modules/update_keytab.c | 5 +++++ source4/dsdb/samdb/ldb_modules/util.c | 9 +++++++++ 28 files changed, 109 insertions(+), 15 deletions(-) (limited to 'source4/dsdb/samdb') diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c b/source4/dsdb/samdb/ldb_modules/descriptor.c index 03e445e73c..959a7d8cd1 100644 --- a/source4/dsdb/samdb/ldb_modules/descriptor.c +++ b/source4/dsdb/samdb/ldb_modules/descriptor.c @@ -645,6 +645,7 @@ static int descriptor_do_mod(struct descriptor_context *ac) ac->req->controls, ac, descriptor_op_callback, ac->req); + LDB_REQ_SET_LOCATION(mod_req); if (ret != LDB_SUCCESS) { return ret; } @@ -744,6 +745,7 @@ static int descriptor_do_add(struct descriptor_context *ac) ac->req->controls, ac, descriptor_op_callback, ac->req); + LDB_REQ_SET_LOCATION(add_req); if (ret != LDB_SUCCESS) { return ret; } @@ -755,6 +757,7 @@ static int descriptor_do_add(struct descriptor_context *ac) NULL, ac, get_search_oc_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -820,6 +823,7 @@ static int descriptor_change(struct ldb_module *module, struct ldb_request *req) NULL, ac, get_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c index 3dec685678..78f0426ce9 100644 --- a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c +++ b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c @@ -212,6 +212,7 @@ static int extended_base_callback(struct ldb_request *req, struct ldb_reply *are ac->req->controls, ac, extended_final_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); break; } case LDB_DELETE: @@ -221,6 +222,7 @@ static int extended_base_callback(struct ldb_request *req, struct ldb_reply *are ac->req->controls, ac, extended_final_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); break; case LDB_RENAME: ret = ldb_build_rename_req(&down_req, @@ -230,6 +232,7 @@ static int extended_base_callback(struct ldb_request *req, struct ldb_reply *are ac->req->controls, ac, extended_final_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); break; default: return ldb_module_done(ac->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); @@ -358,6 +361,7 @@ static int extended_dn_in_fix(struct ldb_module *module, struct ldb_request *req NULL, ac, extended_base_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ldb_operr(ldb_module_get_ctx(module)); } diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_store.c b/source4/dsdb/samdb/ldb_modules/extended_dn_store.c index 3f5f451f94..15af268a8f 100644 --- a/source4/dsdb/samdb/ldb_modules/extended_dn_store.c +++ b/source4/dsdb/samdb/ldb_modules/extended_dn_store.c @@ -269,7 +269,7 @@ static int extended_store_replace(struct extended_dn_context *ac, ac->ldb, os, os->dsdb_dn->dn, LDB_SCOPE_BASE, NULL, attrs, NULL, os, extended_replace_dn, ac->req); - + LDB_REQ_SET_LOCATION(os->search_req); if (ret != LDB_SUCCESS) { talloc_free(os); return ret; @@ -337,6 +337,7 @@ static int extended_dn_add(struct ldb_module *module, struct ldb_request *req) } ret = ldb_build_add_req(&ac->new_req, ac->ldb, ac, msg, req->controls, ac, extended_final_callback, req); + LDB_REQ_SET_LOCATION(ac->new_req); if (ret != LDB_SUCCESS) { return ret; } @@ -412,6 +413,7 @@ static int extended_dn_modify(struct ldb_module *module, struct ldb_request *req } ret = ldb_build_mod_req(&ac->new_req, ac->ldb, ac, msg, req->controls, ac, extended_final_callback, req); + LDB_REQ_SET_LOCATION(ac->new_req); if (ret != LDB_SUCCESS) { talloc_free(ac); return ret; diff --git a/source4/dsdb/samdb/ldb_modules/instancetype.c b/source4/dsdb/samdb/ldb_modules/instancetype.c index 0a11bccbca..5032462196 100644 --- a/source4/dsdb/samdb/ldb_modules/instancetype.c +++ b/source4/dsdb/samdb/ldb_modules/instancetype.c @@ -142,7 +142,7 @@ static int instancetype_add(struct ldb_module *module, struct ldb_request *req) ac->req->controls, ac, it_add_callback, ac->req); - + LDB_REQ_SET_LOCATION(ac->add_req); if (ret != LDB_SUCCESS) { return ret; } @@ -172,6 +172,7 @@ static int instancetype_add(struct ldb_module *module, struct ldb_request *req) req->controls, req, dsdb_next_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c index 29f9d0d697..b09d0cb148 100644 --- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c +++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c @@ -563,6 +563,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques NULL, ac, la_mod_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); /* We need to figure out our own extended DN, to fill in as the backlink target */ if (ret == LDB_SUCCESS) { @@ -853,6 +854,7 @@ static int la_add_callback(struct ldb_request *req, struct ldb_reply *ares) NULL, ac, la_mod_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret == LDB_SUCCESS) { ret = ldb_request_add_control(search_req, @@ -891,6 +893,7 @@ static int la_down_req(struct la_context *ac) ac->req->controls, ac, la_add_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); break; case LDB_MODIFY: ret = ldb_build_mod_req(&down_req, ldb, ac, @@ -898,6 +901,7 @@ static int la_down_req(struct la_context *ac) ac->req->controls, ac, la_mod_del_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); break; default: ret = LDB_ERR_OPERATIONS_ERROR; diff --git a/source4/dsdb/samdb/ldb_modules/local_password.c b/source4/dsdb/samdb/ldb_modules/local_password.c index 022a6dc98d..359a3d0e05 100644 --- a/source4/dsdb/samdb/ldb_modules/local_password.c +++ b/source4/dsdb/samdb/ldb_modules/local_password.c @@ -241,6 +241,7 @@ static int local_password_add(struct ldb_module *module, struct ldb_request *req req->controls, ac, lpdb_add_callback, req); + LDB_REQ_SET_LOCATION(remote_req); if (ret != LDB_SUCCESS) { return ret; } @@ -284,6 +285,7 @@ static int lpdb_add_callback(struct ldb_request *req, NULL, ac, lpdb_local_callback, ac->req); + LDB_REQ_SET_LOCATION(local_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, ret); } @@ -369,6 +371,7 @@ static int local_password_modify(struct ldb_module *module, struct ldb_request * req->controls, ac, lpdb_modify_callabck, req); + LDB_REQ_SET_LOCATION(remote_req); if (ret != LDB_SUCCESS) { return ret; } @@ -415,6 +418,7 @@ static int lpdb_modify_callabck(struct ldb_request *req, NULL, ac, lpdb_mod_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); @@ -523,6 +527,7 @@ static int lpdb_mod_search_callback(struct ldb_request *req, NULL, ac, lpdb_local_callback, ac->req); + LDB_REQ_SET_LOCATION(local_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, ret); } @@ -580,6 +585,7 @@ static int local_password_delete(struct ldb_module *module, req->controls, ac, lpdb_delete_callabck, req); + LDB_REQ_SET_LOCATION(remote_req); if (ret != LDB_SUCCESS) { return ret; } @@ -626,6 +632,7 @@ static int lpdb_delete_callabck(struct ldb_request *req, NULL, ac, lpdb_del_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); @@ -731,6 +738,7 @@ static int lpdb_del_search_callback(struct ldb_request *req, NULL, ac, lpdb_local_callback, ac->req); + LDB_REQ_SET_LOCATION(local_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, ret); } @@ -769,6 +777,7 @@ static int lpdb_local_search(struct lpdb_context *ac) NULL, ac, lpdb_local_search_callback, ac->req); + LDB_REQ_SET_LOCATION(local_req); if (ret != LDB_SUCCESS) { return ldb_operr(ldb); } diff --git a/source4/dsdb/samdb/ldb_modules/new_partition.c b/source4/dsdb/samdb/ldb_modules/new_partition.c index 33da2a445b..8e63eac40c 100644 --- a/source4/dsdb/samdb/ldb_modules/new_partition.c +++ b/source4/dsdb/samdb/ldb_modules/new_partition.c @@ -123,6 +123,7 @@ static int np_part_search_callback(struct ldb_request *req, struct ldb_reply *ar ldb, ac, DSDB_EXTENDED_CREATE_PARTITION_OID, ex_op, NULL, ac, np_part_mod_callback, req); + LDB_REQ_SET_LOCATION(ac->part_add); if (ret != LDB_SUCCESS) { return ret; } @@ -182,6 +183,7 @@ static int new_partition_add(struct ldb_module *module, struct ldb_request *req) LDB_SCOPE_BASE, NULL, no_attrs, req->controls, ac, np_part_search_callback, req); + LDB_REQ_SET_LOCATION(ac->search_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/objectclass.c b/source4/dsdb/samdb/ldb_modules/objectclass.c index 005f0f2820..7541e1d03d 100644 --- a/source4/dsdb/samdb/ldb_modules/objectclass.c +++ b/source4/dsdb/samdb/ldb_modules/objectclass.c @@ -423,6 +423,7 @@ static int objectclass_add(struct ldb_module *module, struct ldb_request *req) NULL, ac, get_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -739,6 +740,7 @@ static int objectclass_do_add(struct oc_context *ac) ac->req->controls, ac, oc_op_callback, ac->req); + LDB_REQ_SET_LOCATION(add_req); if (ret != LDB_SUCCESS) { return ret; } @@ -804,6 +806,7 @@ static int objectclass_modify(struct ldb_module *module, struct ldb_request *req req->controls, ac, oc_changes ? oc_modify_callback : oc_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -853,6 +856,7 @@ static int oc_modify_callback(struct ldb_request *req, struct ldb_reply *ares) attrs, NULL, ac, get_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, ret); } @@ -1097,6 +1101,7 @@ static int objectclass_do_mod(struct oc_context *ac) ac->req->controls, ac, oc_op_callback, ac->req); + LDB_REQ_SET_LOCATION(mod_req); if (ret != LDB_SUCCESS) { return ret; } @@ -1144,6 +1149,7 @@ static int objectclass_rename(struct ldb_module *module, struct ldb_request *req attrs, NULL, ac, get_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -1195,6 +1201,7 @@ static int objectclass_do_rename(struct oc_context *ac) attrs, NULL, ac, get_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -1311,6 +1318,7 @@ static int objectclass_do_rename2(struct oc_context *ac) ac->req->controls, ac, oc_op_callback, ac->req); + LDB_REQ_SET_LOCATION(rename_req); if (ret != LDB_SUCCESS) { return ret; } @@ -1358,6 +1366,7 @@ static int objectclass_delete(struct ldb_module *module, struct ldb_request *req attrs, NULL, ac, get_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c index 555295a6f4..2f43cc2416 100644 --- a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c +++ b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c @@ -147,10 +147,12 @@ static int attr_handler(struct oc_context *ac) ret = ldb_build_add_req(&child_req, ldb, ac, msg, ac->req->controls, ac, oc_op_callback, ac->req); + LDB_REQ_SET_LOCATION(child_req); } else { ret = ldb_build_mod_req(&child_req, ldb, ac, msg, ac->req->controls, ac, oc_op_callback, ac->req); + LDB_REQ_SET_LOCATION(child_req); } if (ret != LDB_SUCCESS) { return ret; @@ -342,6 +344,7 @@ static int oc_op_callback(struct ldb_request *req, struct ldb_reply *ares) LDB_SCOPE_BASE, "(objectClass=*)", NULL, NULL, ac, get_search_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ldb_module_done(ac->req, NULL, NULL, ret); } diff --git a/source4/dsdb/samdb/ldb_modules/objectguid.c b/source4/dsdb/samdb/ldb_modules/objectguid.c index 8ab49d1472..bf730d9da3 100644 --- a/source4/dsdb/samdb/ldb_modules/objectguid.c +++ b/source4/dsdb/samdb/ldb_modules/objectguid.c @@ -199,6 +199,7 @@ static int objectguid_add(struct ldb_module *module, struct ldb_request *req) req->controls, ac, og_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -257,6 +258,7 @@ static int objectguid_modify(struct ldb_module *module, struct ldb_request *req) req->controls, ac, og_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/operational.c b/source4/dsdb/samdb/ldb_modules/operational.c index ee987d078e..72feacfc1a 100644 --- a/source4/dsdb/samdb/ldb_modules/operational.c +++ b/source4/dsdb/samdb/ldb_modules/operational.c @@ -820,6 +820,7 @@ static int operational_search(struct ldb_module *module, struct ldb_request *req req->controls, ac, operational_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ldb_operr(ldb); } diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c index 5065bd565e..68f31bce36 100644 --- a/source4/dsdb/samdb/ldb_modules/partition.c +++ b/source4/dsdb/samdb/ldb_modules/partition.c @@ -258,6 +258,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; case LDB_ADD: ret = ldb_build_add_req(&req, ldb_module_get_ctx(ac->module), ac->part_req, @@ -265,6 +266,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; case LDB_MODIFY: ret = ldb_build_mod_req(&req, ldb_module_get_ctx(ac->module), ac->part_req, @@ -272,6 +274,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; case LDB_DELETE: ret = ldb_build_del_req(&req, ldb_module_get_ctx(ac->module), ac->part_req, @@ -279,6 +282,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; case LDB_RENAME: ret = ldb_build_rename_req(&req, ldb_module_get_ctx(ac->module), ac->part_req, @@ -287,6 +291,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; case LDB_EXTENDED: ret = ldb_build_extended_req(&req, ldb_module_get_ctx(ac->module), @@ -296,6 +301,7 @@ static int partition_prep_request(struct partition_context *ac, ac->req->controls, ac, partition_req_callback, ac->req); + LDB_REQ_SET_LOCATION(req); break; default: ldb_set_errstring(ldb_module_get_ctx(ac->module), @@ -878,6 +884,7 @@ int partition_primary_sequence_number(struct ldb_module *module, TALLOC_CTX *mem res, ldb_extended_default_callback, NULL); + LDB_REQ_SET_LOCATION(treq); if (ret != LDB_SUCCESS) { talloc_free(res); return ret; @@ -967,6 +974,7 @@ static int partition_sequence_number(struct ldb_module *module, struct ldb_reque res, ldb_extended_default_callback, NULL); + LDB_REQ_SET_LOCATION(treq); if (ret != LDB_SUCCESS) { talloc_free(res); return ret; @@ -1024,6 +1032,7 @@ static int partition_sequence_number(struct ldb_module *module, struct ldb_reque res, ldb_extended_default_callback, NULL); + LDB_REQ_SET_LOCATION(treq); if (ret != LDB_SUCCESS) { talloc_free(res); return ret; @@ -1068,6 +1077,7 @@ static int partition_sequence_number(struct ldb_module *module, struct ldb_reque res, ldb_extended_default_callback, NULL); + LDB_REQ_SET_LOCATION(treq); if (ret != LDB_SUCCESS) { talloc_free(res); return ret; diff --git a/source4/dsdb/samdb/ldb_modules/partition_init.c b/source4/dsdb/samdb/ldb_modules/partition_init.c index 87c25430b5..0ab8bada13 100644 --- a/source4/dsdb/samdb/ldb_modules/partition_init.c +++ b/source4/dsdb/samdb/ldb_modules/partition_init.c @@ -562,6 +562,7 @@ static int new_partition_set_replicated_metadata(struct ldb_context *ldb, ret = ldb_build_add_req(&add_req, ldb, replicate_res, replicate_res->msgs[0], NULL, NULL, ldb_op_default_callback, last_req); + LDB_REQ_SET_LOCATION(add_req); last_req = add_req; if (ret != LDB_SUCCESS) { /* return directly, this is a very unlikely error */ @@ -589,6 +590,7 @@ static int new_partition_set_replicated_metadata(struct ldb_context *ldb, /* Build del request */ ret = ldb_build_del_req(&del_req, ldb, replicate_res, replicate_res->msgs[0]->dn, NULL, NULL, ldb_op_default_callback, last_req); + LDB_REQ_SET_LOCATION(del_req); last_req = del_req; if (ret != LDB_SUCCESS) { /* return directly, this is a very unlikely error */ @@ -615,6 +617,7 @@ static int new_partition_set_replicated_metadata(struct ldb_context *ldb, /* Build add request */ ret = ldb_build_add_req(&add_req, ldb, replicate_res, replicate_res->msgs[0], NULL, NULL, ldb_op_default_callback, last_req); + LDB_REQ_SET_LOCATION(add_req); last_req = add_req; if (ret != LDB_SUCCESS) { /* return directly, this is a very unlikely error */ @@ -752,7 +755,7 @@ int partition_create(struct ldb_module *module, struct ldb_request *req) /* Perform modify on @PARTITION record */ ret = ldb_build_mod_req(&mod_req, ldb, req, mod_msg, NULL, NULL, ldb_op_default_callback, req); - + LDB_REQ_SET_LOCATION(mod_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c index 550f3c4e43..488b8b7d33 100644 --- a/source4/dsdb/samdb/ldb_modules/password_hash.c +++ b/source4/dsdb/samdb/ldb_modules/password_hash.c @@ -2183,16 +2183,19 @@ static int build_domain_data_request(struct ph_context *ac) "minPwdAge", "minPwdLength", NULL }; + int ret; ldb = ldb_module_get_ctx(ac->module); - return ldb_build_search_req(&ac->dom_req, ldb, ac, - ldb_get_default_basedn(ldb), - LDB_SCOPE_BASE, - NULL, attrs, - NULL, - ac, get_domain_data_callback, - ac->req); + ret = ldb_build_search_req(&ac->dom_req, ldb, ac, + ldb_get_default_basedn(ldb), + LDB_SCOPE_BASE, + NULL, attrs, + NULL, + ac, get_domain_data_callback, + ac->req); + LDB_REQ_SET_LOCATION(ac->dom_req); + return ret; } static int password_hash_add(struct ldb_module *module, struct ldb_request *req) @@ -2370,6 +2373,7 @@ static int password_hash_add_do_add(struct ph_context *ac) ac->req->controls, ac, ph_op_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -2530,6 +2534,7 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r req->controls, ac, ph_modify_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -2675,7 +2680,7 @@ static int password_hash_mod_search_self(struct ph_context *ac) NULL, ac, ph_mod_search_callback, ac->req); - + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -2796,6 +2801,7 @@ static int password_hash_mod_do_mod(struct ph_context *ac) ac->req->controls, ac, ph_op_callback, ac->req); + LDB_REQ_SET_LOCATION(mod_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/proxy.c b/source4/dsdb/samdb/ldb_modules/proxy.c index 109afd22fe..1625fdf96b 100644 --- a/source4/dsdb/samdb/ldb_modules/proxy.c +++ b/source4/dsdb/samdb/ldb_modules/proxy.c @@ -360,7 +360,7 @@ static int proxy_search_bytree(struct ldb_module *module, struct ldb_request *re req->controls, ac, proxy_search_callback, req); - + LDB_REQ_SET_LOCATION(newreq); /* FIXME: warning, need a real event system hooked up for this to work properly, * for now this makes the module *not* ASYNC */ ret = ldb_request(proxy->upstream, newreq); diff --git a/source4/dsdb/samdb/ldb_modules/ranged_results.c b/source4/dsdb/samdb/ldb_modules/ranged_results.c index a3a1aae984..3f1e09fbb6 100644 --- a/source4/dsdb/samdb/ldb_modules/ranged_results.c +++ b/source4/dsdb/samdb/ldb_modules/ranged_results.c @@ -234,6 +234,7 @@ static int rr_search(struct ldb_module *module, struct ldb_request *req) req->controls, ac, rr_search_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c index 5fdcf9b166..ebd005e46e 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -969,6 +969,7 @@ static int replmd_add(struct ldb_module *module, struct ldb_request *req) ac, replmd_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { talloc_free(ac); return ret; @@ -2204,6 +2205,7 @@ static int replmd_modify(struct ldb_module *module, struct ldb_request *req) req->controls, ac, replmd_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { talloc_free(ac); return ret; @@ -2274,7 +2276,7 @@ static int replmd_rename(struct ldb_module *module, struct ldb_request *req) ac->req->controls, ac, replmd_rename_callback, ac->req); - + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { talloc_free(ac); return ret; @@ -2333,7 +2335,7 @@ static int replmd_rename_callback(struct ldb_request *req, struct ldb_reply *are req->controls, ac, replmd_op_callback, req); - + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { talloc_free(ac); return ret; @@ -2880,6 +2882,7 @@ static int replmd_replicated_apply_add(struct replmd_replicated_request *ar) ar, replmd_op_callback, ar->req); + LDB_REQ_SET_LOCATION(change_req); if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret); return ldb_next_request(ar->module, change_req); @@ -3144,6 +3147,7 @@ static int replmd_replicated_apply_merge(struct replmd_replicated_request *ar) ar, replmd_op_callback, ar->req); + LDB_REQ_SET_LOCATION(change_req); if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret); return ldb_next_request(ar->module, change_req); @@ -3227,7 +3231,7 @@ static int replmd_replicated_apply_next(struct replmd_replicated_request *ar) ar, replmd_replicated_apply_search_callback, ar->req); - + LDB_REQ_SET_LOCATION(search_req); ret = ldb_request_add_control(search_req, LDB_CONTROL_SHOW_DELETED_OID, true, NULL); if (ret != LDB_SUCCESS) { return ret; @@ -3567,6 +3571,7 @@ static int replmd_replicated_uptodate_modify(struct replmd_replicated_request *a ar, replmd_replicated_uptodate_modify_callback, ar->req); + LDB_REQ_SET_LOCATION(change_req); if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret); return ldb_next_request(ar->module, change_req); @@ -3640,6 +3645,7 @@ static int replmd_replicated_uptodate_vector(struct replmd_replicated_request *a ar, replmd_replicated_uptodate_search_callback, ar->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret); return ldb_next_request(ar->module, search_req); diff --git a/source4/dsdb/samdb/ldb_modules/resolve_oids.c b/source4/dsdb/samdb/ldb_modules/resolve_oids.c index 3c9ebcd745..350364b1e9 100644 --- a/source4/dsdb/samdb/ldb_modules/resolve_oids.c +++ b/source4/dsdb/samdb/ldb_modules/resolve_oids.c @@ -557,6 +557,7 @@ static int resolve_oids_search(struct ldb_module *module, struct ldb_request *re req->controls, ac, resolve_oids_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -620,6 +621,7 @@ static int resolve_oids_add(struct ldb_module *module, struct ldb_request *req) req->controls, ac, resolve_oids_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -684,6 +686,7 @@ static int resolve_oids_modify(struct ldb_module *module, struct ldb_request *re req->controls, ac, resolve_oids_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/rootdse.c b/source4/dsdb/samdb/ldb_modules/rootdse.c index c494cf521c..23b8f631d3 100644 --- a/source4/dsdb/samdb/ldb_modules/rootdse.c +++ b/source4/dsdb/samdb/ldb_modules/rootdse.c @@ -115,6 +115,7 @@ static int expand_dn_in_message(struct ldb_module *module, struct ldb_message *m NULL, res, ldb_search_default_callback, req); + LDB_REQ_SET_LOCATION(req2); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -591,6 +592,7 @@ static int rootdse_search(struct ldb_module *module, struct ldb_request *req) NULL,/* for now skip the controls from the client */ ac, rootdse_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/samba3sid.c b/source4/dsdb/samdb/ldb_modules/samba3sid.c index ef142002d1..749268468d 100644 --- a/source4/dsdb/samdb/ldb_modules/samba3sid.c +++ b/source4/dsdb/samdb/ldb_modules/samba3sid.c @@ -183,6 +183,7 @@ static int samba3sid_add(struct ldb_module *module, struct ldb_request *req) req->controls, req, dsdb_next_callback, req); + LDB_REQ_SET_LOCATION(new_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c index e7e84b2e3b..269952a896 100644 --- a/source4/dsdb/samdb/ldb_modules/samldb.c +++ b/source4/dsdb/samdb/ldb_modules/samldb.c @@ -572,6 +572,7 @@ static int samldb_add_entry(struct samldb_ctx *ac) ac->req->controls, ac, samldb_add_entry_callback, ac->req); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/schema_data.c b/source4/dsdb/samdb/ldb_modules/schema_data.c index ec7e7b74b6..7b7d7d09ff 100644 --- a/source4/dsdb/samdb/ldb_modules/schema_data.c +++ b/source4/dsdb/samdb/ldb_modules/schema_data.c @@ -467,6 +467,7 @@ static int schema_data_search(struct ldb_module *module, struct ldb_request *req req->controls, search_context, schema_data_search_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ldb_operr(ldb); } diff --git a/source4/dsdb/samdb/ldb_modules/schema_load.c b/source4/dsdb/samdb/ldb_modules/schema_load.c index 28c02099d3..175fe9367d 100644 --- a/source4/dsdb/samdb/ldb_modules/schema_load.c +++ b/source4/dsdb/samdb/ldb_modules/schema_load.c @@ -79,6 +79,7 @@ struct dsdb_schema *dsdb_schema_refresh(struct ldb_module *module, struct dsdb_s res, ldb_extended_default_callback, NULL); + LDB_REQ_SET_LOCATION(treq); if (ret != LDB_SUCCESS) { talloc_free(res); return NULL; diff --git a/source4/dsdb/samdb/ldb_modules/show_deleted.c b/source4/dsdb/samdb/ldb_modules/show_deleted.c index c189115599..34807cf4b2 100644 --- a/source4/dsdb/samdb/ldb_modules/show_deleted.c +++ b/source4/dsdb/samdb/ldb_modules/show_deleted.c @@ -82,6 +82,7 @@ static int show_deleted_search(struct ldb_module *module, struct ldb_request *re req->controls, req, dsdb_next_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c index 70185173f9..36c984f947 100644 --- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c +++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c @@ -861,6 +861,7 @@ static int entryuuid_sequence_number(struct ldb_module *module, struct ldb_reque NULL, contextCSN_attr, NULL, &seq_num, get_seq_callback, NULL); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/subtree_rename.c b/source4/dsdb/samdb/ldb_modules/subtree_rename.c index 3f030509b0..97330f898c 100644 --- a/source4/dsdb/samdb/ldb_modules/subtree_rename.c +++ b/source4/dsdb/samdb/ldb_modules/subtree_rename.c @@ -132,6 +132,7 @@ static int subtree_rename_next_request(struct subtree_rename_context *ac) ac->req->controls, ac, subtree_rename_callback, ac->req); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { return ret; } @@ -424,6 +425,7 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req) ac, subtree_rename_search_callback, req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c index 9db2c59baa..75c96fc579 100644 --- a/source4/dsdb/samdb/ldb_modules/update_keytab.c +++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c @@ -176,6 +176,7 @@ static int ukt_del_op(struct update_kt_ctx *ac) ac->req->controls, ac, update_kt_op_callback, ac->req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -249,6 +250,7 @@ static int ukt_search_modified(struct update_kt_ctx *ac) NULL, ac, ukt_search_modified_callback, ac->req); + LDB_REQ_SET_LOCATION(search_req); if (ret != LDB_SUCCESS) { return ret; } @@ -278,6 +280,7 @@ static int update_kt_add(struct ldb_module *module, struct ldb_request *req) req->controls, ac, update_kt_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -307,6 +310,7 @@ static int update_kt_modify(struct ldb_module *module, struct ldb_request *req) req->controls, ac, update_kt_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } @@ -353,6 +357,7 @@ static int update_kt_rename(struct ldb_module *module, struct ldb_request *req) req->controls, ac, update_kt_op_callback, req); + LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { return ret; } diff --git a/source4/dsdb/samdb/ldb_modules/util.c b/source4/dsdb/samdb/ldb_modules/util.c index 03c301898e..e6a0aeaf08 100644 --- a/source4/dsdb/samdb/ldb_modules/util.c +++ b/source4/dsdb/samdb/ldb_modules/util.c @@ -61,6 +61,7 @@ int dsdb_module_search_dn(struct ldb_module *module, res, ldb_search_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -152,6 +153,7 @@ int dsdb_module_search(struct ldb_module *module, res, ldb_search_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -281,6 +283,7 @@ int dsdb_module_modify(struct ldb_module *module, res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(mod_req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -339,6 +342,7 @@ int dsdb_module_rename(struct ldb_module *module, res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -394,6 +398,7 @@ int dsdb_module_add(struct ldb_module *module, res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -449,6 +454,7 @@ int dsdb_module_del(struct ldb_module *module, res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -747,6 +753,7 @@ int dsdb_module_load_partition_usn(struct ldb_module *module, struct ldb_dn *dn, NULL, res, ldb_search_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); return ret; @@ -868,6 +875,7 @@ int dsdb_module_save_partition_usn(struct ldb_module *module, struct ldb_dn *dn, res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); again: if (ret != LDB_SUCCESS) { talloc_free(msg); @@ -895,6 +903,7 @@ again: res, ldb_modify_default_callback, NULL); + LDB_REQ_SET_LOCATION(req); goto again; } -- cgit