diff options
Diffstat (limited to 'bind-9.5-edns.patch')
| -rw-r--r-- | bind-9.5-edns.patch | 94 |
1 files changed, 46 insertions, 48 deletions
diff --git a/bind-9.5-edns.patch b/bind-9.5-edns.patch index cd37f9d..a3554cb 100644 --- a/bind-9.5-edns.patch +++ b/bind-9.5-edns.patch @@ -1,6 +1,6 @@ -diff -up bind-9.5.0a7/lib/dns/view.c.edns bind-9.5.0a7/lib/dns/view.c ---- bind-9.5.0a7/lib/dns/view.c.edns 2007-06-19 01:47:42.000000000 +0200 -+++ bind-9.5.0a7/lib/dns/view.c 2007-11-15 12:32:12.000000000 +0100 +diff -up bind-9.5.0b2/lib/dns/view.c.edns bind-9.5.0b2/lib/dns/view.c +--- bind-9.5.0b2/lib/dns/view.c.edns 2007-06-19 01:47:42.000000000 +0200 ++++ bind-9.5.0b2/lib/dns/view.c 2008-02-12 13:35:36.000000000 +0100 @@ -179,6 +179,7 @@ dns_view_create(isc_mem_t *mctx, dns_rda view->flush = ISC_FALSE; view->dlv = NULL; @@ -9,29 +9,29 @@ diff -up bind-9.5.0a7/lib/dns/view.c.edns bind-9.5.0a7/lib/dns/view.c dns_fixedname_init(&view->dlv_fixed); result = dns_order_create(view->mctx, &view->order); -diff -up bind-9.5.0a7/lib/dns/resolver.c.edns bind-9.5.0a7/lib/dns/resolver.c ---- bind-9.5.0a7/lib/dns/resolver.c.edns 2007-10-19 19:15:53.000000000 +0200 -+++ bind-9.5.0a7/lib/dns/resolver.c 2007-11-15 12:32:44.000000000 +0100 -@@ -1509,10 +1509,12 @@ resquery_send(resquery_t *query) { - * The ADB does not know about servers with "edns no". Check this, - * and then inform the ADB for future use. - */ -- if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 && -- peer != NULL && -- dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && -- !useedns) -+ if (((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 || -+ (query->options & DNS_FETCHOPT_NOEDNS0) == 0) && -+ (!(res->view->edns) || -+ (peer != NULL && -+ dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && -+ !useedns))) - { - query->options |= DNS_FETCHOPT_NOEDNS0; - dns_adb_changeflags(fctx->adb, -diff -up bind-9.5.0a7/lib/dns/include/dns/view.h.edns bind-9.5.0a7/lib/dns/include/dns/view.h ---- bind-9.5.0a7/lib/dns/include/dns/view.h.edns 2007-06-19 01:47:42.000000000 +0200 -+++ bind-9.5.0a7/lib/dns/include/dns/view.h 2007-11-15 12:32:12.000000000 +0100 +diff -up bind-9.5.0b2/lib/dns/resolver.c.edns bind-9.5.0b2/lib/dns/resolver.c +--- bind-9.5.0b2/lib/dns/resolver.c.edns 2008-01-18 00:46:37.000000000 +0100 ++++ bind-9.5.0b2/lib/dns/resolver.c 2008-02-12 13:50:04.000000000 +0100 +@@ -1514,10 +1514,12 @@ resquery_send(resquery_t *query) { + * The ADB does not know about servers with "edns no". Check this, + * and then inform the ADB for future use. + */ +- if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 && +- peer != NULL && +- dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && +- !useedns) ++ if (((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 || ++ (query->options & DNS_FETCHOPT_NOEDNS0) == 0) && ++ (!(res->view->edns) || ++ (peer != NULL && ++ dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && ++ !useedns))) + { + query->options |= DNS_FETCHOPT_NOEDNS0; + dns_adb_changeflags(fctx->adb, +diff -up bind-9.5.0b2/lib/dns/include/dns/view.h.edns bind-9.5.0b2/lib/dns/include/dns/view.h +--- bind-9.5.0b2/lib/dns/include/dns/view.h.edns 2007-06-19 01:47:42.000000000 +0200 ++++ bind-9.5.0b2/lib/dns/include/dns/view.h 2008-02-12 13:35:36.000000000 +0100 @@ -137,6 +137,7 @@ struct dns_view { dns_name_t * dlv; dns_fixedname_t dlv_fixed; @@ -40,9 +40,9 @@ diff -up bind-9.5.0a7/lib/dns/include/dns/view.h.edns bind-9.5.0a7/lib/dns/inclu /* * Configurable data for server use only, -diff -up bind-9.5.0a7/lib/isccfg/namedconf.c.edns bind-9.5.0a7/lib/isccfg/namedconf.c ---- bind-9.5.0a7/lib/isccfg/namedconf.c.edns 2007-09-26 05:22:45.000000000 +0200 -+++ bind-9.5.0a7/lib/isccfg/namedconf.c 2007-11-15 12:32:12.000000000 +0100 +diff -up bind-9.5.0b2/lib/isccfg/namedconf.c.edns bind-9.5.0b2/lib/isccfg/namedconf.c +--- bind-9.5.0b2/lib/isccfg/namedconf.c.edns 2008-01-22 01:31:00.000000000 +0100 ++++ bind-9.5.0b2/lib/isccfg/namedconf.c 2008-02-12 13:35:36.000000000 +0100 @@ -618,6 +618,7 @@ options_clauses[] = { { "deallocate-on-exit", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, { "directory", &cfg_type_qstring, CFG_CLAUSEFLAG_CALLBACK }, @@ -51,9 +51,9 @@ diff -up bind-9.5.0a7/lib/isccfg/namedconf.c.edns bind-9.5.0a7/lib/isccfg/namedc { "fake-iquery", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, { "files", &cfg_type_size, 0 }, { "has-old-clients", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, -diff -up bind-9.5.0a7/doc/misc/options.edns bind-9.5.0a7/doc/misc/options ---- bind-9.5.0a7/doc/misc/options.edns 2007-10-22 00:15:34.000000000 +0200 -+++ bind-9.5.0a7/doc/misc/options 2007-11-15 12:34:04.000000000 +0100 +diff -up bind-9.5.0b2/doc/misc/options.edns bind-9.5.0b2/doc/misc/options +--- bind-9.5.0b2/doc/misc/options.edns 2008-01-22 02:45:23.000000000 +0100 ++++ bind-9.5.0b2/doc/misc/options 2008-02-12 13:35:36.000000000 +0100 @@ -97,6 +97,7 @@ options { <integer>] | <ipv4_address> [port <integer>] | <ipv6_address> [port <integer>] ); ... }; @@ -62,9 +62,9 @@ diff -up bind-9.5.0a7/doc/misc/options.edns bind-9.5.0a7/doc/misc/options edns-udp-size <integer>; empty-contact <string>; empty-server <string>; -diff -up bind-9.5.0a7/bin/named/config.c.edns bind-9.5.0a7/bin/named/config.c ---- bind-9.5.0a7/bin/named/config.c.edns 2007-10-19 19:15:53.000000000 +0200 -+++ bind-9.5.0a7/bin/named/config.c 2007-11-15 12:34:33.000000000 +0100 +diff -up bind-9.5.0b2/bin/named/config.c.edns bind-9.5.0b2/bin/named/config.c +--- bind-9.5.0b2/bin/named/config.c.edns 2008-01-23 00:27:35.000000000 +0100 ++++ bind-9.5.0b2/bin/named/config.c 2008-02-12 13:35:36.000000000 +0100 @@ -137,6 +137,7 @@ options {\n\ acache-enable no;\n\ acache-cleaning-interval 60;\n\ @@ -73,26 +73,24 @@ diff -up bind-9.5.0a7/bin/named/config.c.edns bind-9.5.0a7/bin/named/config.c dnssec-enable yes;\n\ dnssec-validation no; /* Make yes for 9.5. */ \n\ dnssec-accept-expired no;\n\ -diff -up bind-9.5.0a7/bin/named/server.c.edns bind-9.5.0a7/bin/named/server.c ---- bind-9.5.0a7/bin/named/server.c.edns 2007-10-18 03:37:49.000000000 +0200 -+++ bind-9.5.0a7/bin/named/server.c 2007-11-15 12:32:12.000000000 +0100 -@@ -1669,7 +1669,12 @@ configure_view(dns_view_t *view, const c - dns_resolver_setclientsperquery(view->resolver, - cfg_obj_asuint32(obj), +diff -up bind-9.5.0b2/bin/named/server.c.edns bind-9.5.0b2/bin/named/server.c +--- bind-9.5.0b2/bin/named/server.c.edns 2008-01-24 03:29:56.000000000 +0100 ++++ bind-9.5.0b2/bin/named/server.c 2008-02-12 13:52:25.000000000 +0100 +@@ -1667,6 +1667,11 @@ configure_view(dns_view_t *view, const c max_clients_per_query); -- -+ -+ obj = NULL; + + obj = NULL; + result = ns_config_get(maps, "edns", &obj); + INSIST(result == ISC_R_SUCCESS); + view->edns = cfg_obj_asboolean(obj); + - obj = NULL; ++ obj = NULL; result = ns_config_get(maps, "dnssec-enable", &obj); INSIST(result == ISC_R_SUCCESS); -diff -up bind-9.5.0a7/bin/named/named.conf.5.edns bind-9.5.0a7/bin/named/named.conf.5 ---- bind-9.5.0a7/bin/named/named.conf.5.edns 2007-10-22 00:15:32.000000000 +0200 -+++ bind-9.5.0a7/bin/named/named.conf.5 2007-11-15 12:32:12.000000000 +0100 + view->enablednssec = cfg_obj_asboolean(obj); +diff -up bind-9.5.0b2/bin/named/named.conf.5.edns bind-9.5.0b2/bin/named/named.conf.5 +--- bind-9.5.0b2/bin/named/named.conf.5.edns 2007-10-22 00:15:32.000000000 +0200 ++++ bind-9.5.0b2/bin/named/named.conf.5 2008-02-12 13:35:36.000000000 +0100 @@ -160,6 +160,7 @@ options { datasize \fIsize\fR; directory \fIquoted_string\fR; |
