summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/lib/dns/rdataset.c
diff options
context:
space:
mode:
authordougb <dougb@FreeBSD.org>2011-05-28 00:21:28 +0000
committerdougb <dougb@FreeBSD.org>2011-05-28 00:21:28 +0000
commitced7835c06b507528a27a1ef54de7f2533a2200c (patch)
treeb74697c394b9c5dace073b5174bc5cb33161ac8b /contrib/bind9/lib/dns/rdataset.c
parentf187cb5ae2a428062327dc2d4300a55564e91ed0 (diff)
downloadFreeBSD-src-ced7835c06b507528a27a1ef54de7f2533a2200c.zip
FreeBSD-src-ced7835c06b507528a27a1ef54de7f2533a2200c.tar.gz
Upgrade to 9.6-ESV-R4-P1, which address the following issues:
1. Very large RRSIG RRsets included in a negative cache can trigger an assertion failure that will crash named (BIND 9 DNS) due to an off-by-one error in a buffer size check. This bug affects all resolving name servers, whether DNSSEC validation is enabled or not, on all BIND versions prior to today. There is a possibility of malicious exploitation of this bug by remote users. 2. Named could fail to validate zones listed in a DLV that validated insecure without using DLV and had DS records in the parent zone. Add a patch provided by ru@ and confirmed by ISC to fix a crash at shutdown time when a SIG(0) key is being used.
Diffstat (limited to 'contrib/bind9/lib/dns/rdataset.c')
-rw-r--r--contrib/bind9/lib/dns/rdataset.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/contrib/bind9/lib/dns/rdataset.c b/contrib/bind9/lib/dns/rdataset.c
index c0fcde5..44b3a5e 100644
--- a/contrib/bind9/lib/dns/rdataset.c
+++ b/contrib/bind9/lib/dns/rdataset.c
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataset.c,v 1.82.50.4 2010-02-25 10:56:41 tbox Exp $ */
+/* $Id: rdataset.c,v 1.82.50.4.6.1 2011-05-27 00:19:19 each Exp $ */
/*! \file */
@@ -34,6 +34,26 @@
#include <dns/rdataset.h>
#include <dns/compress.h>
+static const char *trustnames[] = {
+ "none",
+ "pending-additional",
+ "pending-answer",
+ "additional",
+ "glue",
+ "answer",
+ "authauthority",
+ "authanswer",
+ "secure",
+ "local" /* aka ultimate */
+};
+
+const char *
+dns_trust_totext(dns_trust_t trust) {
+ if (trust >= sizeof(trustnames)/sizeof(*trustnames))
+ return ("bad");
+ return (trustnames[trust]);
+}
+
void
dns_rdataset_init(dns_rdataset_t *rdataset) {
OpenPOWER on IntegriCloud