From 007ac2d2402a3345e5486a9bec631e2f073ef5fc Mon Sep 17 00:00:00 2001 From: Adam Tkac Date: Sep 24 2007 12:40:31 +0000 Subject: - added edns patch again (#275091) --- diff --git a/bind-9.5-edns.patch b/bind-9.5-edns.patch new file mode 100644 index 0000000..ec4c920 --- /dev/null +++ b/bind-9.5-edns.patch @@ -0,0 +1,103 @@ +diff -up bind-9.5.0a6/lib/dns/view.c.edns bind-9.5.0a6/lib/dns/view.c +--- bind-9.5.0a6/lib/dns/view.c.edns 2007-06-19 01:47:42.000000000 +0200 ++++ bind-9.5.0a6/lib/dns/view.c 2007-09-19 17:46:10.000000000 +0200 +@@ -179,6 +179,7 @@ dns_view_create(isc_mem_t *mctx, dns_rda + view->flush = ISC_FALSE; + view->dlv = NULL; + view->maxudp = 0; ++ view->edns = ISC_TRUE; + dns_fixedname_init(&view->dlv_fixed); + + result = dns_order_create(view->mctx, &view->order); +diff -up bind-9.5.0a6/lib/dns/resolver.c.edns bind-9.5.0a6/lib/dns/resolver.c +--- bind-9.5.0a6/lib/dns/resolver.c.edns 2007-09-19 17:46:10.000000000 +0200 ++++ bind-9.5.0a6/lib/dns/resolver.c 2007-09-19 17:47:19.000000000 +0200 +@@ -1484,10 +1484,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.0a6/lib/dns/include/dns/view.h.edns bind-9.5.0a6/lib/dns/include/dns/view.h +--- bind-9.5.0a6/lib/dns/include/dns/view.h.edns 2007-06-19 01:47:42.000000000 +0200 ++++ bind-9.5.0a6/lib/dns/include/dns/view.h 2007-09-19 17:46:10.000000000 +0200 +@@ -137,6 +137,7 @@ struct dns_view { + dns_name_t * dlv; + dns_fixedname_t dlv_fixed; + isc_uint16_t maxudp; ++ isc_boolean_t edns; + + /* + * Configurable data for server use only, +diff -up bind-9.5.0a6/lib/isccfg/namedconf.c.edns bind-9.5.0a6/lib/isccfg/namedconf.c +--- bind-9.5.0a6/lib/isccfg/namedconf.c.edns 2007-06-19 01:47:50.000000000 +0200 ++++ bind-9.5.0a6/lib/isccfg/namedconf.c 2007-09-19 17:46:10.000000000 +0200 +@@ -618,6 +618,7 @@ options_clauses[] = { + { "deallocate-on-exit", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, + { "directory", &cfg_type_qstring, CFG_CLAUSEFLAG_CALLBACK }, + { "dump-file", &cfg_type_qstring, 0 }, ++ { "edns", &cfg_type_boolean, 0 }, + { "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.0a6/doc/misc/options.edns bind-9.5.0a6/doc/misc/options +--- bind-9.5.0a6/doc/misc/options.edns 2007-03-29 17:19:20.000000000 +0200 ++++ bind-9.5.0a6/doc/misc/options 2007-09-19 17:46:10.000000000 +0200 +@@ -11,6 +11,7 @@ options { + deallocate-on-exit ; // obsolete + directory ; + dump-file ; ++ edns ; + fake-iquery ; // obsolete + files ; + has-old-clients ; // obsolete +diff -up bind-9.5.0a6/bin/named/config.c.edns bind-9.5.0a6/bin/named/config.c +--- bind-9.5.0a6/bin/named/config.c.edns 2007-06-19 01:47:18.000000000 +0200 ++++ bind-9.5.0a6/bin/named/config.c 2007-09-19 17:46:10.000000000 +0200 +@@ -137,6 +137,7 @@ options {\n\ + acache-enable no;\n\ + acache-cleaning-interval 60;\n\ + max-acache-size 0;\n\ ++ edns yes;\n\ + dnssec-enable yes;\n\ + dnssec-validation no; /* Make yes for 9.5. */ \n\ + dnssec-accept-expired no;\n\ +diff -up bind-9.5.0a6/bin/named/server.c.edns bind-9.5.0a6/bin/named/server.c +--- bind-9.5.0a6/bin/named/server.c.edns 2007-09-19 17:46:10.000000000 +0200 ++++ bind-9.5.0a6/bin/named/server.c 2007-09-19 17:46:10.000000000 +0200 +@@ -1624,7 +1624,12 @@ configure_view(dns_view_t *view, const c + dns_resolver_setclientsperquery(view->resolver, + cfg_obj_asuint32(obj), + max_clients_per_query); +- ++ ++ obj = NULL; ++ result = ns_config_get(maps, "edns", &obj); ++ INSIST(result == ISC_R_SUCCESS); ++ view->edns = cfg_obj_asboolean(obj); ++ + obj = NULL; + result = ns_config_get(maps, "dnssec-enable", &obj); + INSIST(result == ISC_R_SUCCESS); +diff -up bind-9.5.0a6/bin/named/named.conf.5.edns bind-9.5.0a6/bin/named/named.conf.5 +--- bind-9.5.0a6/bin/named/named.conf.5.edns 2007-06-20 04:27:32.000000000 +0200 ++++ bind-9.5.0a6/bin/named/named.conf.5 2007-09-19 17:46:10.000000000 +0200 +@@ -160,6 +160,7 @@ options { + datasize \fIsize\fR; + directory \fIquoted_string\fR; + dump\-file \fIquoted_string\fR; ++ edns \fIboolean\fR; + files \fIsize\fR; + heartbeat\-interval \fIinteger\fR; + host\-statistics \fIboolean\fR; // not implemented diff --git a/bind.spec b/bind.spec index f15b005..556596f 100644 --- a/bind.spec +++ b/bind.spec @@ -21,7 +21,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv Name: bind License: ISC Version: 9.5.0 -Release: 13.%{RELEASEVER}%{?dist} +Release: 14.%{RELEASEVER}%{?dist} Epoch: 32 Url: http://www.isc.org/products/BIND/ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -65,6 +65,7 @@ Patch72: bind-9.5-dlz-64bit.patch Patch75: bind-9.5-update.patch Patch78: bind-9.5-pool_badfree.patch Patch79: bind-9.5-_res_errno.patch +Patch80: bind-9.5-edns.patch # SDB patches Patch11: bind-9.3.2b2-sdbsrc.patch @@ -244,6 +245,7 @@ cp -fp contrib/dbus/{dbus_mgr.h,dbus_service.h} bin/named/include/named %patch75 -p1 -b .update %patch78 -p1 -b .badfree %patch79 -p1 -b .errno +%patch80 -p1 -b .edns :; @@ -643,6 +645,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_sbindir}/bind-chroot-admin %changelog +* Mon Sep 24 2007 Adam Tkac 32:9.5.0-14.a6 +- added edns patch again (#275091) + * Mon Sep 24 2007 Adam Tkac 32:9.5.0-13.a6 - removed bind-9.3.3-edns.patch patch (see #275091 for reasons)