summaryrefslogtreecommitdiffstats
path: root/lib/bind
diff options
context:
space:
mode:
authordougb <dougb@FreeBSD.org>2012-05-28 19:47:56 +0000
committerdougb <dougb@FreeBSD.org>2012-05-28 19:47:56 +0000
commita2b635f68fcf94cb460352c043cab224b7e0123f (patch)
treef567ab50e90b145c90110f02883f8c4f72b28d1b /lib/bind
parent91189212361813b854174225bfa4b1d4fc8ed40b (diff)
parent28648ebad5d82231050fad98edaea0139041dab5 (diff)
downloadFreeBSD-src-a2b635f68fcf94cb460352c043cab224b7e0123f.zip
FreeBSD-src-a2b635f68fcf94cb460352c043cab224b7e0123f.tar.gz
Upgrade to BIND version 9.8.3, the latest from ISC.
Feature Change * BIND now recognizes the TLSA resource record type, created to support IETF DANE (DNS-based Authentication of Named Entities) Bug Fix * The locking strategy around the handling of iterative queries has been tuned to reduce unnecessary contention in a multi- threaded environment. Other critical bug fixes are included. All BIND users are encouraged to upgrade.
Diffstat (limited to 'lib/bind')
-rw-r--r--lib/bind/dns/code.h19
-rw-r--r--lib/bind/dns/dns/enumtype.h2
-rw-r--r--lib/bind/dns/dns/rdatastruct.h35
3 files changed, 56 insertions, 0 deletions
diff --git a/lib/bind/dns/code.h b/lib/bind/dns/code.h
index ad9e11e..a451eeb 100644
--- a/lib/bind/dns/code.h
+++ b/lib/bind/dns/code.h
@@ -83,6 +83,7 @@
#include "rdata/in_1/dhcid_49.c"
#include "rdata/generic/nsec3_50.c"
#include "rdata/generic/nsec3param_51.c"
+#include "rdata/generic/tlsa_52.c"
#include "rdata/generic/hip_55.c"
#include "rdata/generic/spf_99.c"
#include "rdata/generic/unspec_103.c"
@@ -192,6 +193,7 @@
break; \
case 50: result = fromtext_nsec3(rdclass, type, lexer, origin, options, target, callbacks); break; \
case 51: result = fromtext_nsec3param(rdclass, type, lexer, origin, options, target, callbacks); break; \
+ case 52: result = fromtext_tlsa(rdclass, type, lexer, origin, options, target, callbacks); break; \
case 55: result = fromtext_hip(rdclass, type, lexer, origin, options, target, callbacks); break; \
case 99: result = fromtext_spf(rdclass, type, lexer, origin, options, target, callbacks); break; \
case 103: result = fromtext_unspec(rdclass, type, lexer, origin, options, target, callbacks); break; \
@@ -305,6 +307,7 @@
break; \
case 50: result = totext_nsec3(rdata, tctx, target); break; \
case 51: result = totext_nsec3param(rdata, tctx, target); break; \
+ case 52: result = totext_tlsa(rdata, tctx, target); break; \
case 55: result = totext_hip(rdata, tctx, target); break; \
case 99: result = totext_spf(rdata, tctx, target); break; \
case 103: result = totext_unspec(rdata, tctx, target); break; \
@@ -418,6 +421,7 @@
break; \
case 50: result = fromwire_nsec3(rdclass, type, source, dctx, options, target); break; \
case 51: result = fromwire_nsec3param(rdclass, type, source, dctx, options, target); break; \
+ case 52: result = fromwire_tlsa(rdclass, type, source, dctx, options, target); break; \
case 55: result = fromwire_hip(rdclass, type, source, dctx, options, target); break; \
case 99: result = fromwire_spf(rdclass, type, source, dctx, options, target); break; \
case 103: result = fromwire_unspec(rdclass, type, source, dctx, options, target); break; \
@@ -531,6 +535,7 @@
break; \
case 50: result = towire_nsec3(rdata, cctx, target); break; \
case 51: result = towire_nsec3param(rdata, cctx, target); break; \
+ case 52: result = towire_tlsa(rdata, cctx, target); break; \
case 55: result = towire_hip(rdata, cctx, target); break; \
case 99: result = towire_spf(rdata, cctx, target); break; \
case 103: result = towire_unspec(rdata, cctx, target); break; \
@@ -644,6 +649,7 @@
break; \
case 50: result = compare_nsec3(rdata1, rdata2); break; \
case 51: result = compare_nsec3param(rdata1, rdata2); break; \
+ case 52: result = compare_tlsa(rdata1, rdata2); break; \
case 55: result = compare_hip(rdata1, rdata2); break; \
case 99: result = compare_spf(rdata1, rdata2); break; \
case 103: result = compare_unspec(rdata1, rdata2); break; \
@@ -757,6 +763,7 @@
break; \
case 50: result = casecompare_nsec3(rdata1, rdata2); break; \
case 51: result = casecompare_nsec3param(rdata1, rdata2); break; \
+ case 52: result = casecompare_tlsa(rdata1, rdata2); break; \
case 55: result = casecompare_hip(rdata1, rdata2); break; \
case 99: result = casecompare_spf(rdata1, rdata2); break; \
case 103: result = casecompare_unspec(rdata1, rdata2); break; \
@@ -870,6 +877,7 @@
break; \
case 50: result = fromstruct_nsec3(rdclass, type, source, target); break; \
case 51: result = fromstruct_nsec3param(rdclass, type, source, target); break; \
+ case 52: result = fromstruct_tlsa(rdclass, type, source, target); break; \
case 55: result = fromstruct_hip(rdclass, type, source, target); break; \
case 99: result = fromstruct_spf(rdclass, type, source, target); break; \
case 103: result = fromstruct_unspec(rdclass, type, source, target); break; \
@@ -983,6 +991,7 @@
break; \
case 50: result = tostruct_nsec3(rdata, target, mctx); break; \
case 51: result = tostruct_nsec3param(rdata, target, mctx); break; \
+ case 52: result = tostruct_tlsa(rdata, target, mctx); break; \
case 55: result = tostruct_hip(rdata, target, mctx); break; \
case 99: result = tostruct_spf(rdata, target, mctx); break; \
case 103: result = tostruct_unspec(rdata, target, mctx); break; \
@@ -1096,6 +1105,7 @@
break; \
case 50: freestruct_nsec3(source); break; \
case 51: freestruct_nsec3param(source); break; \
+ case 52: freestruct_tlsa(source); break; \
case 55: freestruct_hip(source); break; \
case 99: freestruct_spf(source); break; \
case 103: freestruct_unspec(source); break; \
@@ -1209,6 +1219,7 @@
break; \
case 50: result = additionaldata_nsec3(rdata, add, arg); break; \
case 51: result = additionaldata_nsec3param(rdata, add, arg); break; \
+ case 52: result = additionaldata_tlsa(rdata, add, arg); break; \
case 55: result = additionaldata_hip(rdata, add, arg); break; \
case 99: result = additionaldata_spf(rdata, add, arg); break; \
case 103: result = additionaldata_unspec(rdata, add, arg); break; \
@@ -1322,6 +1333,7 @@
break; \
case 50: result = digest_nsec3(rdata, digest, arg); break; \
case 51: result = digest_nsec3param(rdata, digest, arg); break; \
+ case 52: result = digest_tlsa(rdata, digest, arg); break; \
case 55: result = digest_hip(rdata, digest, arg); break; \
case 99: result = digest_spf(rdata, digest, arg); break; \
case 103: result = digest_unspec(rdata, digest, arg); break; \
@@ -1435,6 +1447,7 @@
break; \
case 50: result = checkowner_nsec3(name, rdclass, type, wildcard); break; \
case 51: result = checkowner_nsec3param(name, rdclass, type, wildcard); break; \
+ case 52: result = checkowner_tlsa(name, rdclass, type, wildcard); break; \
case 55: result = checkowner_hip(name, rdclass, type, wildcard); break; \
case 99: result = checkowner_spf(name, rdclass, type, wildcard); break; \
case 103: result = checkowner_unspec(name, rdclass, type, wildcard); break; \
@@ -1548,6 +1561,7 @@
break; \
case 50: result = checknames_nsec3(rdata, owner, bad); break; \
case 51: result = checknames_nsec3param(rdata, owner, bad); break; \
+ case 52: result = checknames_tlsa(rdata, owner, bad); break; \
case 55: result = checknames_hip(rdata, owner, bad); break; \
case 99: result = checknames_spf(rdata, owner, bad); break; \
case 103: result = checknames_unspec(rdata, owner, bad); break; \
@@ -1718,6 +1732,9 @@
case 233: \
RDATATYPE_COMPARE("nsec3", 50, _typename, _length, _typep); \
break; \
+ case 120: \
+ RDATATYPE_COMPARE("tlsa", 52, _typename, _length, _typep); \
+ break; \
case 208: \
RDATATYPE_COMPARE("hip", 55, _typename, _length, _typep); \
break; \
@@ -1806,6 +1823,7 @@
case 49: return (RRTYPE_DHCID_ATTRIBUTES); \
case 50: return (RRTYPE_NSEC3_ATTRIBUTES); \
case 51: return (RRTYPE_NSEC3PARAM_ATTRIBUTES); \
+ case 52: return (RRTYPE_TLSA_ATTRIBUTES); \
case 55: return (RRTYPE_HIP_ATTRIBUTES); \
case 99: return (RRTYPE_SPF_ATTRIBUTES); \
case 100: return (DNS_RDATATYPEATTR_RESERVED); \
@@ -1875,6 +1893,7 @@
case 49: return (str_totext("DHCID", target)); \
case 50: return (str_totext("NSEC3", target)); \
case 51: return (str_totext("NSEC3PARAM", target)); \
+ case 52: return (str_totext("TLSA", target)); \
case 55: return (str_totext("HIP", target)); \
case 99: return (str_totext("SPF", target)); \
case 100: return (str_totext("UINFO", target)); \
diff --git a/lib/bind/dns/dns/enumtype.h b/lib/bind/dns/dns/enumtype.h
index bc64f69..4c9a2f9 100644
--- a/lib/bind/dns/dns/enumtype.h
+++ b/lib/bind/dns/dns/enumtype.h
@@ -78,6 +78,7 @@ enum {
dns_rdatatype_dhcid = 49,
dns_rdatatype_nsec3 = 50,
dns_rdatatype_nsec3param = 51,
+ dns_rdatatype_tlsa = 52,
dns_rdatatype_hip = 55,
dns_rdatatype_spf = 99,
dns_rdatatype_unspec = 103,
@@ -140,6 +141,7 @@ enum {
#define dns_rdatatype_dhcid ((dns_rdatatype_t)dns_rdatatype_dhcid)
#define dns_rdatatype_nsec3 ((dns_rdatatype_t)dns_rdatatype_nsec3)
#define dns_rdatatype_nsec3param ((dns_rdatatype_t)dns_rdatatype_nsec3param)
+#define dns_rdatatype_tlsa ((dns_rdatatype_t)dns_rdatatype_tlsa)
#define dns_rdatatype_hip ((dns_rdatatype_t)dns_rdatatype_hip)
#define dns_rdatatype_spf ((dns_rdatatype_t)dns_rdatatype_spf)
#define dns_rdatatype_unspec ((dns_rdatatype_t)dns_rdatatype_unspec)
diff --git a/lib/bind/dns/dns/rdatastruct.h b/lib/bind/dns/dns/rdatastruct.h
index 4b50b57..9504fa8 100644
--- a/lib/bind/dns/dns/rdatastruct.h
+++ b/lib/bind/dns/dns/rdatastruct.h
@@ -1840,6 +1840,41 @@ typedef struct dns_rdata_nsec3param {
#endif /* GENERIC_NSEC3PARAM_51_H */
/*
+ * Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id$ */
+
+#ifndef GENERIC_TLSA_52_H
+#define GENERIC_TLSA_52_H 1
+
+/*!
+ * \brief per draft-ietf-dane-protocol-19.txt
+ */
+typedef struct dns_rdata_tlsa {
+ dns_rdatacommon_t common;
+ isc_mem_t *mctx;
+ isc_uint8_t usage;
+ isc_uint8_t selector;
+ isc_uint8_t match;
+ isc_uint16_t length;
+ unsigned char *data;
+} dns_rdata_tlsa_t;
+
+#endif /* GENERIC_TLSA_52_H */
+/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
OpenPOWER on IntegriCloud