Date: Friday, January 4, 2019 @ 19:20:55 Author: seblu Revision: 342960
upgpkg: bind 9.13.5-2 - fix FS#60913 Added: bind/trunk/01-fs60913.patch Modified: bind/trunk/PKGBUILD ------------------+ 01-fs60913.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 8 +++++--- 2 files changed, 50 insertions(+), 3 deletions(-) Added: 01-fs60913.patch =================================================================== --- 01-fs60913.patch (rev 0) +++ 01-fs60913.patch 2019-01-04 19:20:55 UTC (rev 342960) @@ -0,0 +1,45 @@ +From 0e5dd25fc5c70d656666f6d537e93cf346e7f419 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Witold=20Kr=C4=99cicki?= <[email protected]> +Date: Thu, 3 Jan 2019 13:06:39 +0100 +Subject: [PATCH] When a forwarder fails and we're not in a forward-only mode + we go back to regular resolution. When this happens the fetch timer is + already running, and we might end up in a situation where we we create a + fetch for qname-minimized query and after that the timer is triggered and the + query is retried (fctx_try) - which causes relaunching of qname-minimization + fetch - and since we already have a qmin fetch for this fctx - assertion + failure. + + +diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c +index 8beecbcb07..ea122bd30c 100644 +--- a/lib/dns/resolver.c ++++ b/lib/dns/resolver.c +@@ -4012,6 +4012,7 @@ fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { + options &= ~DNS_FETCHOPT_QMINIMIZE; + fctx_increference(fctx); + task = res->buckets[bucketnum].task; ++ fctx_stoptimer(fctx); + result = dns_resolver_createfetch(fctx->res, &fctx->qminname, + fctx->qmintype, &fctx->domain, + &fctx->nameservers, NULL, NULL, 0, +@@ -4343,13 +4344,12 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) { + * timer. + */ + result = fctx_starttimer(fctx); +- if (result != ISC_R_SUCCESS) ++ if (result != ISC_R_SUCCESS) { + fctx_done(fctx, result, __LINE__); +- else +- /* +- * Keep trying. +- */ ++ } else { ++ /* Keep trying */ + fctx_try(fctx, true, false); ++ } + } + + isc_event_free(&event); +-- +2.18.1 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-01-04 19:16:14 UTC (rev 342959) +++ PKGBUILD 2019-01-04 19:20:55 UTC (rev 342960) @@ -7,7 +7,7 @@ pkgname=(bind bind-tools) _pkgver=9.13.5 pkgver=${_pkgver//-/.} -pkgrel=1 +pkgrel=2 url='https://www.isc.org/software/bind/' license=('MPL2') arch=('x86_64') @@ -27,7 +27,8 @@ 'localhost.zone' 'localhost.ip6.zone' '127.0.0.zone' - 'empty.zone') + 'empty.zone' + '01-fs60913.patch') sha1sums=('8c01018e6928e9117cd8e0cdd464efe3b68894c5' 'SKIP' 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11' @@ -37,7 +38,8 @@ '6704303a6ed431a29b1d8fe7b12decd4d1f2f50f' '52da8f1c0247a11b16daa4e03d920e8f09315cbe' '9c33726088342207ad06d33b2c13408290a0c8ad' - '4f4457b310cbbeadca2272eced062a9c2b2b42fe') + '4f4457b310cbbeadca2272eced062a9c2b2b42fe' + 'a71c39b6073be96589e3c0a8cc7430f0e22ebe9c') prepare() { msg2 'Getting a fresh version of root DNS'
