From 038864092f0bd2218abbe69af42fa0c4f3fd4e55 Mon Sep 17 00:00:00 2001 From: Adam Tkac Date: May 13 2008 07:09:15 +0000 Subject: - reverted "any" patch, upstream says not needed - log EDNS failure only when we really switch to plain EDNS (#275091) - detect configuration file better --- diff --git a/bind-9.5-any.patch b/bind-9.5-any.patch deleted file mode 100644 index 55e96fc..0000000 --- a/bind-9.5-any.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up bind-9.5.0b3/lib/isc/netaddr.c.any bind-9.5.0b3/lib/isc/netaddr.c ---- bind-9.5.0b3/lib/isc/netaddr.c.any 2008-05-05 22:01:29.000000000 +0200 -+++ bind-9.5.0b3/lib/isc/netaddr.c 2008-05-05 22:24:52.000000000 +0200 -@@ -69,10 +69,11 @@ isc_boolean_t - isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b, - unsigned int prefixlen) - { -- const unsigned char *pa, *pb; -+ const unsigned char *pa, *pb, *pany; - unsigned int ipabytes; /* Length of whole IP address in bytes */ - unsigned int nbytes; /* Number of significant whole bytes */ - unsigned int nbits; /* Number of significant leftover bits */ -+ isc_netaddr_t any; /* represents 0.0.0.0 or ::0 */ - - REQUIRE(a != NULL && b != NULL); - -@@ -86,11 +87,15 @@ isc_netaddr_eqprefix(const isc_netaddr_t - case AF_INET: - pa = (const unsigned char *) &a->type.in; - pb = (const unsigned char *) &b->type.in; -+ isc_netaddr_any(&any); -+ pany = (const unsigned char *) &any.type.in; - ipabytes = 4; - break; - case AF_INET6: - pa = (const unsigned char *) &a->type.in6; - pb = (const unsigned char *) &b->type.in6; -+ isc_netaddr_any6(&any); -+ pany = (const unsigned char *) &any.type.in6; - ipabytes = 16; - break; - default: -@@ -99,6 +104,10 @@ isc_netaddr_eqprefix(const isc_netaddr_t - return (ISC_FALSE); - } - -+ if (memcmp(pa, pany, ipabytes) == 0 || -+ memcmp(pb, pany, ipabytes) == 0) -+ return (ISC_TRUE); -+ - /* - * Don't crash if we get a pattern like 10.0.0.1/9999999. - */ diff --git a/bind-9.5-edns.patch b/bind-9.5-edns.patch new file mode 100644 index 0000000..40f6412 --- /dev/null +++ b/bind-9.5-edns.patch @@ -0,0 +1,21 @@ +diff -up bind-9.5.0b3/lib/dns/resolver.c.edns bind-9.5.0b3/lib/dns/resolver.c +--- bind-9.5.0b3/lib/dns/resolver.c.edns 2008-05-13 08:55:43.000000000 +0200 ++++ bind-9.5.0b3/lib/dns/resolver.c 2008-05-13 08:58:12.000000000 +0200 +@@ -1552,13 +1552,16 @@ resquery_send(resquery_t *query) { + dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && + !useedns) + { +- query->options |= DNS_FETCHOPT_NOEDNS0; + dns_adb_changeflags(fctx->adb, + query->addrinfo, + DNS_FETCHOPT_NOEDNS0, + DNS_FETCHOPT_NOEDNS0); + } + ++ /* Sync query->options and query->addrinfo->flags now */ ++ if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) != 0) ++ query->options |= DNS_FETCHOPT_NOEDNS0; ++ + /* + * Use EDNS0, unless the caller doesn't want it, or we know that + * the remote server doesn't like it. diff --git a/bind.spec b/bind.spec index e569abe..e5036be 100644 --- a/bind.spec +++ b/bind.spec @@ -18,7 +18,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv Name: bind License: ISC Version: 9.5.0 -Release: 31.1.%{RELEASEVER}%{dist} +Release: 32.%{RELEASEVER}%{dist} Epoch: 32 Url: http://www.isc.org/products/BIND/ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -59,7 +59,7 @@ Patch72: bind-9.5-dlz-64bit.patch Patch87: bind-9.5-parallel-build.patch Patch88: bind-9.5-libcap.patch Patch89: bind-9.5-recv-race.patch -Patch90: bind-9.5-any.patch +Patch90: bind-9.5-edns.patch # SDB patches Patch11: bind-9.3.2b2-sdbsrc.patch @@ -240,7 +240,7 @@ cp -fp contrib/dbus/{dbus_mgr.h,dbus_service.h} bin/named/include/named %patch85 -p1 -b .libidn3 %patch87 -p1 -b .parallel %patch89 -p1 -b .recv-race -%patch90 -p1 -b .any +%patch90 -p1 -b .edns :; @@ -647,6 +647,11 @@ rm -rf ${RPM_BUILD_ROOT} %{_sbindir}/bind-chroot-admin %changelog +* Tue May 13 2008 Adam Tkac 32:9.5.0-32.b3 +- reverted "any" patch, upstream says not needed +- log EDNS failure only when we really switch to plain EDNS (#275091) +- detect configuration file better + * Tue May 06 2008 Adam Tkac 32:9.5.0-31.1.b3 - addresses 0.0.0.0 and ::0 really match any (#275091, comment #28) diff --git a/named.init b/named.init index 0629f2e..33b8ce3 100755 --- a/named.init +++ b/named.init @@ -65,7 +65,7 @@ start() named_conf=${named_conf:-/etc/named.conf}; - if [ ! -r $named_conf ]; then + if [ ! -r $ROOTDIR$named_conf ]; then echo 'Cannot find configuration file. You could create it by system-config-bind' exit 6; fi;