Add BIND 9.16.13 support
This commit is contained in:
parent
003159c25b
commit
a302ab4ecc
65
bind-dyndb-ldap-11.6-bind-9.16.13-rwlock.patch
Normal file
65
bind-dyndb-ldap-11.6-bind-9.16.13-rwlock.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From 1d03c1e5b2e6c932c3a773518a0224d6bcd9d28b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
|
||||||
|
Date: Fri, 26 Mar 2021 11:46:26 +0100
|
||||||
|
Subject: [PATCH 2/2] rwlock initialization does not return value
|
||||||
|
|
||||||
|
API has changed, it no longer returns a value in isc_rwlock_init.
|
||||||
|
It returned always ISC_SUCCCESS on 9.16 anyway, so skip the check
|
||||||
|
on every 9.16 build.
|
||||||
|
---
|
||||||
|
src/fwd_register.c | 5 +++++
|
||||||
|
src/zone_register.c | 6 ++++++
|
||||||
|
2 files changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/fwd_register.c b/src/fwd_register.c
|
||||||
|
index cc9764bdf..fcbd66fd7 100644
|
||||||
|
--- a/src/fwd_register.c
|
||||||
|
+++ b/src/fwd_register.c
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
#include <isc/util.h>
|
||||||
|
#include <dns/name.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include "rbt_helper.h"
|
||||||
|
#include "fwd_register.h"
|
||||||
|
#include "util.h"
|
||||||
|
@@ -35,7 +36,11 @@ fwdr_create(isc_mem_t *mctx, fwd_register_t **fwdrp)
|
||||||
|
ZERO_PTR(fwdr);
|
||||||
|
isc_mem_attach(mctx, &fwdr->mctx);
|
||||||
|
CHECK(dns_rbt_create(mctx, NULL, NULL, &fwdr->rbt));
|
||||||
|
+#if LIBDNS_VERSION_MAJOR >= 1600
|
||||||
|
+ (void)isc_rwlock_init(&fwdr->rwlock, 0, 0);
|
||||||
|
+#else
|
||||||
|
CHECK(isc_rwlock_init(&fwdr->rwlock, 0, 0));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
*fwdrp = fwdr;
|
||||||
|
return ISC_R_SUCCESS;
|
||||||
|
diff --git a/src/zone_register.c b/src/zone_register.c
|
||||||
|
index 07b1546d6..28d9b7ae8 100644
|
||||||
|
--- a/src/zone_register.c
|
||||||
|
+++ b/src/zone_register.c
|
||||||
|
@@ -12,6 +12,7 @@
|
||||||
|
#include <dns/result.h>
|
||||||
|
#include <dns/zone.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include "fs.h"
|
||||||
|
#include "ldap_driver.h"
|
||||||
|
#include "log.h"
|
||||||
|
@@ -115,7 +116,12 @@ zr_create(isc_mem_t *mctx, ldap_instance_t *ldap_inst,
|
||||||
|
ZERO_PTR(zr);
|
||||||
|
isc_mem_attach(mctx, &zr->mctx);
|
||||||
|
CHECK(dns_rbt_create(mctx, delete_zone_info, mctx, &zr->rbt));
|
||||||
|
+#if LIBDNS_VERSION_MAJOR >= 1600
|
||||||
|
+ /* Never fails on BIND 9.16, even it if returns value */
|
||||||
|
+ (void)isc_rwlock_init(&zr->rwlock, 0, 0);
|
||||||
|
+#else
|
||||||
|
CHECK(isc_rwlock_init(&zr->rwlock, 0, 0));
|
||||||
|
+#endif
|
||||||
|
zr->global_settings = glob_settings;
|
||||||
|
zr->ldap_inst = ldap_inst;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
58
bind-dyndb-ldap-11.6-bind-9.16.13-version.patch
Normal file
58
bind-dyndb-ldap-11.6-bind-9.16.13-version.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
From f0d75b778ee7bfd0feb368b51027943085a54705 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
|
||||||
|
Date: Fri, 26 Mar 2021 00:59:17 +0100
|
||||||
|
Subject: [PATCH 1/2] Add support for dns library without libinterface
|
||||||
|
|
||||||
|
BIND 9.16.12 and more recent have removed numeric versioning of library.
|
||||||
|
Instead it just contain complete text version. Extract numbers from it
|
||||||
|
and export it in similar manner.
|
||||||
|
---
|
||||||
|
configure.ac | 26 +++++++++++++++++++-------
|
||||||
|
1 file changed, 19 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index e8bce4abc..ca7ef188b 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -90,19 +90,31 @@ AC_CHECK_LIB([krb5], [krb5_cc_initialize], [],
|
||||||
|
AC_CHECK_LIB([uuid], [uuid_unparse], [],
|
||||||
|
AC_MSG_ERROR([Install UUID library development files]))
|
||||||
|
|
||||||
|
+AC_LANG(C)
|
||||||
|
# Check version of libdns
|
||||||
|
AC_MSG_CHECKING([libdns version])
|
||||||
|
-AC_TRY_RUN([
|
||||||
|
+AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <dns/version.h>
|
||||||
|
-int main(void) {
|
||||||
|
- printf("%d\n", dns_libinterface);
|
||||||
|
- return 0;
|
||||||
|
-}],[LIBDNS_VERSION_MAJOR=`./conftest$ac_exeext`
|
||||||
|
+],[ printf("%d\n", dns_libinterface) ])], [
|
||||||
|
+ LIBDNS_VERSION_MAJOR=`./conftest$ac_exeext`
|
||||||
|
+ AC_DEFINE_UNQUOTED([LIBDNS_VERSION_MAJOR], [$LIBDNS_VERSION_MAJOR],
|
||||||
|
+ [Define libdns version])], [
|
||||||
|
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
+#include <stdio.h>
|
||||||
|
+#include <dns/version.h>
|
||||||
|
+]],[[
|
||||||
|
+ unsigned major, minor, patch, scanned;
|
||||||
|
+ /* emulate dns_libinterface from minor and patch version */
|
||||||
|
+ scanned = sscanf(dns_version, "%u.%u.%u", &major, &minor, &patch);
|
||||||
|
+ printf("%02d%02d\n", minor, patch);
|
||||||
|
+ return !(scanned == 3 && major == 9);
|
||||||
|
+ ]])], [
|
||||||
|
+ LIBDNS_VERSION_MAJOR=`./conftest$ac_exeext`
|
||||||
|
AC_DEFINE_UNQUOTED([LIBDNS_VERSION_MAJOR], [$LIBDNS_VERSION_MAJOR],
|
||||||
|
[Define libdns version])],
|
||||||
|
-[AC_MSG_ERROR([Can't obtain libdns version.])],
|
||||||
|
-[AC_MSG_ERROR([Cross compiling is not supported.])]
|
||||||
|
+ [AC_MSG_ERROR([Can't obtain libdns version.])])
|
||||||
|
+], [AC_MSG_ERROR([Cross compiling is not supported.])]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl isc_errno_toresult() was not available in older header files
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
Name: bind-dyndb-ldap
|
Name: bind-dyndb-ldap
|
||||||
Version: 11.7
|
Version: 11.7
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: LDAP back-end plug-in for BIND
|
Summary: LDAP back-end plug-in for BIND
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -20,6 +20,9 @@ URL: https://releases.pagure.org/bind-dyndb-ldap
|
|||||||
Source0: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2
|
Source0: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2
|
||||||
Source1: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2.asc
|
Source1: https://releases.pagure.org/%{name}/%{name}-%{VERSION}.tar.bz2.asc
|
||||||
|
|
||||||
|
Patch1: bind-dyndb-ldap-11.6-bind-9.16.13-version.patch
|
||||||
|
Patch2: bind-dyndb-ldap-11.6-bind-9.16.13-rwlock.patch
|
||||||
|
|
||||||
BuildRequires: bind-devel >= %{bind_version}, bind-lite-devel >= %{bind_version}
|
BuildRequires: bind-devel >= %{bind_version}, bind-lite-devel >= %{bind_version}
|
||||||
BuildRequires: krb5-devel
|
BuildRequires: krb5-devel
|
||||||
BuildRequires: openldap-devel
|
BuildRequires: openldap-devel
|
||||||
@ -114,6 +117,9 @@ sed -i.bak -e "$SEDSCRIPT" /etc/named.conf
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 26 2021 Petr Menšík <pemensik@redhat.com> - 11.7-2
|
||||||
|
- Support for BIND 9.16.13
|
||||||
|
|
||||||
* Wed Feb 24 2021 Alexander Bokovoy <abokovoy@redhat.com> - 11.7-1
|
* Wed Feb 24 2021 Alexander Bokovoy <abokovoy@redhat.com> - 11.7-1
|
||||||
- Upstream release 11.7
|
- Upstream release 11.7
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user