update to 9.9.5rc2

- merged patches dropped
- some patches rebased to the new version

Signed-off-by: Tomas Hozza <thozza@redhat.com>
This commit is contained in:
Tomas Hozza 2014-01-24 13:08:12 +01:00
parent 01ddf2c8af
commit fb62390fbb
10 changed files with 90 additions and 299 deletions

1
.gitignore vendored
View File

@ -41,3 +41,4 @@ bind-9.7.2b1.tar.gz
/bind-9.9.4.tar.gz
/config-12.tar.bz2
/bind-9.9.5b1.tar.gz
/bind-9.9.5rc2.tar.gz

View File

@ -1,12 +1,12 @@
diff -up bind-9.9.3/lib/dns/include/dns/Makefile.in.update bind-9.9.3/lib/dns/include/dns/Makefile.in
--- bind-9.9.3/lib/dns/include/dns/Makefile.in.update 2013-06-03 09:29:41.049197873 +0200
+++ bind-9.9.3/lib/dns/include/dns/Makefile.in 2013-06-03 09:30:09.229213170 +0200
@@ -30,7 +30,7 @@ HEADERS = acl.h adb.h byaddr.h cache.h c
diff -up bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.update bind-9.9.5rc2/lib/dns/include/dns/Makefile.in
--- bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.update 2014-01-24 12:50:47.811725841 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/Makefile.in 2014-01-24 12:51:33.866701688 +0100
@@ -31,7 +31,7 @@ HEADERS = acl.h adb.h byaddr.h cache.h c
rdata.h rdataclass.h rdatalist.h rdataset.h rdatasetiter.h \
rdataslab.h rdatatype.h request.h resolver.h result.h \
rootns.h rpz.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
- tcpmsg.h time.h tkey.h tsig.h ttl.h types.h \
+ tcpmsg.h time.h tkey.h tsig.h ttl.h types.h update.h\
validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h \
forward.h rrl.h
rootns.h rpz.h rrl.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
- tcpmsg.h time.h tkey.h tsec.h tsig.h ttl.h types.h \
+ tcpmsg.h time.h tkey.h tsec.h tsig.h ttl.h types.h update.h \
validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h
GENHEADERS = enumclass.h enumtype.h rdatastruct.h

View File

@ -1,53 +0,0 @@
diff -pruN bind-9.9.4-P1/bin/named/query.c bind-9.9.4-P2/bin/named/query.c
--- bind-9.9.4-P1/bin/named/query.c 2013-10-16 01:04:32.000000000 +0200
+++ bind-9.9.4-P2/bin/named/query.c 2013-12-20 01:28:28.000000000 +0100
@@ -5260,8 +5260,7 @@ query_findclosestnsec3(dns_name_t *qname
dns_fixedname_t fixed;
dns_hash_t hash;
dns_name_t name;
- int order;
- unsigned int count;
+ unsigned int skip = 0, labels;
dns_rdata_nsec3_t nsec3;
dns_rdata_t rdata = DNS_RDATA_INIT;
isc_boolean_t optout;
@@ -5276,6 +5275,7 @@ query_findclosestnsec3(dns_name_t *qname
dns_name_init(&name, NULL);
dns_name_clone(qname, &name);
+ labels = dns_name_countlabels(&name);
dns_clientinfomethods_init(&cm, ns_client_sourceip);
dns_clientinfo_init(&ci, client);
@@ -5309,13 +5309,14 @@ query_findclosestnsec3(dns_name_t *qname
dns_rdata_reset(&rdata);
optout = ISC_TF((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) != 0);
if (found != NULL && optout &&
- dns_name_fullcompare(&name, dns_db_origin(db), &order,
- &count) == dns_namereln_subdomain) {
+ dns_name_issubdomain(&name, dns_db_origin(db)))
+ {
dns_rdataset_disassociate(rdataset);
if (dns_rdataset_isassociated(sigrdataset))
dns_rdataset_disassociate(sigrdataset);
- count = dns_name_countlabels(&name) - 1;
- dns_name_getlabelsequence(&name, 1, count, &name);
+ skip++;
+ dns_name_getlabelsequence(qname, skip, labels - skip,
+ &name);
ns_client_log(client, DNS_LOGCATEGORY_DNSSEC,
NS_LOGMODULE_QUERY, ISC_LOG_DEBUG(3),
"looking for closest provable encloser");
@@ -5333,7 +5334,11 @@ query_findclosestnsec3(dns_name_t *qname
ns_client_log(client, DNS_LOGCATEGORY_DNSSEC,
NS_LOGMODULE_QUERY, ISC_LOG_WARNING,
"expected covering NSEC3, got an exact match");
- if (found != NULL)
+ if (found == qname) {
+ if (skip != 0U)
+ dns_name_getlabelsequence(qname, skip, labels - skip,
+ found);
+ } else if (found != NULL)
dns_name_copy(&name, found, NULL);
return;
}

View File

@ -1,113 +0,0 @@
From e3d1d75a58dcc6bdb7fa7a9a3147ffd297407c76 Mon Sep 17 00:00:00 2001
From: Mark Andrews via RT <dhcp-bugs@isc.org>
Date: Wed, 15 Jan 2014 02:30:27 +0000
Subject: [PATCH] non-existance of resolv.conf should not be fatal
I've just put the following in for review. The open question is whether
we should return ISC_R_SUCCESS or some error code, when the file does not
exist, and fix the callers.
This should be enough to allow you to continue testing.
Mark
commit 1992f682728798ef73db89351285f03de6d52043
Author: Mark Andrews <marka@isc.org>
Date: Wed Jan 15 13:25:22 2014 +1100
---
lib/irs/resconf.c | 75 +++++++++++++++++++++++++++++--------------------------
1 file changed, 40 insertions(+), 35 deletions(-)
diff --git a/lib/irs/resconf.c b/lib/irs/resconf.c
index 88bdac1..8319dc6 100644
--- a/lib/irs/resconf.c
+++ b/lib/irs/resconf.c
@@ -507,45 +507,50 @@ irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp)
conf->search[i] = NULL;
errno = 0;
- if ((fp = fopen(filename, "r")) == NULL) {
- isc_mem_put(mctx, conf, sizeof(*conf));
- return (ISC_R_INVALIDFILE);
- }
-
- ret = ISC_R_SUCCESS;
- do {
- stopchar = getword(fp, word, sizeof(word));
- if (stopchar == EOF) {
- rval = ISC_R_SUCCESS;
- POST(rval);
- break;
- }
-
- if (strlen(word) == 0U)
- rval = ISC_R_SUCCESS;
- else if (strcmp(word, "nameserver") == 0)
- rval = resconf_parsenameserver(conf, fp);
- else if (strcmp(word, "domain") == 0)
- rval = resconf_parsedomain(conf, fp);
- else if (strcmp(word, "search") == 0)
- rval = resconf_parsesearch(conf, fp);
- else if (strcmp(word, "sortlist") == 0)
- rval = resconf_parsesortlist(conf, fp);
- else if (strcmp(word, "options") == 0)
- rval = resconf_parseoption(conf, fp);
- else {
- /* unrecognised word. Ignore entire line */
- rval = ISC_R_SUCCESS;
- stopchar = eatline(fp);
+ if ((fp = fopen(filename, "r")) != NULL) {
+ ret = ISC_R_SUCCESS;
+ do {
+ stopchar = getword(fp, word, sizeof(word));
if (stopchar == EOF) {
+ rval = ISC_R_SUCCESS;
+ POST(rval);
break;
}
- }
- if (ret == ISC_R_SUCCESS && rval != ISC_R_SUCCESS)
- ret = rval;
- } while (1);
- fclose(fp);
+ if (strlen(word) == 0U)
+ rval = ISC_R_SUCCESS;
+ else if (strcmp(word, "nameserver") == 0)
+ rval = resconf_parsenameserver(conf, fp);
+ else if (strcmp(word, "domain") == 0)
+ rval = resconf_parsedomain(conf, fp);
+ else if (strcmp(word, "search") == 0)
+ rval = resconf_parsesearch(conf, fp);
+ else if (strcmp(word, "sortlist") == 0)
+ rval = resconf_parsesortlist(conf, fp);
+ else if (strcmp(word, "options") == 0)
+ rval = resconf_parseoption(conf, fp);
+ else {
+ /* unrecognised word. Ignore entire line */
+ rval = ISC_R_SUCCESS;
+ stopchar = eatline(fp);
+ if (stopchar == EOF) {
+ break;
+ }
+ }
+ if (ret == ISC_R_SUCCESS && rval != ISC_R_SUCCESS)
+ ret = rval;
+ } while (1);
+
+ fclose(fp);
+ } else {
+ switch (errno) {
+ case ENOENT:
+ break;
+ default:
+ isc_mem_put(mctx, conf, sizeof(*conf));
+ return (ISC_R_INVALIDFILE);
+ }
+ }
/* If we don't find a nameserver fall back to localhost */
if (conf->numns == 0) {
--
1.8.4.2

View File

@ -1,6 +1,6 @@
diff -up bind-9.9.2/bin/named/main.c.dyndb bind-9.9.2/bin/named/main.c
--- bind-9.9.2/bin/named/main.c.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/bin/named/main.c 2012-10-11 13:13:10.626497598 +0200
diff -up bind-9.9.5rc2/bin/named/main.c.dyndb bind-9.9.5rc2/bin/named/main.c
--- bind-9.9.5rc2/bin/named/main.c.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/bin/named/main.c 2014-01-24 10:45:59.047572064 +0100
@@ -45,6 +45,7 @@
#include <isccc/result.h>
@ -9,9 +9,9 @@ diff -up bind-9.9.2/bin/named/main.c.dyndb bind-9.9.2/bin/named/main.c
#include <dns/name.h>
#include <dns/result.h>
#include <dns/view.h>
diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
--- bind-9.9.2/bin/named/server.c.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/bin/named/server.c 2012-10-11 13:13:10.630497590 +0200
diff -up bind-9.9.5rc2/bin/named/server.c.dyndb bind-9.9.5rc2/bin/named/server.c
--- bind-9.9.5rc2/bin/named/server.c.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/bin/named/server.c 2014-01-24 10:45:59.048572063 +0100
@@ -63,6 +63,7 @@
#include <dns/db.h>
#include <dns/dispatch.h>
@ -20,7 +20,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
#include <dns/dns64.h>
#include <dns/forward.h>
#include <dns/journal.h>
@@ -1161,6 +1162,72 @@ configure_peer(const cfg_obj_t *cpeer, i
@@ -1249,6 +1250,72 @@ configure_peer(const cfg_obj_t *cpeer, i
}
static isc_result_t
@ -93,7 +93,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) {
isc_result_t result;
const cfg_obj_t *algorithms;
@@ -1586,6 +1653,7 @@ configure_view(dns_view_t *view, cfg_obj
@@ -2071,6 +2138,7 @@ configure_view(dns_view_t *view, cfg_obj
const cfg_obj_t *dlz;
unsigned int dlzargc;
char **dlzargv;
@ -101,7 +101,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
const cfg_obj_t *disabled;
const cfg_obj_t *obj;
const cfg_listelt_t *element;
@@ -1816,6 +1884,8 @@ configure_view(dns_view_t *view, cfg_obj
@@ -2355,6 +2423,8 @@ configure_view(dns_view_t *view, cfg_obj
}
}
@ -110,7 +110,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
/*
* Obtain configuration parameters that affect the decision of whether
* we can reuse/share an existing cache.
@@ -2721,6 +2791,37 @@ configure_view(dns_view_t *view, cfg_obj
@@ -3264,6 +3334,37 @@ configure_view(dns_view_t *view, cfg_obj
dns_view_setrootdelonly(view, ISC_FALSE);
/*
@ -148,7 +148,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
* Setup automatic empty zones. If recursion is off then
* they are disabled by default.
*/
@@ -4388,6 +4489,7 @@ load_configuration(const char *filename,
@@ -4917,6 +5018,7 @@ load_configuration(const char *filename,
cfg_aclconfctx_detach(&ns_g_aclconfctx);
CHECK(cfg_aclconfctx_create(ns_g_mctx, &ns_g_aclconfctx));
@ -156,7 +156,7 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
/*
* Parse the global default pseudo-config file.
*/
@@ -5493,6 +5595,8 @@ shutdown_server(isc_task_t *task, isc_ev
@@ -6046,6 +6148,8 @@ shutdown_server(isc_task_t *task, isc_ev
dns_view_detach(&view);
}
@ -165,9 +165,9 @@ diff -up bind-9.9.2/bin/named/server.c.dyndb bind-9.9.2/bin/named/server.c
while ((nsc = ISC_LIST_HEAD(server->cachelist)) != NULL) {
ISC_LIST_UNLINK(server->cachelist, nsc, link);
dns_cache_detach(&nsc->cache);
diff -up bind-9.9.2/lib/dns/dynamic_db.c.dyndb bind-9.9.2/lib/dns/dynamic_db.c
--- bind-9.9.2/lib/dns/dynamic_db.c.dyndb 2012-10-11 13:13:10.630497590 +0200
+++ bind-9.9.2/lib/dns/dynamic_db.c 2012-10-11 13:13:10.630497590 +0200
diff -up bind-9.9.5rc2/lib/dns/dynamic_db.c.dyndb bind-9.9.5rc2/lib/dns/dynamic_db.c
--- bind-9.9.5rc2/lib/dns/dynamic_db.c.dyndb 2014-01-24 10:45:59.049572063 +0100
+++ bind-9.9.5rc2/lib/dns/dynamic_db.c 2014-01-24 10:45:59.049572063 +0100
@@ -0,0 +1,366 @@
+/*
+ * Copyright (C) 2008-2011 Red Hat, Inc.
@ -535,9 +535,9 @@ diff -up bind-9.9.2/lib/dns/dynamic_db.c.dyndb bind-9.9.2/lib/dns/dynamic_db.c
+
+ return args->timermgr;
+}
diff -up bind-9.9.2/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.9.2/lib/dns/include/dns/dynamic_db.h
--- bind-9.9.2/lib/dns/include/dns/dynamic_db.h.dyndb 2012-10-11 13:13:10.631497588 +0200
+++ bind-9.9.2/lib/dns/include/dns/dynamic_db.h 2012-10-11 13:13:10.631497588 +0200
diff -up bind-9.9.5rc2/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.9.5rc2/lib/dns/include/dns/dynamic_db.h
--- bind-9.9.5rc2/lib/dns/include/dns/dynamic_db.h.dyndb 2014-01-24 10:45:59.049572063 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/dynamic_db.h 2014-01-24 10:45:59.049572063 +0100
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2008-2011 Red Hat, Inc.
@ -589,10 +589,10 @@ diff -up bind-9.9.2/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.9.2/lib/dns/in
+isc_timermgr_t *dns_dyndb_get_timermgr(dns_dyndb_arguments_t *args);
+
+#endif
diff -up bind-9.9.2/lib/dns/include/dns/log.h.dyndb bind-9.9.2/lib/dns/include/dns/log.h
--- bind-9.9.2/lib/dns/include/dns/log.h.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/lib/dns/include/dns/log.h 2012-10-11 13:13:45.309399482 +0200
@@ -76,6 +76,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul
diff -up bind-9.9.5rc2/lib/dns/include/dns/log.h.dyndb bind-9.9.5rc2/lib/dns/include/dns/log.h
--- bind-9.9.5rc2/lib/dns/include/dns/log.h.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/log.h 2014-01-24 10:45:59.049572063 +0100
@@ -77,6 +77,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul
#define DNS_LOGMODULE_DLZ (&dns_modules[26])
#define DNS_LOGMODULE_DNSSEC (&dns_modules[27])
#define DNS_LOGMODULE_CRYPTO (&dns_modules[28])
@ -600,21 +600,21 @@ diff -up bind-9.9.2/lib/dns/include/dns/log.h.dyndb bind-9.9.2/lib/dns/include/d
ISC_LANG_BEGINDECLS
diff -up bind-9.9.2/lib/dns/include/dns/Makefile.in.dyndb bind-9.9.2/lib/dns/include/dns/Makefile.in
--- bind-9.9.2/lib/dns/include/dns/Makefile.in.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/lib/dns/include/dns/Makefile.in 2012-10-11 13:13:10.632497587 +0200
@@ -22,7 +22,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
diff -up bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.dyndb bind-9.9.5rc2/lib/dns/include/dns/Makefile.in
--- bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.dyndb 2014-01-24 10:45:59.049572063 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/Makefile.in 2014-01-24 12:43:29.234908816 +0100
@@ -23,7 +23,7 @@ top_srcdir = @top_srcdir@
HEADERS = acl.h adb.h byaddr.h cache.h callbacks.h cert.h compress.h \
- clientinfo.h db.h dbiterator.h dbtable.h diff.h dispatch.h \
+ clientinfo.h db.h dbiterator.h dbtable.h diff.h dispatch.h dynamic_db.h \
client.h clientinfo.h compress.h \
- db.h dbiterator.h dbtable.h diff.h dispatch.h \
+ db.h dbiterator.h dbtable.h diff.h dispatch.h dynamic_db.h \
dlz.h dnssec.h ds.h events.h fixedname.h iptable.h journal.h \
keyflags.h keytable.h keyvalues.h lib.h log.h \
master.h masterdump.h message.h name.h ncache.h nsec.h \
diff -up bind-9.9.2/lib/dns/include/dns/types.h.dyndb bind-9.9.2/lib/dns/include/dns/types.h
--- bind-9.9.2/lib/dns/include/dns/types.h.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/lib/dns/include/dns/types.h 2012-10-11 13:13:10.632497587 +0200
diff -up bind-9.9.5rc2/lib/dns/include/dns/types.h.dyndb bind-9.9.5rc2/lib/dns/include/dns/types.h
--- bind-9.9.5rc2/lib/dns/include/dns/types.h.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/types.h 2014-01-24 10:45:59.050572062 +0100
@@ -60,6 +60,7 @@ typedef struct dns_dbtable dns_dbtable
typedef void dns_dbversion_t;
typedef struct dns_dlzimplementation dns_dlzimplementation_t;
@ -623,10 +623,10 @@ diff -up bind-9.9.2/lib/dns/include/dns/types.h.dyndb bind-9.9.2/lib/dns/include
typedef struct dns_sdlzimplementation dns_sdlzimplementation_t;
typedef struct dns_decompress dns_decompress_t;
typedef struct dns_dispatch dns_dispatch_t;
diff -up bind-9.9.2/lib/dns/log.c.dyndb bind-9.9.2/lib/dns/log.c
--- bind-9.9.2/lib/dns/log.c.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/lib/dns/log.c 2012-10-11 13:15:15.085414483 +0200
@@ -82,6 +82,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns
diff -up bind-9.9.5rc2/lib/dns/log.c.dyndb bind-9.9.5rc2/lib/dns/log.c
--- bind-9.9.5rc2/lib/dns/log.c.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/lib/dns/log.c 2014-01-24 10:45:59.050572062 +0100
@@ -83,6 +83,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns
{ "dns/dlz", 0 },
{ "dns/dnssec", 0 },
{ "dns/crypto", 0 },
@ -634,10 +634,10 @@ diff -up bind-9.9.2/lib/dns/log.c.dyndb bind-9.9.2/lib/dns/log.c
{ NULL, 0 }
};
diff -up bind-9.9.2/lib/dns/Makefile.in.dyndb bind-9.9.2/lib/dns/Makefile.in
--- bind-9.9.2/lib/dns/Makefile.in.dyndb 2012-10-11 13:13:10.605497637 +0200
+++ bind-9.9.2/lib/dns/Makefile.in 2012-10-11 13:13:10.633497585 +0200
@@ -59,7 +59,7 @@ DNSOBJS = acache.@O@ acl.@O@ adb.@O@ bya
diff -up bind-9.9.5rc2/lib/dns/Makefile.in.dyndb bind-9.9.5rc2/lib/dns/Makefile.in
--- bind-9.9.5rc2/lib/dns/Makefile.in.dyndb 2014-01-24 10:45:59.001572079 +0100
+++ bind-9.9.5rc2/lib/dns/Makefile.in 2014-01-24 10:45:59.050572062 +0100
@@ -62,7 +62,7 @@ DNSOBJS = acache.@O@ acl.@O@ adb.@O@ bya
cache.@O@ callbacks.@O@ clientinfo.@O@ compress.@O@ \
db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \
dlz.@O@ dns64.@O@ dnssec.@O@ ds.@O@ forward.@O@ iptable.@O@ \
@ -646,7 +646,7 @@ diff -up bind-9.9.2/lib/dns/Makefile.in.dyndb bind-9.9.2/lib/dns/Makefile.in
lib.@O@ log.@O@ lookup.@O@ \
master.@O@ masterdump.@O@ message.@O@ \
name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ order.@O@ peer.@O@ \
@@ -88,7 +88,7 @@ DNSSRCS = acache.c acl.c adb.c byaddr.c
@@ -92,7 +92,7 @@ DNSSRCS = acache.c acl.c adb.c byaddr.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 forward.c iptable.c journal.c \
@ -655,7 +655,7 @@ diff -up bind-9.9.2/lib/dns/Makefile.in.dyndb bind-9.9.2/lib/dns/Makefile.in
master.c masterdump.c message.c \
name.c ncache.c nsec.c nsec3.c order.c peer.c portlist.c \
rbt.c rbtdb.c rbtdb64.c rcode.c rdata.c rdatalist.c \
@@ -119,6 +119,11 @@ version.@O@: version.c
@@ -125,6 +125,11 @@ version.@O@: version.c
-DLIBAGE=${LIBAGE} \
-c ${srcdir}/version.c
@ -667,10 +667,10 @@ diff -up bind-9.9.2/lib/dns/Makefile.in.dyndb bind-9.9.2/lib/dns/Makefile.in
libdns.@SA@: ${OBJS}
${AR} ${ARFLAGS} $@ ${OBJS}
${RANLIB} $@
diff -up bind-9.9.2/lib/isccfg/namedconf.c.dyndb bind-9.9.2/lib/isccfg/namedconf.c
--- bind-9.9.2/lib/isccfg/namedconf.c.dyndb 2012-09-27 02:35:19.000000000 +0200
+++ bind-9.9.2/lib/isccfg/namedconf.c 2012-10-11 13:13:10.634497583 +0200
@@ -89,6 +89,7 @@ static cfg_type_t cfg_type_controls;
diff -up bind-9.9.5rc2/lib/isccfg/namedconf.c.dyndb bind-9.9.5rc2/lib/isccfg/namedconf.c
--- bind-9.9.5rc2/lib/isccfg/namedconf.c.dyndb 2014-01-17 04:27:12.000000000 +0100
+++ bind-9.9.5rc2/lib/isccfg/namedconf.c 2014-01-24 10:45:59.051572062 +0100
@@ -92,6 +92,7 @@ static cfg_type_t cfg_type_controls;
static cfg_type_t cfg_type_controls_sockaddr;
static cfg_type_t cfg_type_destinationlist;
static cfg_type_t cfg_type_dialuptype;
@ -678,7 +678,7 @@ diff -up bind-9.9.2/lib/isccfg/namedconf.c.dyndb bind-9.9.2/lib/isccfg/namedconf
static cfg_type_t cfg_type_ixfrdifftype;
static cfg_type_t cfg_type_key;
static cfg_type_t cfg_type_logfile;
@@ -871,6 +872,7 @@ namedconf_or_view_clauses[] = {
@@ -897,6 +898,7 @@ namedconf_or_view_clauses[] = {
{ "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
/* only 1 DLZ per view allowed */
{ "dlz", &cfg_type_dynamically_loadable_zones, 0 },
@ -686,7 +686,7 @@ diff -up bind-9.9.2/lib/isccfg/namedconf.c.dyndb bind-9.9.2/lib/isccfg/namedconf
{ "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI },
{ "trusted-keys", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI },
{ "managed-keys", &cfg_type_managedkeys, CFG_CLAUSEFLAG_MULTI },
@@ -1983,6 +1985,40 @@ static cfg_type_t cfg_type_dialuptype =
@@ -2045,6 +2047,40 @@ static cfg_type_t cfg_type_dialuptype =
&cfg_rep_string, dialup_enums
};

View File

@ -3,7 +3,7 @@
#
#%%global PATCHVER P1
%global PREVER b1
%global PREVER rc2
%global VERSION %{version}%{PREVER}
#%%global VERSION %{version}
#%%global VERSION %{version}-%{PATCHVER}
@ -30,7 +30,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
Name: bind
License: ISC
Version: 9.9.5
Release: 0.3.%{?PATCHVER}%{?PREVER}%{?dist}
Release: 0.4.%{?PATCHVER}%{?PREVER}%{?dist}
Epoch: 32
Url: http://www.isc.org/products/BIND/
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -89,9 +89,6 @@ Patch134:bind97-rh669163.patch
Patch137:bind99-rrl.patch
# Install dns/update.h header for bind-dyndb-ldap plugin
Patch138:bind-9.9.3-include-update-h.patch
Patch142:bind99-ISC-Bugs-35080.patch
Patch143:bind-9.9.4-CVE-2014-0591.patch
Patch144:bind-9.9.5-nonexistence-of-resolv-conf.patch
# SDB patches
Patch11: bind-9.3.2b2-sdbsrc.patch
@ -100,7 +97,7 @@ Patch62: bind-9.5-sdb-sqlite-bld.patch
# needs inpection
Patch17: bind-9.3.2b1-fix_sdb_ldap.patch
Patch104: bind-96-dyndb.patch
Patch104: bind-99-dyndb.patch
# IDN paches
Patch73: bind-9.5-libidn.patch
@ -305,9 +302,6 @@ popd
%patch131 -p1 -b .multlib-conflict
%patch137 -p1 -b .rrl
%patch138 -p1 -b .update
%patch142 -p1 -b .rbtdb_crash
%patch143 -p1 -b .CVE-2014-0591
%patch144 -p1 -b .resolv-conf
%if %{SDB}
%patch101 -p1 -b .old-api
@ -922,6 +916,11 @@ rm -rf ${RPM_BUILD_ROOT}
%endif
%changelog
* Fri Jan 24 2014 Tomas Hozza <thozza@redhat.com> 32:9.9.5-0.4.rc2
- update to 9.9.5rc2
- merged patches dropped
- some patches rebased to the new version
* Wed Jan 15 2014 Tomas Hozza <thozza@redhat.com> 32:9.9.5-0.3.b1
- non-existance of resolv.conf should not be fatal (#1052343)

View File

@ -1,42 +0,0 @@
commit 3a2ea636103eaf40404fb82f228605d384c36434
Author: Mark Andrews <marka@isc.org>
Date: Tue Dec 17 09:08:59 2013 +1100
3692. [bug] Two calls to dns_db_getoriginnode were fatal if there
was no data at the node. [RT #35080]
(cherry picked from commit 161e803a5608956271d8120be37a1b383d14b647)
diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c
index 2dd4aa0..941b77e 100644
--- a/lib/dns/rbtdb.c
+++ b/lib/dns/rbtdb.c
@@ -1638,8 +1638,11 @@ decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node,
nodelock = &rbtdb->node_locks[bucket];
+#define KEEP_NODE(n, r) \
+ ((n)->data != NULL || (n)->down != NULL || (n) == (r)->origin_node)
+
/* Handle easy and typical case first. */
- if (!node->dirty && (node->data != NULL || node->down != NULL)) {
+ if (!node->dirty && KEEP_NODE(node, rbtdb)) {
dns_rbtnode_refdecrement(node, &nrefs);
INSIST((int)nrefs >= 0);
if (nrefs == 0) {
@@ -1708,12 +1711,11 @@ decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node,
isc_refcount_decrement(&nodelock->references, &refs);
INSIST((int)refs >= 0);
- /*
- * XXXDCL should this only be done for cache zones?
- */
- if (node->data != NULL || node->down != NULL)
+ if (KEEP_NODE(node, rbtdb))
goto restore_locks;
+#undef KEEP_NODE
+
if (write_locked) {
/*
* We can now delete the node.

View File

@ -1,13 +1,12 @@
diff -up bind-9.9.0b2/lib/dns/include/dns/Makefile.in.forward bind-9.9.0b2/lib/dns/include/dns/Makefile.in
--- bind-9.9.0b2/lib/dns/include/dns/Makefile.in.forward 2011-12-07 16:17:50.822438237 +0100
+++ bind-9.9.0b2/lib/dns/include/dns/Makefile.in 2011-12-07 16:18:00.374455261 +0100
@@ -31,7 +31,8 @@ HEADERS = acl.h adb.h byaddr.h cache.h c
rdataslab.h rdatatype.h request.h resolver.h result.h \
rootns.h rpz.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
tcpmsg.h time.h tkey.h tsig.h ttl.h types.h \
- validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h
+ validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h \
+ forward.h
GENHEADERS = enumclass.h enumtype.h rdatastruct.h
diff -up bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.forward bind-9.9.5rc2/lib/dns/include/dns/Makefile.in
--- bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.forward 2014-01-24 12:46:04.875847331 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/Makefile.in 2014-01-24 12:47:51.707805950 +0100
@@ -24,7 +24,7 @@ top_srcdir = @top_srcdir@
HEADERS = acl.h adb.h byaddr.h cache.h callbacks.h cert.h compress.h \
client.h clientinfo.h compress.h \
db.h dbiterator.h dbtable.h diff.h dispatch.h dynamic_db.h \
- dlz.h dnssec.h ds.h events.h fixedname.h iptable.h journal.h \
+ dlz.h dnssec.h ds.h events.h fixedname.h forward.h iptable.h journal.h \
keyflags.h keytable.h keyvalues.h lib.h log.h \
master.h masterdump.h message.h name.h ncache.h nsec.h \
peer.h portlist.h private.h rbt.h rcode.h \

View File

@ -1,12 +1,12 @@
diff -up bind-9.9.3rc1/lib/dns/include/dns/Makefile.in.rrl bind-9.9.3rc1/lib/dns/include/dns/Makefile.in
--- bind-9.9.3rc1/lib/dns/include/dns/Makefile.in.rrl 2013-04-16 16:37:00.682186997 +0200
+++ bind-9.9.3rc1/lib/dns/include/dns/Makefile.in 2013-04-16 16:37:08.387169682 +0200
@@ -32,7 +32,7 @@ HEADERS = acl.h adb.h byaddr.h cache.h c
rootns.h rpz.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
tcpmsg.h time.h tkey.h tsig.h ttl.h types.h \
validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h \
- forward.h
+ forward.h rrl.h
GENHEADERS = enumclass.h enumtype.h rdatastruct.h
diff -up bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.rrl bind-9.9.5rc2/lib/dns/include/dns/Makefile.in
--- bind-9.9.5rc2/lib/dns/include/dns/Makefile.in.rrl 2014-01-24 12:48:16.869796283 +0100
+++ bind-9.9.5rc2/lib/dns/include/dns/Makefile.in 2014-01-24 12:49:15.704773787 +0100
@@ -30,7 +30,7 @@ HEADERS = acl.h adb.h byaddr.h cache.h c
peer.h portlist.h private.h rbt.h rcode.h \
rdata.h rdataclass.h rdatalist.h rdataset.h rdatasetiter.h \
rdataslab.h rdatatype.h request.h resolver.h result.h \
- rootns.h rpz.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
+ rootns.h rpz.h rrl.h sdb.h sdlz.h secalg.h secproto.h soa.h ssu.h \
tcpmsg.h time.h tkey.h tsec.h tsig.h ttl.h types.h \
validator.h version.h view.h xfrin.h zone.h zonekey.h zt.h

View File

@ -1,2 +1,2 @@
850e8f02cb5db1253114bca560bf3fe7 bind-9.9.5b1.tar.gz
eeb6f7afda9bb9c0f5dfbbae8fd03f30 bind-9.9.5rc2.tar.gz
e4315fdea56983570d3a33702e925088 config-12.tar.bz2