diff --git a/SOURCES/unbound-1.7.3-auth-callback.patch b/SOURCES/unbound-1.7.3-auth-callback.patch new file mode 100644 index 0000000..57a8922 --- /dev/null +++ b/SOURCES/unbound-1.7.3-auth-callback.patch @@ -0,0 +1,65 @@ +--- a/services/authzone.c 2018-06-14 09:09:01.000000000 +0200 ++++ b/services/authzone.c 2020-04-16 18:55:50.806693241 +0200 +@@ -5139,7 +5139,7 @@ + log_assert(xfr->task_transfer); + lock_basic_lock(&xfr->lock); + env = xfr->task_transfer->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return; /* stop on quit */ + } +@@ -5558,7 +5558,7 @@ + log_assert(xfr->task_transfer); + lock_basic_lock(&xfr->lock); + env = xfr->task_transfer->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return 0; /* stop on quit */ + } +@@ -5619,7 +5619,7 @@ + log_assert(xfr->task_transfer); + lock_basic_lock(&xfr->lock); + env = xfr->task_transfer->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return 0; /* stop on quit */ + } +@@ -5798,7 +5798,7 @@ + log_assert(xfr->task_probe); + lock_basic_lock(&xfr->lock); + env = xfr->task_probe->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return; /* stop on quit */ + } +@@ -5829,7 +5829,7 @@ + log_assert(xfr->task_probe); + lock_basic_lock(&xfr->lock); + env = xfr->task_probe->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return 0; /* stop on quit */ + } +@@ -6030,7 +6030,7 @@ + log_assert(xfr->task_probe); + lock_basic_lock(&xfr->lock); + env = xfr->task_probe->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return; /* stop on quit */ + } +@@ -6089,7 +6089,7 @@ + log_assert(xfr->task_nextprobe); + lock_basic_lock(&xfr->lock); + env = xfr->task_nextprobe->env; +- if(env->outnet->want_to_quit) { ++ if(!env || env->outnet->want_to_quit) { + lock_basic_unlock(&xfr->lock); + return; /* stop on quit */ + } diff --git a/SPECS/unbound.spec b/SPECS/unbound.spec index 351185a..c151044 100644 --- a/SPECS/unbound.spec +++ b/SPECS/unbound.spec @@ -34,7 +34,7 @@ Summary: Validating, recursive, and caching DNS(SEC) resolver Name: unbound Version: 1.7.3 -Release: 10%{?extra_version:.%{extra_version}}%{?dist} +Release: 11%{?extra_version:.%{extra_version}}%{?dist} License: BSD Url: https://www.unbound.net/ Source: https://www.unbound.net/downloads/%{name}-%{version}%{?extra_version}.tar.gz @@ -61,6 +61,7 @@ Patch4: unbound-1.7.3-anchor-fallback.patch Patch5: unbound-1.7.3-host-any.patch Patch6: unbound-1.7.3-use-basic-lock.patch Patch7: unbound-1.7.3-ipsec-hook.patch +Patch8: unbound-1.7.3-auth-callback.patch BuildRequires: gcc, make BuildRequires: flex, openssl-devel @@ -162,6 +163,7 @@ pushd %{pkgname} %patch5 -p1 -b .host-any %patch6 -p1 -b .use-basic-lock %patch7 -p1 -b .ipsec-hook +%patch8 -p1 -b .auth-callback # only for snapshots # autoreconf -iv @@ -433,6 +435,9 @@ popd %attr(0644,root,root) %config %{_sysconfdir}/%{name}/root.key %changelog +* Thu Apr 16 2020 Artem Egorenkov - 1.7.3-11 +- Resolves bz1818761. unbound crash fixed. + * Tue Dec 10 2019 Tomas Korbar - 1.7.3-10 - Secure ipsec mode (#1772061) - CVE-2019-18934