summaryrefslogtreecommitdiff
path: root/source4/rpc_server
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2019-01-09 15:12:43 +1300
committerAndrew Bartlett <abartlet@samba.org>2019-02-13 04:15:14 +0100
commit5b0a9818ffd88d495ffbd7387d51d30d5594133d (patch)
treedc175836b2d0cb5d134467e82adaf3cb20911df9 /source4/rpc_server
parentd0e26ea67fbad4b4e142881c8ae3fca7dd7547a3 (diff)
downloadsamba-5b0a9818ffd88d495ffbd7387d51d30d5594133d.tar.gz
dsdb: make get_parsed_dns_trusted() a common helper function
We are already using it in two places, and are about to add a third. The version in repl_meta_data.c did more work in the case that the parsed_dns can't really be trusted to conform to the expected format; this is now a wrapper called get_parsed_dns_trusted_fallback(). Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/rpc_server')
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c29
1 files changed, 3 insertions, 26 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index 9c6b9801d7f..9a4da547e04 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -225,28 +225,6 @@ fail:
}
}
-/*
- * Similar to function in repl_meta_data without the extra
- * dependencies.
- */
-static WERROR get_parsed_dns_trusted(TALLOC_CTX *mem_ctx, struct ldb_message_element *el,
- struct parsed_dn **pdn)
-{
- /* Here we get a list of 'struct parsed_dns' without the parsing */
- int i;
- *pdn = talloc_zero_array(mem_ctx, struct parsed_dn,
- el->num_values);
- if (!*pdn) {
- return WERR_DS_DRA_INTERNAL_ERROR;
- }
-
- for (i = 0; i < el->num_values; i++) {
- (*pdn)[i].v = &el->values[i];
- }
-
- return WERR_OK;
-}
-
static WERROR getncchanges_update_revealed_list(struct ldb_context *sam_ctx,
TALLOC_CTX *mem_ctx,
struct ldb_message **msg,
@@ -290,13 +268,12 @@ static WERROR getncchanges_update_revealed_list(struct ldb_context *sam_ctx,
/* Replace the old value (if one exists) with the current one */
struct parsed_dn *link_dns;
struct parsed_dn *exact = NULL, *unused = NULL;
- WERROR werr;
uint8_t attid[4];
DATA_BLOB partial_meta;
- werr = get_parsed_dns_trusted(mem_ctx, existing, &link_dns);
- if (!W_ERROR_IS_OK(werr)) {
- return werr;
+ ldb_err = get_parsed_dns_trusted(mem_ctx, existing, &link_dns);
+ if (ldb_err != LDB_SUCCESS) {
+ return WERR_DS_DRA_INTERNAL_ERROR;
}
/* Construct a partial metadata blob to match on in the DB */