diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index a712cedbef..35a0bad0e0 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: rdata.c,v 1.83 2000/05/02 16:36:22 explorer Exp $ */ +/* $Id: rdata.c,v 1.84 2000/05/05 18:14:59 gson Exp $ */ #include @@ -83,6 +83,7 @@ static isc_result_t uint16_tobuffer(isc_uint32_t, isc_buffer_t *target); static isc_result_t uint8_tobuffer(isc_uint32_t value, isc_buffer_t *target); +static isc_result_t name_tobuffer(dns_name_t *name, isc_buffer_t *target); static isc_uint32_t uint32_fromregion(isc_region_t *region); static isc_uint16_t uint16_fromregion(isc_region_t *region); static isc_uint8_t uint8_fromregion(isc_region_t *region); @@ -1165,6 +1166,13 @@ uint8_tobuffer(isc_uint32_t value, isc_buffer_t *target) { return (ISC_R_SUCCESS); } +static isc_result_t +name_tobuffer(dns_name_t *name, isc_buffer_t *target) { + isc_region_t r; + dns_name_toregion(name, &r); + return (isc_buffer_copyregion(target, &r)); +} + static isc_uint32_t uint32_fromregion(isc_region_t *region) { unsigned long value; diff --git a/lib/dns/rdata/any_255/tsig_250.c b/lib/dns/rdata/any_255/tsig_250.c index 4d9b6a697d..659121c644 100644 --- a/lib/dns/rdata/any_255/tsig_250.c +++ b/lib/dns/rdata/any_255/tsig_250.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: tsig_250.c,v 1.32 2000/05/04 22:19:05 gson Exp $ */ +/* $Id: tsig_250.c,v 1.33 2000/05/05 18:15:00 gson Exp $ */ /* Reviewed: Thu Mar 16 13:39:43 PST 2000 by gson */ @@ -294,19 +294,14 @@ fromstruct_any_tsig(dns_rdataclass_t rdclass, dns_rdatatype_t type, { isc_region_t tr; dns_rdata_any_tsig_t *tsig; - dns_compress_t cctx; REQUIRE(type == 250); REQUIRE(rdclass == 255); - tsig = (dns_rdata_any_tsig_t *) source; - REQUIRE(tsig->mctx != NULL); + tsig = (dns_rdata_any_tsig_t *)source; /* Algorithm Name */ - RETERR(dns_compress_init(&cctx, -1, tsig->mctx)); - dns_compress_setmethods(&cctx, DNS_COMPRESS_NONE); - RETERR(dns_name_towire(&tsig->algorithm, &cctx, target)); - dns_compress_invalidate(&cctx); + RETERR(name_tobuffer(&tsig->algorithm, target)); isc_buffer_availableregion(target, &tr); if (tr.length < 6 + 2 + 2) diff --git a/lib/dns/rdata/generic/sig_24.c b/lib/dns/rdata/generic/sig_24.c index 8e85394057..63fa556472 100644 --- a/lib/dns/rdata/generic/sig_24.c +++ b/lib/dns/rdata/generic/sig_24.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: sig_24.c,v 1.37 2000/05/05 05:50:06 marka Exp $ */ +/* $Id: sig_24.c,v 1.38 2000/05/05 18:15:01 gson Exp $ */ /* Reviewed: Fri Mar 17 09:05:02 PST 2000 by gson */ @@ -301,14 +301,12 @@ fromstruct_sig(dns_rdataclass_t rdclass, dns_rdatatype_t type, void *source, { isc_region_t tr; dns_rdata_sig_t *sig; - dns_compress_t cctx; REQUIRE(type == 24); UNUSED(rdclass); - sig = (dns_rdata_sig_t *) source; - REQUIRE(sig->mctx != NULL); + sig = (dns_rdata_sig_t *)source; /* Type covered */ RETERR(uint16_tobuffer(sig->covered, target)); @@ -332,10 +330,7 @@ fromstruct_sig(dns_rdataclass_t rdclass, dns_rdatatype_t type, void *source, RETERR(uint16_tobuffer(sig->keyid, target)); /* Signer name */ - RETERR(dns_compress_init(&cctx, -1, sig->mctx)); - dns_compress_setmethods(&cctx, DNS_COMPRESS_NONE); - RETERR(dns_name_towire(&sig->signer, &cctx, target)); - dns_compress_invalidate(&cctx); + RETERR(name_tobuffer(&sig->signer, target)); /* Signature */ if (sig->siglen > 0) { diff --git a/lib/dns/rdata/generic/tkey_249.c b/lib/dns/rdata/generic/tkey_249.c index fbcf575c23..a45194c7de 100644 --- a/lib/dns/rdata/generic/tkey_249.c +++ b/lib/dns/rdata/generic/tkey_249.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: tkey_249.c,v 1.30 2000/05/05 05:50:09 marka Exp $ */ +/* $Id: tkey_249.c,v 1.31 2000/05/05 18:15:02 gson Exp $ */ /* * Reviewed: Thu Mar 16 17:35:30 PST 2000 by halley. @@ -295,7 +295,6 @@ fromstruct_tkey(dns_rdataclass_t rdclass, dns_rdatatype_t type, { isc_region_t tr; dns_rdata_tkey_t *tkey; - dns_compress_t cctx; UNUSED(rdclass); UNUSED(source); @@ -303,14 +302,10 @@ fromstruct_tkey(dns_rdataclass_t rdclass, dns_rdatatype_t type, REQUIRE(type == 249); - tkey = (dns_rdata_tkey_t *) source; - REQUIRE(tkey->mctx != NULL); + tkey = (dns_rdata_tkey_t *)source; /* Algorithm Name */ - RETERR(dns_compress_init(&cctx, -1, tkey->mctx)); - dns_compress_setmethods(&cctx, DNS_COMPRESS_NONE); - RETERR(dns_name_towire(&tkey->algorithm, &cctx, target)); - dns_compress_invalidate(&cctx); + RETERR(name_tobuffer(&tkey->algorithm, target)); /* Inception: 32 bits */ RETERR(uint32_tobuffer(tkey->inception, target));