- reverted "any" patch, upstream says not needed

- log EDNS failure only when we really switch to plain EDNS (#275091)
- detect configuration file better
This commit is contained in:
Adam Tkac 2008-05-13 07:09:15 +00:00
parent b246b77488
commit 038864092f
4 changed files with 30 additions and 47 deletions

View File

@ -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.
*/

21
bind-9.5-edns.patch Normal file
View File

@ -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.

View File

@ -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 <atkac redhat com> 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 <atkac redhat com> 32:9.5.0-31.1.b3
- addresses 0.0.0.0 and ::0 really match any (#275091, comment #28)

View File

@ -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;