diff --git a/SOURCES/0001-Modify-empty-zone-conflicts-under-exclusive-mode_rhbz#2133036.patch b/SOURCES/0001-Modify-empty-zone-conflicts-under-exclusive-mode_rhbz#2133036.patch new file mode 100644 index 0000000..892ec8e --- /dev/null +++ b/SOURCES/0001-Modify-empty-zone-conflicts-under-exclusive-mode_rhbz#2133036.patch @@ -0,0 +1,37 @@ +From 7b4c1e28b3e64f7cd075599472e349510f8d33da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= +Date: Wed, 14 Sep 2022 17:10:11 +0200 +Subject: [PATCH] Modify empty zone conflicts under exclusive mode + +Does not accept new request when exclusive mode is active. Zone table +can be modified even after main fwd entries have been added. Ensure +empty zones handling keeps exclusive mode active. + +Exclusive mode were mentioned as the only protection it had by bind +maintainer: +https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/6637#note_308928 +--- + src/fwd.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/fwd.c b/src/fwd.c +index 24f6e53..0a3c673 100644 +--- a/src/fwd.c ++++ b/src/fwd.c +@@ -595,10 +595,12 @@ fwd_configure_zone(const settings_set_t *set, ldap_instance_t *inst, + dns_result_totext(result)); + + /* Handle collisions with automatic empty zones. */ +- if (isconfigured == true) ++ if (isconfigured == true) { ++ run_exclusive_enter(inst, &lock_state); + CHECK(empty_zone_handle_conflicts(name, + view->zonetable, + (fwdpolicy == dns_fwdpolicy_first))); ++ } + + cleanup: + run_exclusive_exit(inst, lock_state); +-- +2.37.3 + diff --git a/SOURCES/0002-add-rwlock-before-include-zt-h.patch b/SOURCES/0002-add-rwlock-before-include-zt-h.patch new file mode 100644 index 0000000..45028a6 --- /dev/null +++ b/SOURCES/0002-add-rwlock-before-include-zt-h.patch @@ -0,0 +1,10 @@ +--- a/src/zone_register.h 2020-09-14 11:11:52.000000000 -0400 ++++ a/src/zone_register.h 2022-10-11 10:01:35.293730147 -0400 +@@ -5,6 +5,7 @@ + #ifndef _LD_ZONE_REGISTER_H_ + #define _LD_ZONE_REGISTER_H_ + ++#include + #include + + #include "settings.h" diff --git a/SPECS/bind-dyndb-ldap.spec b/SPECS/bind-dyndb-ldap.spec index 63ff8db..0d4c6d5 100644 --- a/SPECS/bind-dyndb-ldap.spec +++ b/SPECS/bind-dyndb-ldap.spec @@ -11,7 +11,7 @@ Name: bind-dyndb-ldap Version: 11.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: LDAP back-end plug-in for BIND Group: System Environment/Libraries @@ -20,6 +20,9 @@ URL: https://releases.pagure.org/bind-dyndb-ldap Source0: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2 Source1: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2.asc +Patch0001: 0001-Modify-empty-zone-conflicts-under-exclusive-mode_rhbz#2133036.patch +Patch0002: 0002-add-rwlock-before-include-zt-h.patch + BuildRequires: bind-devel >= %{bind_version}, bind-lite-devel >= %{bind_version}, bind-pkcs11-devel >= %{bind_version} BuildRequires: krb5-devel BuildRequires: openldap-devel @@ -42,6 +45,10 @@ off of your LDAP server. %prep %setup -q -n %{name}-%{VERSION} +for p in %patches; do + %__patch -p1 -i $p +done + %build autoreconf -fiv %configure @@ -107,6 +114,10 @@ sed -i.bak -e "$SEDSCRIPT" /etc/named.conf %changelog +* Fri Oct 7 2022 Rafael Jeffman - 11.6-4 +- Modify empty zone conflicts under exclusive mode + Resolves: rhbz#2133036 + * Wed Dec 22 2021 Alexander Bokovoy - 11.6-3 - Rebuild against bind 9.11.36 - Resolves: rhbz#2022762