Add support for serve-stale
Require bind with serve-stale feature. Add new database methods, just wrapper to original db. Make support detected on build time.
This commit is contained in:
parent
32c95c8c20
commit
565e435bf2
73
bind-dyndb-ldap-11.2-servestale.patch
Normal file
73
bind-dyndb-ldap-11.2-servestale.patch
Normal file
@ -0,0 +1,73 @@
|
||||
From fecc0fd86f598807129ea9fa1e4e7b74cf2aba21 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Mensik <pemensik@redhat.com>
|
||||
Date: Mon, 11 Nov 2019 17:36:58 +0100
|
||||
Subject: [PATCH] Add support for servestale records
|
||||
|
||||
Serve-stale support includes two new database methods. Add wrapper into
|
||||
ldap database.
|
||||
---
|
||||
configure.ac | 5 +++++
|
||||
src/ldap_driver.c | 24 ++++++++++++++++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d05bad9..7997898 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -120,6 +120,11 @@ int main(void) {
|
||||
[AC_MSG_ERROR([Cross compiling is not supported.])]
|
||||
)
|
||||
|
||||
+dnl dns_db_setservestalettl() can be backported, detect support
|
||||
+AC_CHECK_LIB([dns], [dns_db_setservestalettl],
|
||||
+ [AC_DEFINE([HAVE_DNS_SERVESTALE], 1, [Define if dns library provides dns_db_setservestalettl])]
|
||||
+)
|
||||
+
|
||||
dnl Older autoconf (2.59, for example) doesn't define docdir
|
||||
[[ ! -n "$docdir" ]] && docdir='${datadir}/doc/${PACKAGE_TARNAME}'
|
||||
AC_SUBST([docdir])
|
||||
diff --git a/src/ldap_driver.c b/src/ldap_driver.c
|
||||
index b9161fe..dcf65d0 100644
|
||||
--- a/src/ldap_driver.c
|
||||
+++ b/src/ldap_driver.c
|
||||
@@ -823,6 +823,26 @@ nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name)
|
||||
return dns_db_nodefullname(ldapdb->rbtdb, node, name);
|
||||
}
|
||||
|
||||
+#ifdef HAVE_DNS_SERVESTALE
|
||||
+static isc_result_t
|
||||
+setservestalettl(dns_db_t *db, dns_ttl_t ttl) {
|
||||
+ ldapdb_t *ldapdb = (ldapdb_t *) db;
|
||||
+
|
||||
+ REQUIRE(VALID_LDAPDB(ldapdb));
|
||||
+
|
||||
+ return dns_db_setservestalettl(ldapdb->rbtdb, ttl);
|
||||
+}
|
||||
+
|
||||
+static isc_result_t
|
||||
+getservestalettl(dns_db_t *db, dns_ttl_t *ttl) {
|
||||
+ ldapdb_t *ldapdb = (ldapdb_t *) db;
|
||||
+
|
||||
+ REQUIRE(VALID_LDAPDB(ldapdb));
|
||||
+
|
||||
+ return dns_db_getservestalettl(ldapdb->rbtdb, ttl);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static dns_dbmethods_t ldapdb_methods = {
|
||||
attach,
|
||||
detach,
|
||||
@@ -869,6 +889,10 @@ static dns_dbmethods_t ldapdb_methods = {
|
||||
hashsize,
|
||||
nodefullname,
|
||||
NULL, // getsize method not implemented (related BZ1353563)
|
||||
+#ifdef HAVE_DNS_SERVESTALE
|
||||
+ setservestalettl,
|
||||
+ getservestalettl,
|
||||
+#endif
|
||||
};
|
||||
|
||||
isc_result_t ATTR_NONNULLS
|
||||
--
|
||||
2.20.1
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Name: bind-dyndb-ldap
|
||||
Version: 11.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: LDAP back-end plug-in for BIND
|
||||
|
||||
License: GPLv2+
|
||||
@ -12,6 +12,8 @@ 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
|
||||
|
||||
Patch1: bind-dyndb-ldap-11.2-servestale.patch
|
||||
|
||||
BuildRequires: bind-devel >= %{bind_version}, bind-lite-devel >= %{bind_version}, bind-pkcs11-devel >= %{bind_version}
|
||||
BuildRequires: krb5-devel
|
||||
BuildRequires: openldap-devel
|
||||
@ -29,6 +31,8 @@ off of your LDAP server.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{VERSION}
|
||||
|
||||
%patch1 -p1 -b .servestale
|
||||
|
||||
%build
|
||||
autoreconf -fiv
|
||||
@ -94,6 +98,9 @@ sed -i.bak -e "$SEDSCRIPT" /etc/named.conf
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Nov 11 2019 Petr Menšík <pemensik@redhat.com> - 11.2-2
|
||||
- Add support for serve-stale, detected on build time
|
||||
|
||||
* Tue Nov 05 2019 Alexander Bokovoy <abokovoy@redhat.com> - 11.2-1
|
||||
- New upstream release v11.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user