diff options
author | Adam Tkac <atkac@fedoraproject.org> | 2010-03-26 14:45:28 +0000 |
---|---|---|
committer | Adam Tkac <atkac@fedoraproject.org> | 2010-03-26 14:45:28 +0000 |
commit | cb63d373b5e4b6de3ba8c93e3518a77da768c7b7 (patch) | |
tree | 28c58da8b848cf9f5a775a2e468bc812d35df4af | |
parent | 1b065161b0160b996c1a3e5c4cb40a56bb9d489c (diff) | |
download | bind-cb63d373b5e4b6de3ba8c93e3518a77da768c7b7.tar.gz bind-cb63d373b5e4b6de3ba8c93e3518a77da768c7b7.tar.xz bind-cb63d373b5e4b6de3ba8c93e3518a77da768c7b7.zip |
- active query might be destroyed in resume_dslookup() which triggeredbind-9_6_2-3_P1_fc12
REQUIRE failure (#507429)
-rw-r--r-- | bind.spec | 8 | ||||
-rw-r--r-- | bind97-rh507429.patch | 33 |
2 files changed, 40 insertions, 1 deletions
@@ -20,7 +20,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv Name: bind License: ISC Version: 9.6.2 -Release: 2.%{PATCHVER}%{?dist} +Release: 3.%{PATCHVER}%{?dist} Epoch: 32 Url: http://www.isc.org/products/BIND/ Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -52,6 +52,7 @@ Patch101:bind-96-old-api.patch Patch102:bind-95-rh452060.patch Patch106:bind93-rh490837.patch Patch108:bind96-rh554316.patch +Patch109:bind97-rh507429.patch # SDB patches Patch11: bind-9.3.2b2-sdbsrc.patch @@ -215,6 +216,7 @@ mkdir m4 %patch102 -p1 -b .rh452060 %patch106 -p0 -b .rh490837 %patch108 -p1 -b .rh554316 +%patch109 -p1 -b .rh507429 # Sparc and s390 arches need to use -fPIE %ifarch sparcv9 sparc64 s390 s390x @@ -580,6 +582,10 @@ rm -rf ${RPM_BUILD_ROOT} %ghost %{chroot_prefix}/etc/localtime %changelog +* Fri Mar 26 2010 Adam Tkac <atkac redhat com> 32:9.6.2-3.P1 +- active query might be destroyed in resume_dslookup() which triggered REQUIRE + failure (#507429) + * Fri Mar 19 2010 Adam Tkac <atkac redhat com> 32:9.6.2-2.P1 - update to 9.6.2-P1 upstream release (#556366) diff --git a/bind97-rh507429.patch b/bind97-rh507429.patch new file mode 100644 index 0000000..30e5169 --- /dev/null +++ b/bind97-rh507429.patch @@ -0,0 +1,33 @@ +diff -up bind-9.7.0-P1/lib/dns/resolver.c.rh507429 bind-9.7.0-P1/lib/dns/resolver.c +--- bind-9.7.0-P1/lib/dns/resolver.c.rh507429 2010-03-26 14:53:12.776469537 +0100 ++++ bind-9.7.0-P1/lib/dns/resolver.c 2010-03-26 15:07:18.363969402 +0100 +@@ -6160,6 +6160,7 @@ resume_dslookup(isc_task_t *task, isc_ev + if (fevent->result == ISC_R_CANCELED) { + dns_resolver_destroyfetch(&fctx->nsfetch); + fctx_done(fctx, ISC_R_CANCELED, __LINE__); ++ goto cleanup; + } else if (fevent->result == ISC_R_SUCCESS) { + + FCTXTRACE("resuming DS lookup"); +@@ -6219,15 +6220,16 @@ resume_dslookup(isc_task_t *task, isc_ev + resume_dslookup, fctx, + &fctx->nsrrset, NULL, + &fctx->nsfetch); +- if (result != ISC_R_SUCCESS) ++ if (result != ISC_R_SUCCESS) { + fctx_done(fctx, result, __LINE__); +- else { +- LOCK(&res->buckets[bucketnum].lock); +- locked = ISC_TRUE; +- fctx->references++; ++ goto cleanup; + } + } + ++ LOCK(&res->buckets[bucketnum].lock); ++ locked = ISC_TRUE; ++ fctx->references++; ++ + cleanup: + if (dns_rdataset_isassociated(&nameservers)) + dns_rdataset_disassociate(&nameservers); |