[Pkg-freeipa-devel] [Git][freeipa-team/bind-dyndb-ldap][upstream] 10 commits: Support BIND 9.16.9

Timo Aaltonen (@tjaalton) gitlab at salsa.debian.org
Fri May 14 08:58:14 BST 2021



Timo Aaltonen pushed to branch upstream at FreeIPA packaging / bind-dyndb-ldap


Commits:
2a732bb0 by Petr Mensik at 2020-11-26T17:33:42+01:00
Support BIND 9.16.9

Two new functions were added to database interface. They are more
related to caching server and not authoritative. Add just null pointers,
returning not supporter error if used.

- - - - -
2ddd4bf5 by Petr Menšík at 2021-01-11T21:39:25+01:00
Add compatibility with BIND 9.16.10 API change

One parameter was added to function used internally by plugin. Nothing
like -nsec3param auto is supported by LDAP plugin. It is safe to set
resalt false always. Salt can be changed via LDAP, but has to be
specified manually.

- - - - -
f4aec4d3 by Petr Menšík at 2021-01-21T17:30:54+01:00
Yet another change to support BIND 9.16.11 API change

Another change with another release, new parameter is added again.
Add another ifdef to keep compatibility with both versions.

- - - - -
f0d75b77 by Petr Menšík at 2021-03-26T14:05:56+01:00
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.

- - - - -
1d03c1e5 by Petr Menšík at 2021-03-26T14:05:56+01:00
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.

- - - - -
402ea220 by Alexander Bokovoy at 2021-04-06T11:22:35+03:00
Update version to 11.7

Signed-off-by: Alexander Bokovoy <abokovoy at redhat.com>

- - - - -
c4144e0b by Alexander Bokovoy at 2021-04-06T11:23:15+03:00
Rename local config.h to dyndb-config.h

Signed-off-by: Alexander Bokovoy <abokovoy at redhat.com>

- - - - -
692621c1 by Rafael Guterres Jeffman at 2021-04-13T11:50:49-03:00
Fix license note on README.

In README it said that bind-dyndb-ldap could only be redistributed
under GPLv2 only, but in the licence file (COPYING) it is stated
that it is "version 2 or later".

This fixes the README to be consistent with the COPYING notice.

- - - - -
de11d3ae by Alexander Bokovoy at 2021-04-13T15:02:50+00:00
Merge #204 `Fix license note on README.`
- - - - -
194b6e9f by Alexander Bokovoy at 2021-05-04T20:42:59+03:00
Release 11.8: support bind 9.16.13+

Signed-off-by: Alexander Bokovoy <abokovoy at redhat.com>

- - - - -


21 changed files:

- .gitignore
- README.md
- configure.ac
- contrib/bind-dyndb-ldap.spec
- src/acl.c
- src/acl.h
- src/bindcfg.c
- src/empty_zones.c
- src/fwd.c
- src/fwd.h
- src/fwd_register.c
- src/ldap_convert.c
- src/ldap_driver.c
- src/ldap_helper.c
- src/mldap.c
- src/rbt_helper.c
- src/settings.c
- src/syncptr.c
- src/syncrepl.c
- src/zone.c
- src/zone_register.c


Changes:

=====================================
.gitignore
=====================================
@@ -12,7 +12,7 @@ Makefile.in
 /ar-lib
 /compile
 /config.guess
-/config.h.in
+/dyndb-config.h.in
 /config.sub
 /configure
 /depcomp
@@ -23,7 +23,7 @@ Makefile.in
 
 # configure
 Makefile
-/config.h
+/dyndb-config.h
 /config.log
 /config.status
 /libtool


=====================================
README.md
=====================================
@@ -607,4 +607,4 @@ Zone name will be automatically transformed before usage:
 # 7. License
 
 This package is licensed under the GNU General Public License, version 2
-only. See file COPYING for more information.
+or later. See file COPYING for more information.


=====================================
configure.ac
=====================================
@@ -1,10 +1,10 @@
 AC_PREREQ([2.59])
-AC_INIT([bind-dyndb-ldap], [11.6], [freeipa-devel at redhat.com])
+AC_INIT([bind-dyndb-ldap], [11.8], [freeipa-devel at redhat.com])
 
 AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
 
 AC_CONFIG_SRCDIR([src/ldap_driver.c])
-AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([dyndb-config.h])
 AC_CONFIG_MACRO_DIR([m4])
 
 # Disable static libraries
@@ -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


=====================================
contrib/bind-dyndb-ldap.spec
=====================================
@@ -3,7 +3,7 @@
 %define bind_version 32:9.11.17-1
 
 Name:           bind-dyndb-ldap
-Version:        11.6
+Version:        11.8
 Release:        0%{?dist}
 Summary:        LDAP back-end plug-in for BIND
 
@@ -116,6 +116,14 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue May 04 2021 Alexander Bokovoy <abokovoy at redhat.com>
+- Release 11.8
+- Support 9.16.13+
+
+* Wed Feb 24 2021 Alexander Bokovoy <abokovoy at redhat.com>
+- Release 11.7
+- Support 9.16.11
+
 * Mon Nov 23 2020 Alexander Bokovoy <abokovoy at redhat.com>
 - Release 11.6
 - Make sure build against 9.11 uses 9.11's reference counting logic


=====================================
src/acl.c
=====================================
@@ -2,7 +2,7 @@
  * Copyright (C) 2009-2014  bind-dyndb-ldap authors; see COPYING for license
  */
 
-#include "config.h"
+#include "dyndb-config.h"
 
 #include <isccfg/aclconf.h>
 #include <isccfg/cfg.h>


=====================================
src/acl.h
=====================================
@@ -5,7 +5,7 @@
 #ifndef _LD_ACL_H_
 #define _LD_ACL_H_
 
-#include "config.h"
+#include "dyndb-config.h"
 
 #include "ldap_entry.h"
 #include "types.h"


=====================================
src/bindcfg.c
=====================================
@@ -4,7 +4,7 @@
  * Utilities for BIND configuration parsers.
  */
 
-#include "config.h"
+#include "dyndb-config.h"
 
 #include <isc/util.h>
 #include <isccfg/grammar.h>


=====================================
src/empty_zones.c
=====================================
@@ -8,7 +8,7 @@
 #include <dns/zone.h>
 #include <dns/zt.h>
 
-#include "config.h"
+#include "dyndb-config.h"
 #include "empty_zones.h"
 #include "util.h"
 #include "zone_register.h"


=====================================
src/fwd.c
=====================================
@@ -4,7 +4,7 @@
  * DNS forwarding helpers.
  */
 
-#include "config.h"
+#include "dyndb-config.h"
 
 #include <isccfg/grammar.h>
 


=====================================
src/fwd.h
=====================================
@@ -5,7 +5,7 @@
 #ifndef _LD_FWD_H_
 #define _LD_FWD_H_
 
-#include "config.h"
+#include "dyndb-config.h"
 #include "ldap_entry.h"
 #include "util.h"
 


=====================================
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;


=====================================
src/ldap_convert.c
=====================================
@@ -20,7 +20,7 @@
 #include <strings.h>
 #include <ctype.h>
 
-#include "config.h"
+#include "dyndb-config.h"
 #include "str.h"
 #include "ldap_convert.h"
 #include "log.h"


=====================================
src/ldap_driver.c
=====================================
@@ -3,9 +3,9 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "dyndb-config.h"
 #else
-#error "Can't compile without config.h"
+#error "Can't compile without dyndb-config.h"
 #endif
 
 #include <isc/buffer.h>
@@ -959,6 +959,10 @@ static dns_dbmethods_t ldapdb_methods = {
 	setservestalettl,
 	getservestalettl,
 #endif
+#if LIBDNS_VERSION_MAJOR >= 1609
+	NULL, /* setservestalerefresh */
+	NULL, /* getservestalerefresh */
+#endif
 #if LIBDNS_VERSION_MAJOR >= 1600
 	NULL, /* setgluecachestats */
 #endif


=====================================
src/ldap_helper.c
=====================================
@@ -2,7 +2,7 @@
  * Copyright (C) 2009-2015  bind-dyndb-ldap authors; see COPYING for license
  */
 
-#include "config.h"
+#include "dyndb-config.h"
 #define HAVE_TLS 1
 #define HAVE_THREAD_LOCAL 1
 
@@ -1792,10 +1792,17 @@ zone_master_reconfigure_nsec3param(settings_set_t *zone_settings,
 			  dns_rdatatype_nsec3param, origin, nsec3p_str,
 			  &nsec3p_rdata));
 	CHECK(dns_rdata_tostruct(nsec3p_rdata, &nsec3p_rr, NULL));
+#if LIBDNS_VERSION_MAJOR > 1609
+	CHECK(dns_zone_setnsec3param(secure, nsec3p_rr.hash, nsec3p_rr.flags,
+				     nsec3p_rr.iterations,
+				     nsec3p_rr.salt_length, nsec3p_rr.salt,
+				     true, false));
+#else
 	CHECK(dns_zone_setnsec3param(secure, nsec3p_rr.hash, nsec3p_rr.flags,
 				     nsec3p_rr.iterations,
 				     nsec3p_rr.salt_length, nsec3p_rr.salt,
 				     true));
+#endif
 
 cleanup:
 	if (nsec3p_rdata != NULL) {


=====================================
src/mldap.c
=====================================
@@ -27,7 +27,7 @@
 #include "metadb.h"
 #include "mldap.h"
 #include "util.h"
-#include "config.h"
+#include "dyndb-config.h"
 
 #if LIBDNS_VERSION_MAJOR < 1600
 #define dns_name_copynf(src, dst) dns_name_copy((src), (dst), NULL)


=====================================
src/rbt_helper.c
=====================================
@@ -7,7 +7,7 @@
 
 #include "util.h"
 #include "rbt_helper.h"
-#include "config.h"
+#include "dyndb-config.h"
 
 #define LDAPDB_RBTITER_MAGIC ISC_MAGIC('L', 'D', 'P', 'I')
 


=====================================
src/settings.c
=====================================
@@ -24,7 +24,7 @@
 #include "types.h"
 #include "ldap_helper.h"
 #include "zone_register.h"
-#include "config.h"
+#include "dyndb-config.h"
 
 #if LIBDNS_VERSION_MAJOR < 1600
 #define cfg_parse_buffer cfg_parse_buffer4


=====================================
src/syncptr.c
=====================================
@@ -18,7 +18,7 @@
 #include <dns/zone.h>
 #include <dns/zt.h>
 
-#include "config.h"
+#include "dyndb-config.h"
 #include "util.h"
 #include "ldap_convert.h"
 #include "ldap_entry.h"


=====================================
src/syncrepl.c
=====================================
@@ -11,7 +11,7 @@
 #include <isc/time.h>
 #include <isc/util.h>
 
-#include "config.h"
+#include "dyndb-config.h"
 #include "ldap_helper.h"
 #include "util.h"
 #include "semaphore.h"


=====================================
src/zone.c
=====================================
@@ -17,6 +17,7 @@
 #include <dns/zone.h>
 
 #include "util.h"
+#include "dyndb-config.h"
 
 /**
  * Write given diff to zone journal. Journal will be created
@@ -61,7 +62,11 @@ zone_soaserial_updatetuple(dns_updatemethod_t method, dns_difftuple_t *soa_tuple
 	REQUIRE(soa_tuple->rdata.type == dns_rdatatype_soa);
 
 	serial = dns_soa_getserial(&soa_tuple->rdata);
+#if LIBDNS_VERSION_MAJOR >= 1611
+	serial = dns_update_soaserial(serial, method, NULL);
+#else
 	serial = dns_update_soaserial(serial, method);
+#endif
 	dns_soa_setserial(serial, &soa_tuple->rdata);
 	if (new_serial != NULL)
 		*new_serial = serial;


=====================================
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;
 



View it on GitLab: https://salsa.debian.org/freeipa-team/bind-dyndb-ldap/-/compare/443dce8a5130513b1a552e707fadaebc542653de...194b6e9f26a87069d1b505491e675136bd0fdb03

-- 
View it on GitLab: https://salsa.debian.org/freeipa-team/bind-dyndb-ldap/-/compare/443dce8a5130513b1a552e707fadaebc542653de...194b6e9f26a87069d1b505491e675136bd0fdb03
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-freeipa-devel/attachments/20210514/89c63b69/attachment-0001.htm>


More information about the Pkg-freeipa-devel mailing list