mx_15.c revision 6d12fdf96621801e80f3f4c2a8a569fe48766a20
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley/*
a7038d1a0513c8e804937ebc95fc9cb3a46c04f5Mark Andrews * Copyright (C) 1998, 1999, 2000 Internet Software Consortium.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley * Permission to use, copy, modify, and distribute this software for any
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley * purpose with or without fee is hereby granted, provided that the above
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley * copyright notice and this permission notice appear in all copies.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *
15a44745412679c30a6d022733925af70a38b715David Lawrence * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
15a44745412679c30a6d022733925af70a38b715David Lawrence * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
15a44745412679c30a6d022733925af70a38b715David Lawrence * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
15a44745412679c30a6d022733925af70a38b715David Lawrence * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
15a44745412679c30a6d022733925af70a38b715David Lawrence * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15a44745412679c30a6d022733925af70a38b715David Lawrence * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
15a44745412679c30a6d022733925af70a38b715David Lawrence * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
15a44745412679c30a6d022733925af70a38b715David Lawrence * SOFTWARE.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley */
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews/* $Id: mx_15.c,v 1.37 2000/06/01 18:26:21 tale Exp $ */
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence
110d1702731f42dd620879c1d765ebe91f3920ceMichael Graff/* reviewed: Wed Mar 15 18:05:46 PST 2000 by brister */
110d1702731f42dd620879c1d765ebe91f3920ceMichael Graff
c3b708aaf1bb0a118e0e11befa1b732acfb1d079Bob Halley#ifndef RDATA_GENERIC_MX_15_C
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#define RDATA_GENERIC_MX_15_C
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence
def8e47c688e2480a4539d69c3d1a0a28a7c0550Mark Andrews#define RRTYPE_MX_ATTRIBUTES (0)
364a82f7c25b62967678027043425201a5e5171aBob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halleystatic inline isc_result_t
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrencefromtext_mx(ARGS_FROMTEXT) {
8dfa9caeec8e68db0c937e347a3d6629e7627d54Bob Halley isc_token_t token;
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley dns_name_t name;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_buffer_t buffer;
52637f592f705ca93fadc218e403fd55e8ce4aeaMark Andrews
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley REQUIRE(type == 15);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley UNUSED(rdclass);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(gettoken(lexer, &token, isc_tokentype_number, ISC_FALSE));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley if (token.value.as_ulong > 0xffff)
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley return (ISC_R_RANGE);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(uint16_tobuffer(token.value.as_ulong, target));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley dns_name_init(&name, NULL);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley buffer_fromregion(&buffer, &token.value.as_region);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley origin = (origin != NULL) ? origin : dns_rootname;
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley return (dns_name_fromtext(&name, &buffer, origin, downcase, target));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley}
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
ca67883a666bdf314d3da958d5195e7215b1f797Bob Halleystatic inline isc_result_t
732e0731dec1922747bb3b3147cf2c3d16b22eaaBob Halleytotext_mx(ARGS_TOTEXT) {
b12f0228b32775ee688ed21ddbf3a116c1adfb43Michael Graff isc_region_t region;
61fb42c4ef45d88e115bd769c30c4f36b461870bMark Andrews dns_name_t name;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_t prefix;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_boolean_t sub;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley char buf[sizeof "64000"];
80b782f356f0692c11b4e52e8dd46ec41704e5a2Mark Andrews unsigned short num;
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews REQUIRE(rdata->type == 15);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_init(&name, NULL);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_init(&prefix, NULL);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_rdata_toregion(rdata, &region);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley num = uint16_fromregion(&region);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_region_consume(&region, 2);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley sprintf(buf, "%u", num);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(str_totext(buf, target));
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(str_totext(" ", target));
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_fromregion(&name, &region);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley sub = name_prefix(&name, tctx->origin, &prefix);
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley return (dns_name_totext(&prefix, sub, target));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley}
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
ca67883a666bdf314d3da958d5195e7215b1f797Bob Halleystatic inline isc_result_t
732e0731dec1922747bb3b3147cf2c3d16b22eaaBob Halleyfromwire_mx(ARGS_FROMWIRE) {
b12f0228b32775ee688ed21ddbf3a116c1adfb43Michael Graff dns_name_t name;
61fb42c4ef45d88e115bd769c30c4f36b461870bMark Andrews isc_region_t sregion;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley REQUIRE(type == 15);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
80b782f356f0692c11b4e52e8dd46ec41704e5a2Mark Andrews UNUSED(rdclass);
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_init(&name, NULL);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_buffer_activeregion(source, &sregion);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley if (sregion.length < 2)
2cd0c38115b1efb043ed3104c0d08e51ceade0d7Bob Halley return (ISC_R_UNEXPECTEDEND);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(mem_tobuffer(target, sregion.base, 2));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_buffer_forward(source, 2);
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley return (dns_name_fromwire(&name, source, dctx, downcase, target));
0180ccf72c79b98eb8ee5abbb7331aec6951dd9fBob Halley}
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halleystatic inline isc_result_t
5619558151f1aa4249b3ead979e76876e29278b6Bob Halleytowire_mx(ARGS_TOWIRE) {
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_t name;
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley isc_region_t region;
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley REQUIRE(rdata->type == 15);
ca67883a666bdf314d3da958d5195e7215b1f797Bob Halley
732e0731dec1922747bb3b3147cf2c3d16b22eaaBob Halley dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
b12f0228b32775ee688ed21ddbf3a116c1adfb43Michael Graff
61fb42c4ef45d88e115bd769c30c4f36b461870bMark Andrews dns_rdata_toregion(rdata, &region);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley RETERR(mem_tobuffer(target, region.base, 2));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley isc_region_consume(&region, 2);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
80b782f356f0692c11b4e52e8dd46ec41704e5a2Mark Andrews dns_name_init(&name, NULL);
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley dns_name_fromregion(&name, &region);
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley return (dns_name_towire(&name, cctx, target));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley}
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halleystatic inline int
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halleycompare_mx(ARGS_COMPARE) {
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley dns_name_t name1;
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley dns_name_t name2;
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence isc_region_t region1;
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley isc_region_t region2;
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley int order;
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley REQUIRE(rdata1->type == rdata2->type);
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley REQUIRE(rdata1->rdclass == rdata2->rdclass);
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley REQUIRE(rdata1->type == 15);
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley
28640d1da26d561f4137122fe64e9e8cc08bf11eBob Halley order = memcmp(rdata1->data, rdata2->data, 2);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley if (order != 0)
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley return (order < 0 ? -1 : 1);
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafsson
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_init(&name1, NULL);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_init(&name2, NULL);
3ddd814a97de1d152ba0913c592d6e6dc83d38a6Michael Graff
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_rdata_toregion(rdata1, &region1);
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafsson dns_rdata_toregion(rdata2, &region2);
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafsson
419590499823ce15b5d2ad4fe71eaf04bd5a86c0Michael Graff isc_region_consume(&region1, 2);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley isc_region_consume(&region2, 2);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_fromregion(&name1, &region1);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_fromregion(&name2, &region2);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley return (dns_name_rdatacompare(&name1, &name2));
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley}
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafsson
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafssonstatic inline isc_result_t
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafssonfromstruct_mx(ARGS_FROMSTRUCT) {
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_rdata_mx_t *mx = source;
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley isc_region_t region;
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley REQUIRE(type == 15);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley REQUIRE(source != NULL);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley REQUIRE(mx->common.rdtype == type);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley REQUIRE(mx->common.rdclass == rdclass);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley RETERR(uint16_tobuffer(mx->pref, target));
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_name_toregion(&mx->mx, &region);
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley return (isc_buffer_copyregion(target, &region));
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley}
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley
e02884167b7c969b56413f76c48c3802c4dca14dAndreas Gustafssonstatic inline isc_result_t
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halleytostruct_mx(ARGS_TOSTRUCT) {
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley isc_region_t region;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_rdata_mx_t *mx = target;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_name_t name;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley REQUIRE(rdata->type == 15);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley REQUIRE(target != NULL);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley mx->common.rdclass = rdata->rdclass;
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley mx->common.rdtype = rdata->type;
732e0731dec1922747bb3b3147cf2c3d16b22eaaBob Halley ISC_LINK_INIT(&mx->common, link);
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews dns_name_init(&name, NULL);
35541328a8c18ba1f984300dfe30ec8713c90031Mark Andrews dns_rdata_toregion(rdata, &region);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley mx->pref = uint16_fromregion(&region);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley isc_region_consume(&region, 2);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_fromregion(&name, &region);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_init(&mx->mx, NULL);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley RETERR(name_duporclone(&name, mctx, &mx->mx));
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley mx->mctx = mctx;
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley return (ISC_R_SUCCESS);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley}
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halleystatic inline void
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halleyfreestruct_mx(ARGS_FREESTRUCT) {
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_rdata_mx_t *mx = source;
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley REQUIRE(source != NULL);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley REQUIRE(mx->common.rdtype == 15);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley if (mx->mctx == NULL)
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley return;
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley dns_name_free(&mx->mx, mx->mctx);
bf345589ce0b0b64533d4566e4992a0e63aac6f5Bob Halley mx->mctx = NULL;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley}
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halleystatic inline isc_result_t
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halleyadditionaldata_mx(ARGS_ADDLDATA) {
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_name_t name;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley isc_region_t region;
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley REQUIRE(rdata->type == 15);
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_name_init(&name, NULL);
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_rdata_toregion(rdata, &region);
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley isc_region_consume(&region, 2);
7837d146219db7a85a4b444a9cdf6602254a4f75Bob Halley dns_name_fromregion(&name, &region);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley return ((add)(arg, &name, dns_rdatatype_a));
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley}
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halleystatic inline isc_result_t
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halleydigest_mx(ARGS_DIGEST) {
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley isc_region_t r1, r2;
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley dns_name_t name;
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley REQUIRE(rdata->type == 15);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence dns_rdata_toregion(rdata, &r1);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley r2 = r1;
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley isc_region_consume(&r2, 2);
1c724c986de1449e3b2f1eeae4c724dc0d97603cBob Halley r1.length = 2;
3ddd814a97de1d152ba0913c592d6e6dc83d38a6Michael Graff RETERR((digest)(arg, &r1));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_init(&name, NULL);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley dns_name_fromregion(&name, &r2);
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley return (dns_name_digest(&name, digest, arg));
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley}
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#endif /* RDATA_GENERIC_MX_15_C */
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley