summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Tkac <atkac@fedoraproject.org>2008-05-06 09:44:46 +0000
committerAdam Tkac <atkac@fedoraproject.org>2008-05-06 09:44:46 +0000
commitdb5acf9fc2c83de392ff64219a513a907c7c632c (patch)
tree6661e3910aab8ba484b5e6384baf041be74f1feb
parentab8076b76df2b9d6347182a534a3cec1fba87afa (diff)
- addresses 0.0.0.0 and ::0 really match any (#275091, comment #28)
-rw-r--r--bind-9.5-any.patch43
-rw-r--r--bind.spec9
2 files changed, 50 insertions, 2 deletions
diff --git a/bind-9.5-any.patch b/bind-9.5-any.patch
new file mode 100644
index 0000000..55e96fc
--- /dev/null
+++ b/bind-9.5-any.patch
@@ -0,0 +1,43 @@
+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.spec b/bind.spec
index a40a718..b90c1f0 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: 30.%{RELEASEVER}%{?dist}
+Release: 30.1.%{RELEASEVER}%{?dist}
Epoch: 32
Url: http://www.isc.org/products/BIND/
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -59,6 +59,7 @@ Patch72: bind-9.5-dlz-64bit.patch
Patch87: bind-9.5-parallel-build.patch
Patch90: bind-9.5-libcap.patch
Patch91: bind-9.5-recv-race.patch
+Patch92: bind-9.5-any.patch
# SDB patches
Patch11: bind-9.3.2b2-sdbsrc.patch
@@ -238,6 +239,7 @@ cp -fp contrib/dbus/{dbus_mgr.h,dbus_service.h} bin/named/include/named
%patch85 -p1 -b .libidn3
%patch87 -p1 -b .parallel
%patch91 -p1 -b .recv-race
+%patch92 -p1 -b .any
:;
@@ -392,7 +394,7 @@ for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.int
echo '@ in soa localhost. root 1 3H 15M 1W 1D
ns localhost.' > sample/var/named/$f;
done
-/usr/bin/tail -n '+'`/bin/egrep -n '\\$Id: bind.spec,v 1.258 2008/05/05 09:46:24 atkac Exp $/+1/' | bc` bin/rndc/rndc.conf | sed '/Sample rndc configuration file./{p;i\
+/usr/bin/tail -n '+'`/bin/egrep -n '\\$Id: bind.spec,v 1.259 2008/05/06 09:44:46 atkac Exp $/+1/' | bc` bin/rndc/rndc.conf | sed '/Sample rndc configuration file./{p;i\
*\
* NOTE: you only need to create this file if it is to\
* differ from the following default contents:
@@ -643,6 +645,9 @@ rm -rf ${RPM_BUILD_ROOT}
%{_sbindir}/bind-chroot-admin
%changelog
+* Tue May 06 2008 Adam Tkac <atkac redhat com> 32:9.5.0-30.1.b3
+- addresses 0.0.0.0 and ::0 really match any (#275091, comment #28)
+
* Mon May 05 2008 Adam Tkac <atkac redhat com> 32:9.5.0-30.b3
- 9.5.0b3 release
- dropped patches (upstream)