diff options
author | Douglas Bagnall <douglas.bagnall@catalyst.net.nz> | 2019-01-09 15:12:43 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-02-13 04:15:14 +0100 |
commit | 5b0a9818ffd88d495ffbd7387d51d30d5594133d (patch) | |
tree | dc175836b2d0cb5d134467e82adaf3cb20911df9 /source4/rpc_server | |
parent | d0e26ea67fbad4b4e142881c8ae3fca7dd7547a3 (diff) | |
download | samba-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.c | 29 |
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 */ |