summaryrefslogtreecommitdiffstats
path: root/usr.bin/dig/lib/dns/rdata.c
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2020-02-24 17:45:25 +0000
committerflorian <florian@openbsd.org>2020-02-24 17:45:25 +0000
commitee21177a5b213b2a5b2979caf32f5a2642ca4f1c (patch)
treef5e22756492bb51ddc1553c225d9a61efcf89a67 /usr.bin/dig/lib/dns/rdata.c
parentWe only need to fill a wire format buffer from soa and tsig structs. (diff)
downloadwireguard-openbsd-ee21177a5b213b2a5b2979caf32f5a2642ca4f1c.tar.xz
wireguard-openbsd-ee21177a5b213b2a5b2979caf32f5a2642ca4f1c.zip
We only need to create cname, ns, soa and tsig structs.
OK jsg
Diffstat (limited to 'usr.bin/dig/lib/dns/rdata.c')
-rw-r--r--usr.bin/dig/lib/dns/rdata.c43
1 files changed, 24 insertions, 19 deletions
diff --git a/usr.bin/dig/lib/dns/rdata.c b/usr.bin/dig/lib/dns/rdata.c
index 9677ecba6d2..3f1177a3b1a 100644
--- a/usr.bin/dig/lib/dns/rdata.c
+++ b/usr.bin/dig/lib/dns/rdata.c
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata.c,v 1.20 2020/02/24 17:44:44 florian Exp $ */
+/* $Id: rdata.c,v 1.21 2020/02/24 17:45:25 florian Exp $ */
/*! \file */
@@ -136,9 +136,6 @@ static isc_result_t
rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
isc_buffer_t *target);
-static uint16_t
-uint16_consume_fromregion(isc_region_t *region);
-
static isc_result_t
unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
isc_buffer_t *target);
@@ -701,19 +698,35 @@ dns_rdata_fromstruct_tsig(dns_rdata_t *rdata, dns_rdataclass_t rdclass,
}
isc_result_t
-dns_rdata_tostruct(const dns_rdata_t *rdata, void *target) {
- isc_result_t result = ISC_R_NOTIMPLEMENTED;
- isc_boolean_t use_default = ISC_FALSE;
+dns_rdata_tostruct_cname(const dns_rdata_t *rdata, dns_rdata_cname_t *cname) {
+ REQUIRE(rdata != NULL);
+ REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
+ return (tostruct_cname(rdata, cname));
+}
+
+isc_result_t
+dns_rdata_tostruct_ns(const dns_rdata_t *rdata, dns_rdata_ns_t *ns) {
REQUIRE(rdata != NULL);
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
- TOSTRUCTSWITCH
+ return (tostruct_ns(rdata, ns));
+}
- if (use_default)
- (void)NULL;
+isc_result_t
+dns_rdata_tostruct_soa(const dns_rdata_t *rdata, dns_rdata_soa_t *soa) {
+ REQUIRE(rdata != NULL);
+ REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
- return (result);
+ return (tostruct_soa(rdata, soa));
+}
+
+isc_result_t
+dns_rdata_tostruct_tsig(const dns_rdata_t *rdata, dns_rdata_any_tsig_t *tsig) {
+ REQUIRE(rdata != NULL);
+ REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
+
+ return (tostruct_any_tsig(rdata, tsig));
}
void
@@ -1123,14 +1136,6 @@ uint32_fromregion(isc_region_t *region) {
}
static uint16_t
-uint16_consume_fromregion(isc_region_t *region) {
- uint16_t r = uint16_fromregion(region);
-
- isc_region_consume(region, 2);
- return r;
-}
-
-static uint16_t
uint16_fromregion(isc_region_t *region) {
REQUIRE(region->length >= 2);