From: Mark Andrews Date: Mon, 23 Dec 2019 21:19:28 +0000 (+1100) Subject: exercise dns_rdata_additionaldata X-Git-Tag: v9.15.8~12^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=649a34d628b5305dd0f5960389df77aa3808c562;p=thirdparty%2Fbind9.git exercise dns_rdata_additionaldata --- diff --git a/lib/dns/tests/rdata_test.c b/lib/dns/tests/rdata_test.c index b47c5ca8454..fb67d033f39 100644 --- a/lib/dns/tests/rdata_test.c +++ b/lib/dns/tests/rdata_test.c @@ -156,7 +156,8 @@ wire_to_rdata(const unsigned char *src, size_t srclen, * Call dns_rdata_towire() for rdata and write to result to dst. */ static isc_result_t -rdata_towire(dns_rdata_t *rdata, unsigned char *dst, size_t dstlen, size_t *length) +rdata_towire(dns_rdata_t *rdata, unsigned char *dst, size_t dstlen, + size_t *length) { isc_buffer_t target; dns_compress_t cctx; @@ -179,6 +180,22 @@ rdata_towire(dns_rdata_t *rdata, unsigned char *dst, size_t dstlen, size_t *leng return (result); } +static isc_result_t +additionaldata_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { + UNUSED(arg); + UNUSED(name); + UNUSED(qtype); + return (ISC_R_SUCCESS); +} + +/* + * call dns_rdata_additionaldata() for rdata. + */ +static isc_result_t +rdata_additionadata(dns_rdata_t *rdata) { + return (dns_rdata_additionaldata(rdata, additionaldata_cb, NULL)); +} + /* * Test whether converting rdata to a type-specific struct and then back to * rdata results in the same uncompressed wire form. This checks whether @@ -305,6 +322,12 @@ check_text_ok_single(const text_ok_t *text_ok, dns_rdataclass_t rdclass, assert_int_equal(rdata.length, length); assert_memory_equal(rdata.data, buf_towire, length); + /* + * Test that additionaldata_*() succeeded. + */ + result = rdata_additionadata(&rdata); + assert_int_equal(result, ISC_R_SUCCESS); + /* * Perform two-way conversion checks between uncompressed wire form and * type-specific struct. @@ -462,6 +485,12 @@ check_wire_ok_single(const wire_ok_t *wire_ok, dns_rdataclass_t rdclass, assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(rdata.length, length); assert_memory_equal(rdata.data, buf_towire, length); + + /* + * Test that additionaldata_*() succeeded. + */ + result = rdata_additionadata(&rdata); + assert_int_equal(result, ISC_R_SUCCESS); } /*