summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorerwin <erwin@FreeBSD.org>2013-08-22 08:15:03 +0000
committererwin <erwin@FreeBSD.org>2013-08-22 08:15:03 +0000
commit6a288ef517fece2ca5a21d081efd7b4a81da0053 (patch)
tree37271fd86c9be9a6bab12a7aebd85ccfbb8a7b62 /lib
parent0b46e38a09fbccfdfd7bca0f387c66b2c64fa5b6 (diff)
parentf32b4abce98c97ee6e51b7aa8f8fde6e4cab7f28 (diff)
downloadFreeBSD-src-6a288ef517fece2ca5a21d081efd7b4a81da0053.zip
FreeBSD-src-6a288ef517fece2ca5a21d081efd7b4a81da0053.tar.gz
Update Bind to 9.9.3-P2
Notable new features: * Elliptic Curve Digital Signature Algorithm keys and signatures in DNSSEC are now supported per RFC 6605. [RT #21918] * Introduces a new tool "dnssec-verify" that validates a signed zone, checking for the correctness of signatures and NSEC/NSEC3 chains. [RT #23673] * BIND now recognizes the TLSA resource record type, created to support IETF DANE (DNS-based Authentication of Named Entities) [RT #28989] * The new "inline-signing" option, in combination with the "auto-dnssec" option that was introduced in BIND 9.7, allows named to sign zones completely transparently. Approved by: delphij (mentor) MFC after: 3 days Sponsored by: DK Hostmaster A/S
Diffstat (limited to 'lib')
-rw-r--r--lib/bind/config.h9
-rw-r--r--lib/bind/dns/Makefile6
-rw-r--r--lib/bind/dns/code.h80
-rw-r--r--lib/bind/dns/dns/rdatastruct.h63
-rw-r--r--lib/bind/isc/Makefile4
5 files changed, 74 insertions, 88 deletions
diff --git a/lib/bind/config.h b/lib/bind/config.h
index d743db2..d720a77 100644
--- a/lib/bind/config.h
+++ b/lib/bind/config.h
@@ -288,6 +288,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if your OpenSSL version supports GOST. */
/* #undef HAVE_OPENSSL_GOST */
+
+/* Define to 1 if you have the `readline' function. */
+#define HAVE_READLINE 1
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
@@ -361,6 +364,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
+/* Define to 1 if you have the `usleep' function. */
+#define HAVE_USLEEP 1
+
/* return type of gai_strerror */
#define IRS_GAISTRERROR_RETURN_T const char *
@@ -384,6 +390,9 @@ int sigwait(const unsigned int *set, int *sig);
*/
/* #undef NEED_SECURE_DIRECTORY */
+/* Use the new XML schema for statistics */
+/* #undef NEWSTATS */
+
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
diff --git a/lib/bind/dns/Makefile b/lib/bind/dns/Makefile
index 89dfd40..01925b7 100644
--- a/lib/bind/dns/Makefile
+++ b/lib/bind/dns/Makefile
@@ -13,7 +13,7 @@ LIB= dns
.PATH: ${SRCDIR}
SRCS+= acache.c acl.c adb.c byaddr.c \
- cache.c callbacks.c compress.c \
+ cache.c callbacks.c clientinfo.c compress.c \
db.c dbiterator.c dbtable.c diff.c dispatch.c \
dlz.c dns64.c dnssec.c ds.c \
dst_api.c dst_lib.c dst_parse.c dst_result.c \
@@ -33,7 +33,7 @@ SRCS+= acache.c acl.c adb.c byaddr.c \
resolver.c result.c rootns.c rpz.c rriterator.c \
sdb.c sdlz.c soa.c ssu.c ssu_external.c \
stats.c tcpmsg.c time.c timer.c tkey.c \
- tsec.c tsig.c ttl.c validator.c \
+ tsec.c tsig.c ttl.c update.c validator.c \
version.c view.c xfrin.c zone.c zonekey.c zt.c
CFLAGS+= -I${SRCDIR}/include/dst -I${SRCDIR}/include -I${SRCDIR}
@@ -52,6 +52,7 @@ DNSINCS= ${SRCDIR}/include/dns/acache.h \
${SRCDIR}/include/dns/cache.h \
${SRCDIR}/include/dns/callbacks.h \
${SRCDIR}/include/dns/cert.h \
+ ${SRCDIR}/include/dns/clientinfo.h \
${SRCDIR}/include/dns/compress.h \
${SRCDIR}/include/dns/db.h \
${SRCDIR}/include/dns/dbiterator.h \
@@ -111,6 +112,7 @@ DNSINCS= ${SRCDIR}/include/dns/acache.h \
${SRCDIR}/include/dns/tsig.h \
${SRCDIR}/include/dns/ttl.h \
${SRCDIR}/include/dns/types.h \
+ ${SRCDIR}/include/dns/update.h \
${SRCDIR}/include/dns/validator.h \
${SRCDIR}/include/dns/version.h \
${SRCDIR}/include/dns/view.h \
diff --git a/lib/bind/dns/code.h b/lib/bind/dns/code.h
index b8a5ae3..4626017 100644
--- a/lib/bind/dns/code.h
+++ b/lib/bind/dns/code.h
@@ -67,7 +67,7 @@
#include "rdata/generic/loc_29.c"
#include "rdata/generic/nxt_30.c"
#include "rdata/in_1/srv_33.c"
-#include "rdata/in_1/naptr_35.c"
+#include "rdata/generic/naptr_35.c"
#include "rdata/in_1/kx_36.c"
#include "rdata/generic/cert_37.c"
#include "rdata/in_1/a6_38.c"
@@ -164,11 +164,7 @@
default: result = DNS_R_UNKNOWN; break; \
} \
break; \
- case 35: switch (rdclass) { \
- case 1: result = fromtext_in_naptr(rdclass, type, lexer, origin, options, target, callbacks); break; \
- default: result = DNS_R_UNKNOWN; break; \
- } \
- break; \
+ case 35: result = fromtext_naptr(rdclass, type, lexer, origin, options, target, callbacks); break; \
case 36: switch (rdclass) { \
case 1: result = fromtext_in_kx(rdclass, type, lexer, origin, options, target, callbacks); break; \
default: result = DNS_R_UNKNOWN; break; \
@@ -285,11 +281,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = totext_in_naptr(rdata, tctx, target); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = totext_naptr(rdata, tctx, target); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = totext_in_kx(rdata, tctx, target); break; \
default: use_default = ISC_TRUE; break; \
@@ -406,11 +398,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdclass) { \
- case 1: result = fromwire_in_naptr(rdclass, type, source, dctx, options, target); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = fromwire_naptr(rdclass, type, source, dctx, options, target); break; \
case 36: switch (rdclass) { \
case 1: result = fromwire_in_kx(rdclass, type, source, dctx, options, target); break; \
default: use_default = ISC_TRUE; break; \
@@ -527,11 +515,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = towire_in_naptr(rdata, cctx, target); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = towire_naptr(rdata, cctx, target); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = towire_in_kx(rdata, cctx, target); break; \
default: use_default = ISC_TRUE; break; \
@@ -648,11 +632,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata1->rdclass) { \
- case 1: result = compare_in_naptr(rdata1, rdata2); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = compare_naptr(rdata1, rdata2); break; \
case 36: switch (rdata1->rdclass) { \
case 1: result = compare_in_kx(rdata1, rdata2); break; \
default: use_default = ISC_TRUE; break; \
@@ -769,11 +749,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata1->rdclass) { \
- case 1: result = casecompare_in_naptr(rdata1, rdata2); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = casecompare_naptr(rdata1, rdata2); break; \
case 36: switch (rdata1->rdclass) { \
case 1: result = casecompare_in_kx(rdata1, rdata2); break; \
default: use_default = ISC_TRUE; break; \
@@ -890,11 +866,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdclass) { \
- case 1: result = fromstruct_in_naptr(rdclass, type, source, target); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = fromstruct_naptr(rdclass, type, source, target); break; \
case 36: switch (rdclass) { \
case 1: result = fromstruct_in_kx(rdclass, type, source, target); break; \
default: use_default = ISC_TRUE; break; \
@@ -1011,11 +983,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = tostruct_in_naptr(rdata, target, mctx); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = tostruct_naptr(rdata, target, mctx); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = tostruct_in_kx(rdata, target, mctx); break; \
default: use_default = ISC_TRUE; break; \
@@ -1132,11 +1100,7 @@
default: break; \
} \
break; \
- case 35: switch (common->rdclass) { \
- case 1: freestruct_in_naptr(source); break; \
- default: break; \
- } \
- break; \
+ case 35: freestruct_naptr(source); break; \
case 36: switch (common->rdclass) { \
case 1: freestruct_in_kx(source); break; \
default: break; \
@@ -1253,11 +1217,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = additionaldata_in_naptr(rdata, add, arg); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = additionaldata_naptr(rdata, add, arg); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = additionaldata_in_kx(rdata, add, arg); break; \
default: use_default = ISC_TRUE; break; \
@@ -1374,11 +1334,7 @@
default: use_default = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = digest_in_naptr(rdata, digest, arg); break; \
- default: use_default = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = digest_naptr(rdata, digest, arg); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = digest_in_kx(rdata, digest, arg); break; \
default: use_default = ISC_TRUE; break; \
@@ -1495,11 +1451,7 @@
default: result = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdclass) { \
- case 1: result = checkowner_in_naptr(name, rdclass, type, wildcard); break; \
- default: result = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = checkowner_naptr(name, rdclass, type, wildcard); break; \
case 36: switch (rdclass) { \
case 1: result = checkowner_in_kx(name, rdclass, type, wildcard); break; \
default: result = ISC_TRUE; break; \
@@ -1616,11 +1568,7 @@
default: result = ISC_TRUE; break; \
} \
break; \
- case 35: switch (rdata->rdclass) { \
- case 1: result = checknames_in_naptr(rdata, owner, bad); break; \
- default: result = ISC_TRUE; break; \
- } \
- break; \
+ case 35: result = checknames_naptr(rdata, owner, bad); break; \
case 36: switch (rdata->rdclass) { \
case 1: result = checknames_in_kx(rdata, owner, bad); break; \
default: result = ISC_TRUE; break; \
diff --git a/lib/bind/dns/dns/rdatastruct.h b/lib/bind/dns/dns/rdatastruct.h
index a05face..3828c8e 100644
--- a/lib/bind/dns/dns/rdatastruct.h
+++ b/lib/bind/dns/dns/rdatastruct.h
@@ -1178,7 +1178,7 @@ typedef struct dns_rdata_in_srv {
#endif /* IN_1_SRV_33_H */
/*
- * Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -1194,15 +1194,15 @@ typedef struct dns_rdata_in_srv {
* PERFORMANCE OF THIS SOFTWARE.
*/
-#ifndef IN_1_NAPTR_35_H
-#define IN_1_NAPTR_35_H 1
+#ifndef GENERIC_NAPTR_35_H
+#define GENERIC_NAPTR_35_H 1
/* $Id$ */
/*!
* \brief Per RFC2915 */
-typedef struct dns_rdata_in_naptr {
+typedef struct dns_rdata_naptr {
dns_rdatacommon_t common;
isc_mem_t *mctx;
isc_uint16_t order;
@@ -1214,9 +1214,9 @@ typedef struct dns_rdata_in_naptr {
char *regexp;
isc_uint8_t regexp_len;
dns_name_t replacement;
-} dns_rdata_in_naptr_t;
+} dns_rdata_naptr_t;
-#endif /* IN_1_NAPTR_35_H */
+#endif /* GENERIC_NAPTR_35_H */
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
@@ -1709,7 +1709,7 @@ typedef struct dns_rdata_in_dhcid {
#endif /* IN_1_DHCID_49_H */
/*
- * Copyright (C) 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2008, 2011, 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
@@ -1756,7 +1756,16 @@ typedef struct dns_rdata_nsec3 {
#define DNS_NSEC3FLAG_OPTOUT 0x01U
/*%
- * Non-standard, NSEC3PARAM only.
+ * The following flags are used in the private-type record (implemented in
+ * lib/dns/private.c) which is used to store NSEC3PARAM data during the
+ * time when it is not legal to have an actual NSEC3PARAM record in the
+ * zone. They are defined here because the private-type record uses the
+ * same flags field for the OPTOUT flag above and for the private flags
+ * below. XXX: This should be considered for refactoring.
+ */
+
+/*%
+ * Non-standard, private type only.
*
* Create a corresponding NSEC3 chain.
* Once the NSEC3 chain is complete this flag will be removed to signal
@@ -1765,13 +1774,14 @@ typedef struct dns_rdata_nsec3 {
* This flag is automatically set when a NSEC3PARAM record is added to
* the zone via UPDATE.
*
- * NSEC3PARAM records with this flag set are supposed to be ignored by
- * RFC 5155 compliant nameservers.
+ * NSEC3PARAM records containing this flag should never be published,
+ * but if they are, they should be ignored by RFC 5155 compliant
+ * nameservers.
*/
#define DNS_NSEC3FLAG_CREATE 0x80U
/*%
- * Non-standard, NSEC3PARAM only.
+ * Non-standard, private type only.
*
* The corresponding NSEC3 set is to be removed once the NSEC chain
* has been generated.
@@ -1779,24 +1789,39 @@ typedef struct dns_rdata_nsec3 {
* This flag is automatically set when the last active NSEC3PARAM record
* is removed from the zone via UPDATE.
*
- * NSEC3PARAM records with this flag set are supposed to be ignored by
- * RFC 5155 compliant nameservers.
+ * NSEC3PARAM records containing this flag should never be published,
+ * but if they are, they should be ignored by RFC 5155 compliant
+ * nameservers.
*/
#define DNS_NSEC3FLAG_REMOVE 0x40U
/*%
- * Non-standard, NSEC3PARAM only.
+ * Non-standard, private type only.
*
- * Used to identify NSEC3PARAM records added in this UPDATE request.
+ * When set with the CREATE flag, a corresponding NSEC3 chain will be
+ * created when the zone becomes capable of supporting one (i.e., when it
+ * has a DNSKEY RRset containing at least one NSEC3-capable algorithm).
+ * Without this flag, NSEC3 chain creation would be attempted immediately,
+ * fail, and the private type record would be removed. With it, the NSEC3
+ * parameters are stored until they can be used. When the zone has the
+ * necessary prerequisites for NSEC3, then the INITIAL flag can be cleared,
+ * and the record will be cleaned up normally.
+ *
+ * NSEC3PARAM records containing this flag should never be published, but
+ * if they are, they should be ignored by RFC 5155 compliant nameservers.
*/
-#define DNS_NSEC3FLAG_UPDATE 0x20U
+#define DNS_NSEC3FLAG_INITIAL 0x20U
/*%
- * Non-standard, NSEC3PARAM only.
+ * Non-standard, private type only.
*
* Prevent the creation of a NSEC chain before the last NSEC3 chain
* is removed. This will normally only be set when the zone is
* transitioning from secure with NSEC3 chains to insecure.
+ *
+ * NSEC3PARAM records containing this flag should never be published,
+ * but if they are, they should be ignored by RFC 5155 compliant
+ * nameservers.
*/
#define DNS_NSEC3FLAG_NONSEC 0x10U
@@ -2244,7 +2269,7 @@ typedef struct dns_rdata_any_tsig {
#endif /* ANY_255_TSIG_250_H */
/*
- * Copyright (C) 2011-2013 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2011, 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
@@ -2262,7 +2287,7 @@ typedef struct dns_rdata_any_tsig {
#ifndef GENERIC_URI_256_H
#define GENERIC_URI_256_H 1
-/* $Id: uri_256.h,v 1.2 2011/03/03 14:10:27 fdupont Exp $ */
+/* $Id$ */
typedef struct dns_rdata_uri {
dns_rdatacommon_t common;
diff --git a/lib/bind/isc/Makefile b/lib/bind/isc/Makefile
index 1852472..773666e 100644
--- a/lib/bind/isc/Makefile
+++ b/lib/bind/isc/Makefile
@@ -37,7 +37,7 @@ SRCS+= inet_pton.c \
lex.c lfsr.c lib.c log.c \
md5.c mem.c mutexblock.c \
netaddr.c netscope.c ondestroy.c \
- parseint.c portset.c \
+ parseint.c pool.c portset.c \
print.c \
quota.c radix.c random.c \
ratelimiter.c refcount.c region.c regex.c result.c rwlock.c \
@@ -99,8 +99,10 @@ INCS= ${SRCDIR}/include/isc/app.h \
${SRCDIR}/include/isc/ondestroy.h \
${SRCDIR}/include/isc/os.h \
${SRCDIR}/include/isc/parseint.h \
+ ${SRCDIR}/include/isc/pool.h \
${SRCDIR}/include/isc/portset.h \
${SRCDIR}/include/isc/print.h \
+ ${SRCDIR}/include/isc/queue.h \
${SRCDIR}/include/isc/quota.h \
${SRCDIR}/include/isc/radix.h \
${SRCDIR}/include/isc/random.h \
OpenPOWER on IntegriCloud