diff --git a/lib/dns/rdata/in_1/naptr_35.c b/lib/dns/rdata/in_1/naptr_35.c index 313759d65e..e33cd0a0c1 100644 --- a/lib/dns/rdata/in_1/naptr_35.c +++ b/lib/dns/rdata/in_1/naptr_35.c @@ -15,9 +15,11 @@ * SOFTWARE. */ - /* $Id: naptr_35.c,v 1.16 2000/02/03 23:43:17 halley Exp $ */ +/* $Id: naptr_35.c,v 1.17 2000/03/17 02:47:01 bwelling Exp $ */ - /* RFC 2168 */ +/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */ + +/* RFC 2168 */ #ifndef RDATA_IN_1_NAPTR_35_C #define RDATA_IN_1_NAPTR_35_C @@ -34,11 +36,11 @@ fromtext_in_naptr(dns_rdataclass_t rdclass, dns_rdatatype_t type, REQUIRE(type == 35); REQUIRE(rdclass == 1); - /* priority */ + /* order */ RETERR(gettoken(lexer, &token, isc_tokentype_number, ISC_FALSE)); RETERR(uint16_tobuffer(token.value.as_ulong, target)); - /* weight */ + /* preference */ RETERR(gettoken(lexer, &token, isc_tokentype_number, ISC_FALSE)); RETERR(uint16_tobuffer(token.value.as_ulong, target)); @@ -80,15 +82,16 @@ totext_in_naptr(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, dns_name_init(&name, NULL); dns_name_init(&prefix, NULL); - /* priority */ dns_rdata_toregion(rdata, ®ion); + + /* order */ num = uint16_fromregion(®ion); isc_region_consume(®ion, 2); sprintf(buf, "%u", num); RETERR(str_totext(buf, target)); RETERR(str_totext(" ", target)); - /* weight */ + /* preference */ num = uint16_fromregion(®ion); isc_region_consume(®ion, 2); sprintf(buf, "%u", num); @@ -110,7 +113,7 @@ totext_in_naptr(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, /* replacement */ dns_name_fromregion(&name, ®ion); sub = name_prefix(&name, tctx->origin, &prefix); - return(dns_name_totext(&prefix, sub, target)); + return (dns_name_totext(&prefix, sub, target)); } static inline isc_result_t @@ -131,7 +134,7 @@ fromwire_in_naptr(dns_rdataclass_t rdclass, dns_rdatatype_t type, dns_name_init(&name, NULL); - /* priority, weight */ + /* order, preference */ isc_buffer_active(source, &sr); if (sr.length < 4) return (DNS_R_UNEXPECTEDEND); @@ -164,7 +167,7 @@ towire_in_naptr(dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target) else dns_compress_setmethods(cctx, DNS_COMPRESS_NONE); - /* priority, weight */ + /* order, preference */ dns_rdata_toregion(rdata, &sr); RETERR(mem_tobuffer(target, sr.base, 4)); isc_region_consume(&sr, 4); @@ -193,7 +196,7 @@ compare_in_naptr(dns_rdata_t *rdata1, dns_rdata_t *rdata2) { dns_name_t name2; isc_region_t region1; isc_region_t region2; - int result; + int result, len; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -203,7 +206,7 @@ compare_in_naptr(dns_rdata_t *rdata1, dns_rdata_t *rdata2) { dns_rdata_toregion(rdata1, ®ion1); dns_rdata_toregion(rdata2, ®ion2); - /* priority, weight */ + /* order, preference */ result = memcmp(region1.base, region2.base, 4); if (result != 0) return (result < 0 ? -1 : 1); @@ -211,21 +214,24 @@ compare_in_naptr(dns_rdata_t *rdata1, dns_rdata_t *rdata2) { isc_region_consume(®ion2, 4); /* flags */ - result = memcmp(region1.base, region2.base, region1.base[0] + 1); + len = ISC_MIN(region1.base[0], region2.base[0]); + result = memcmp(region1.base, region2.base, len + 1); if (result != 0) return (result < 0 ? -1 : 1); isc_region_consume(®ion1, region1.base[0] + 1); isc_region_consume(®ion2, region2.base[0] + 1); /* service */ - result = memcmp(region1.base, region2.base, region1.base[0] + 1); + len = ISC_MIN(region1.base[0], region2.base[0]); + result = memcmp(region1.base, region2.base, len + 1); if (result != 0) return (result < 0 ? -1 : 1); isc_region_consume(®ion1, region1.base[0] + 1); isc_region_consume(®ion2, region2.base[0] + 1); /* regexp */ - result = memcmp(region1.base, region2.base, region1.base[0] + 1); + len = ISC_MIN(region1.base[0], region2.base[0]); + result = memcmp(region1.base, region2.base, len + 1); if (result != 0) return (result < 0 ? -1 : 1); isc_region_consume(®ion1, region1.base[0] + 1); @@ -245,25 +251,23 @@ static inline isc_result_t fromstruct_in_naptr(dns_rdataclass_t rdclass, dns_rdatatype_t type, void *source, isc_buffer_t *target) { + UNUSED(source); + UNUSED(target); REQUIRE(type == 35); REQUIRE(rdclass == 1); - source = source; - target = target; - return (DNS_R_NOTIMPLEMENTED); } static inline isc_result_t tostruct_in_naptr(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { + UNUSED(target); + UNUSED(mctx); REQUIRE(rdata->type == 35); REQUIRE(rdata->rdclass == 1); - target = target; - mctx = mctx; - return (DNS_R_NOTIMPLEMENTED); } @@ -286,12 +290,7 @@ additionaldata_in_naptr(dns_rdata_t *rdata, dns_additionaldatafunc_t add, REQUIRE(rdata->type == 35); REQUIRE(rdata->rdclass == 1); - /* - * We do not currently do type SRV additional data section - * processing for terminal NAPTRs. - */ - - /* priority, weight */ + /* order, preference */ dns_rdata_toregion(rdata, &sr); isc_region_consume(&sr, 4); @@ -341,7 +340,7 @@ digest_in_naptr(dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg) { r2 = r1; length = 0; - /* priority, weight */ + /* order, preference */ length += 4; isc_region_consume(&r2, 4);