summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2012-05-01 02:47:52 +0000
committertaca <taca@pkgsrc.org>2012-05-01 02:47:52 +0000
commit46c787c34620caa1512679581ef172cd83540152 (patch)
treec6fd19847043a3af6f66b01367906f744b781e65 /net
parent1bcba581666203b69b0a2cf537155068fb0cf4bb (diff)
downloadpkgsrc-46c787c34620caa1512679581ef172cd83540152.tar.gz
Add fix to a race condition in the resolver code that can cause a recursive
nameserver: <https://kb.isc.org/article/AA-00664>. Bump PKGREVISION.
Diffstat (limited to 'net')
-rw-r--r--net/bind96/Makefile3
-rw-r--r--net/bind96/distinfo3
-rw-r--r--net/bind96/patches/patch-lib_dns_resolver.c34
-rw-r--r--net/bind97/Makefile3
-rw-r--r--net/bind97/distinfo3
-rw-r--r--net/bind97/patches/patch-lib_dns_resolver.c34
-rw-r--r--net/bind98/Makefile3
-rw-r--r--net/bind98/distinfo3
-rw-r--r--net/bind98/patches/patch-lib_dns_resolver.c34
-rw-r--r--net/bind99/Makefile3
-rw-r--r--net/bind99/distinfo3
-rw-r--r--net/bind99/patches/patch-lib_dns_resolver.c34
12 files changed, 152 insertions, 8 deletions
diff --git a/net/bind96/Makefile b/net/bind96/Makefile
index 5a8a1861d1b..943cd86a717 100644
--- a/net/bind96/Makefile
+++ b/net/bind96/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.23 2012/04/05 00:41:10 taca Exp $
+# $NetBSD: Makefile,v 1.24 2012/05/01 02:49:26 taca Exp $
DISTNAME= bind-${BIND_VERSION}
PKGNAME= ${DISTNAME:S/-ESV/.3.1.ESV/:S/-R/./:S/-P/pl/}
+PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ \
http://ftp.belnet.be/pub/mirror/ftp.isc.org/isc/bind9/${BIND_VERSION}/
diff --git a/net/bind96/distinfo b/net/bind96/distinfo
index 4390c098a96..8991e76f77a 100644
--- a/net/bind96/distinfo
+++ b/net/bind96/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2012/04/05 00:41:10 taca Exp $
+$NetBSD: distinfo,v 1.16 2012/05/01 02:49:26 taca Exp $
SHA1 (bind-9.6-ESV-R6.tar.gz) = 8818ba00a7503e757d9d34053b2f16beac0d0f5e
RMD160 (bind-9.6-ESV-R6.tar.gz) = 239d70e1bc1d7e16a42d36938de8aa3ffbab0b64
@@ -8,3 +8,4 @@ SHA1 (patch-ac) = 074649e1514870a3154c623a5f6d1507b72b5b05
SHA1 (patch-ad) = 3fcfac007f7823d48573459e57810f442c5b7d2f
SHA1 (patch-ag) = ffc547b444f01f51a12a01cfa884916a9a411a88
SHA1 (patch-am) = a52d847354cd83b2474d5420925925e4614c966f
+SHA1 (patch-lib_dns_resolver.c) = e9b7460c15df6b942b9987aeb4d223f48dec712d
diff --git a/net/bind96/patches/patch-lib_dns_resolver.c b/net/bind96/patches/patch-lib_dns_resolver.c
new file mode 100644
index 00000000000..94fe33c1b0b
--- /dev/null
+++ b/net/bind96/patches/patch-lib_dns_resolver.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_dns_resolver.c,v 1.1 2012/05/01 02:49:27 taca Exp $
+
+Prevent segmentation fault in resolver.c: https://kb.isc.org/article/AA-00664
+
+--- lib/dns/resolver.c.orig 2012-03-26 16:14:28.000000000 +0000
++++ lib/dns/resolver.c
+@@ -2156,7 +2156,6 @@ fctx_finddone(isc_task_t *task, isc_even
+ isc_boolean_t want_try = ISC_FALSE;
+ isc_boolean_t want_done = ISC_FALSE;
+ isc_boolean_t bucket_empty = ISC_FALSE;
+- isc_boolean_t destroy = ISC_FALSE;
+ unsigned int bucketnum;
+
+ find = event->ev_sender;
+@@ -2195,17 +2194,12 @@ fctx_finddone(isc_task_t *task, isc_even
+ }
+ } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 &&
+ fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
+- /*
+- * Note that we had to wait until we had the lock before
+- * looking at fctx->references.
+- */
++
+ if (fctx->references == 0)
+- destroy = ISC_TRUE;
++ bucket_empty = fctx_destroy(fctx);
+ }
+ UNLOCK(&res->buckets[bucketnum].lock);
+
+- if (destroy)
+- bucket_empty = fctx_destroy(fctx);
+ isc_event_free(&event);
+ dns_adb_destroyfind(&find);
+
diff --git a/net/bind97/Makefile b/net/bind97/Makefile
index 0d3e9c95cde..9ebbbf31075 100644
--- a/net/bind97/Makefile
+++ b/net/bind97/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.12 2012/04/05 00:40:09 taca Exp $
+# $NetBSD: Makefile,v 1.13 2012/05/01 02:48:58 taca Exp $
DISTNAME= bind-${BIND_VERSION}
PKGNAME= ${DISTNAME:S/-P/pl/}
+PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ \
http://ftp.belnet.be/pub/mirror/ftp.isc.org/isc/bind9/${BIND_VERSION}/
diff --git a/net/bind97/distinfo b/net/bind97/distinfo
index 0a6b73df457..748ae36354a 100644
--- a/net/bind97/distinfo
+++ b/net/bind97/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2012/04/05 00:40:09 taca Exp $
+$NetBSD: distinfo,v 1.12 2012/05/01 02:48:58 taca Exp $
SHA1 (bind-9.7.5.tar.gz) = d66705bb898340de88653892a75e0038c3dec86e
RMD160 (bind-9.7.5.tar.gz) = 0186557e4d20b06c45939988b47dbf2cf600ae9b
@@ -8,3 +8,4 @@ SHA1 (patch-ab) = 9585a26a376d32f80ac8266eb7967c00b433f14d
SHA1 (patch-ac) = ee4ca3d200b3d3f93b8ccfa2c6e51ab005b35a01
SHA1 (patch-ad) = 29fb5c24ff3558f1621e93ea16419e32dbc695b7
SHA1 (patch-ae) = 68b8155daa8f75081b6f8fd70ca23fda60506c64
+SHA1 (patch-lib_dns_resolver.c) = 1c0bc26a159219f65dc59429d395f7796a5165f6
diff --git a/net/bind97/patches/patch-lib_dns_resolver.c b/net/bind97/patches/patch-lib_dns_resolver.c
new file mode 100644
index 00000000000..6bae806b32a
--- /dev/null
+++ b/net/bind97/patches/patch-lib_dns_resolver.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_dns_resolver.c,v 1.1 2012/05/01 02:48:58 taca Exp $
+
+Prevent segmentation fault in resolver.c: https://kb.isc.org/article/AA-00664
+
+--- lib/dns/resolver.c.orig 2012-03-22 19:14:04.000000000 +0000
++++ lib/dns/resolver.c
+@@ -2157,7 +2157,6 @@ fctx_finddone(isc_task_t *task, isc_even
+ isc_boolean_t want_try = ISC_FALSE;
+ isc_boolean_t want_done = ISC_FALSE;
+ isc_boolean_t bucket_empty = ISC_FALSE;
+- isc_boolean_t destroy = ISC_FALSE;
+ unsigned int bucketnum;
+
+ find = event->ev_sender;
+@@ -2196,17 +2195,12 @@ fctx_finddone(isc_task_t *task, isc_even
+ }
+ } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 &&
+ fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
+- /*
+- * Note that we had to wait until we had the lock before
+- * looking at fctx->references.
+- */
++
+ if (fctx->references == 0)
+- destroy = ISC_TRUE;
++ bucket_empty = fctx_destroy(fctx);
+ }
+ UNLOCK(&res->buckets[bucketnum].lock);
+
+- if (destroy)
+- bucket_empty = fctx_destroy(fctx);
+ isc_event_free(&event);
+ dns_adb_destroyfind(&find);
+
diff --git a/net/bind98/Makefile b/net/bind98/Makefile
index e61401edd47..19b205643c8 100644
--- a/net/bind98/Makefile
+++ b/net/bind98/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.8 2012/04/05 00:39:34 taca Exp $
+# $NetBSD: Makefile,v 1.9 2012/05/01 02:48:20 taca Exp $
DISTNAME= bind-${BIND_VERSION}
PKGNAME= ${DISTNAME:S/-P/pl/}
+PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ \
http://ftp.belnet.be/pub/mirror/ftp.isc.org/isc/bind9/${BIND_VERSION}/
diff --git a/net/bind98/distinfo b/net/bind98/distinfo
index b160b0733fa..fdc171a7d4f 100644
--- a/net/bind98/distinfo
+++ b/net/bind98/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2012/04/05 00:39:34 taca Exp $
+$NetBSD: distinfo,v 1.9 2012/05/01 02:48:20 taca Exp $
SHA1 (bind-9.8.2.tar.gz) = 09f0b18bde0438186d6639f08c17db3b98e81c17
RMD160 (bind-9.8.2.tar.gz) = 59f6502cc4dd315da4c31adc183f0eb88e6856b4
@@ -7,5 +7,6 @@ SHA1 (patch-bin_dig_dighost.c) = 3f37033cc64e1153268ab437fab533d2920bb18c
SHA1 (patch-config.threads.in) = 045531d8378a88c654ab98ba6ea65786c8cf4e2b
SHA1 (patch-configure) = 08f878fd3a5d3d17e0cf55d01344ddc84991967f
SHA1 (patch-lib_dns_rbt.c) = 29fb5c24ff3558f1621e93ea16419e32dbc695b7
+SHA1 (patch-lib_dns_resolver.c) = e6abfc6bb117bd4e12a0d5b4641423b1f0408178
SHA1 (patch-lib_lwres_getaddrinfo.c) = 9585a26a376d32f80ac8266eb7967c00b433f14d
SHA1 (patch-lib_lwres_getnameinfo.c) = c26dcff4637b7beb16b66c32b304d0f187390eed
diff --git a/net/bind98/patches/patch-lib_dns_resolver.c b/net/bind98/patches/patch-lib_dns_resolver.c
new file mode 100644
index 00000000000..9a620027138
--- /dev/null
+++ b/net/bind98/patches/patch-lib_dns_resolver.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_dns_resolver.c,v 1.1 2012/05/01 02:48:20 taca Exp $
+
+Prevent segmentation fault in resolver.c: https://kb.isc.org/article/AA-00664
+
+--- lib/dns/resolver.c.orig 2012-03-22 19:20:00.000000000 +0000
++++ lib/dns/resolver.c
+@@ -2166,7 +2166,6 @@ fctx_finddone(isc_task_t *task, isc_even
+ isc_boolean_t want_try = ISC_FALSE;
+ isc_boolean_t want_done = ISC_FALSE;
+ isc_boolean_t bucket_empty = ISC_FALSE;
+- isc_boolean_t destroy = ISC_FALSE;
+ unsigned int bucketnum;
+
+ find = event->ev_sender;
+@@ -2205,17 +2204,12 @@ fctx_finddone(isc_task_t *task, isc_even
+ }
+ } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 &&
+ fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
+- /*
+- * Note that we had to wait until we had the lock before
+- * looking at fctx->references.
+- */
++
+ if (fctx->references == 0)
+- destroy = ISC_TRUE;
++ bucket_empty = fctx_destroy(fctx);
+ }
+ UNLOCK(&res->buckets[bucketnum].lock);
+
+- if (destroy)
+- bucket_empty = fctx_destroy(fctx);
+ isc_event_free(&event);
+ dns_adb_destroyfind(&find);
+
diff --git a/net/bind99/Makefile b/net/bind99/Makefile
index 823603e9eda..269ed0702df 100644
--- a/net/bind99/Makefile
+++ b/net/bind99/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+# $NetBSD: Makefile,v 1.2 2012/05/01 02:47:52 taca Exp $
DISTNAME= bind-${BIND_VERSION}
PKGNAME= ${DISTNAME:S/-P/pl/}
+PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ \
http://ftp.belnet.be/pub/mirror/ftp.isc.org/isc/bind9/${BIND_VERSION}/
diff --git a/net/bind99/distinfo b/net/bind99/distinfo
index 74d909b55b6..6a3c9f1591f 100644
--- a/net/bind99/distinfo
+++ b/net/bind99/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2012/03/23 21:25:01 marino Exp $
+$NetBSD: distinfo,v 1.3 2012/05/01 02:47:52 taca Exp $
SHA1 (bind-9.9.0.tar.gz) = 6be77c75c8649088b0ae7124d819b5f412bb0094
RMD160 (bind-9.9.0.tar.gz) = 5fda36a3aa84062f7936978cb540e8ad3f1c4e08
@@ -10,6 +10,7 @@ SHA1 (patch-configure) = 6a8b709d8369864c397d4315348c9c96753618f6
SHA1 (patch-lib_bind9_Makefile.in) = 89e21d21fa512f11a2fdb8d7455abd5d95f20ba5
SHA1 (patch-lib_dns_Makefile.in) = 1770a8bd86901c618b11d255f3af54748d04b759
SHA1 (patch-lib_dns_rbt.c) = df4b029369d9fa3b250d8505b5f7590e2cd86654
+SHA1 (patch-lib_dns_resolver.c) = 48f17278af67ea8f5a282b1194281c36959a046e
SHA1 (patch-lib_dns_zone.c) = e01378ee95bf7c5b903a2c3a90acf83a3a4cae52
SHA1 (patch-lib_isc_Makefile.in) = 5e0739d19957b1f26bcc24a6c76bcab6248cbff5
SHA1 (patch-lib_isccc_Makefile.in) = a31831872b7724cb84f663ed70a82335d812f95f
diff --git a/net/bind99/patches/patch-lib_dns_resolver.c b/net/bind99/patches/patch-lib_dns_resolver.c
new file mode 100644
index 00000000000..e0ecab901a4
--- /dev/null
+++ b/net/bind99/patches/patch-lib_dns_resolver.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_dns_resolver.c,v 1.1 2012/05/01 02:47:52 taca Exp $
+
+Prevent segmentation fault in resolver.c: https://kb.isc.org/article/AA-00664
+
+--- lib/dns/resolver.c.orig 2012-02-14 23:46:49.000000000 +0000
++++ lib/dns/resolver.c
+@@ -2166,7 +2166,6 @@ fctx_finddone(isc_task_t *task, isc_even
+ isc_boolean_t want_try = ISC_FALSE;
+ isc_boolean_t want_done = ISC_FALSE;
+ isc_boolean_t bucket_empty = ISC_FALSE;
+- isc_boolean_t destroy = ISC_FALSE;
+ unsigned int bucketnum;
+
+ find = event->ev_sender;
+@@ -2205,17 +2204,12 @@ fctx_finddone(isc_task_t *task, isc_even
+ }
+ } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 &&
+ fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
+- /*
+- * Note that we had to wait until we had the lock before
+- * looking at fctx->references.
+- */
++
+ if (fctx->references == 0)
+- destroy = ISC_TRUE;
++ bucket_empty = fctx_destroy(fctx);
+ }
+ UNLOCK(&res->buckets[bucketnum].lock);
+
+- if (destroy)
+- bucket_empty = fctx_destroy(fctx);
+ isc_event_free(&event);
+ dns_adb_destroyfind(&find);
+