pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bind920: update to version 9.20.3.



Module Name:	pkgsrc-wip
Committed By:	Havard Eidnes <he%NetBSD.org@localhost>
Pushed By:	he
Date:		Thu Oct 17 10:42:09 2024 +0200
Changeset:	fcdc58d08c0129c902796eee31189f8f5b52771e

Modified Files:
	bind920/Makefile
	bind920/PLIST
	bind920/distinfo
Removed Files:
	bind920/patches/patch-lib_dns_acl.c

Log Message:
bind920: update to version 9.20.3.

Pkgsrc changes:
 * Remove patch from upstream which is now integrated.
 * Checksum & PLIST changes.

Upstream release note at
  https://downloads.isc.org/isc/bind9/9.20.3/doc/arm/html/notes.html

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=fcdc58d08c0129c902796eee31189f8f5b52771e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 bind920/Makefile                    |   2 +-
 bind920/PLIST                       |   1 +
 bind920/distinfo                    |   7 +-
 bind920/patches/patch-lib_dns_acl.c | 151 ------------------------------------
 4 files changed, 5 insertions(+), 156 deletions(-)

diffs:
diff --git a/bind920/Makefile b/bind920/Makefile
index 72f60de4f7..d270b440ea 100644
--- a/bind920/Makefile
+++ b/bind920/Makefile
@@ -15,7 +15,7 @@ CONFLICTS+=	host-[0-9]*
 
 MAKE_JOBS_SAFE=	no
 
-BIND_VERSION=	9.20.2
+BIND_VERSION=	9.20.3
 
 BUILD_DEFS+=	BIND_DIR VARBASE
 
diff --git a/bind920/PLIST b/bind920/PLIST
index d0615f43d8..844b1856bd 100644
--- a/bind920/PLIST
+++ b/bind920/PLIST
@@ -153,6 +153,7 @@ include/isc/getaddresses.h
 include/isc/hash.h
 include/isc/hashmap.h
 include/isc/heap.h
+include/isc/helper.h
 include/isc/hex.h
 include/isc/histo.h
 include/isc/hmac.h
diff --git a/bind920/distinfo b/bind920/distinfo
index 20df4e108f..16b5a3bfde 100644
--- a/bind920/distinfo
+++ b/bind920/distinfo
@@ -1,7 +1,6 @@
 $NetBSD: distinfo,v 1.20 2024/07/23 13:50:32 taca Exp $
 
-BLAKE2s (bind-9.20.2.tar.xz) = 7cee1649ea07555289430f3b8b7e0655f268ec66066689db0dabeaf7e3d3f956
-SHA512 (bind-9.20.2.tar.xz) = da5c9ca3cedf8e28ccf85f886772a306eccf95c10883eff42e6d34694d650cdbd00b3e5fe30cc9fb012029c1a5e8e829ebd6ce2ffefa323d7057e8915badf90c
-Size (bind-9.20.2.tar.xz) = 5865060 bytes
+BLAKE2s (bind-9.20.3.tar.xz) = 7138270b2903658107b0e1f85e321d32cf7d6608518f6f45d73852375c6fde4f
+SHA512 (bind-9.20.3.tar.xz) = 02321aa6d8260f410a319d78bcabec468b30a0ac3ebb66f54b998452bdb171626e12dd9362b1caaa55526d4788180b3177063fe2263cd168be8600a6e2592952
+Size (bind-9.20.3.tar.xz) = 5664328 bytes
 SHA1 (patch-configure.ac) = f1f672271aa38c10b12d12d48455eb0af82d270c
-SHA1 (patch-lib_dns_acl.c) = 731f99ad448717aa642c6c1b2f4c0ef0b002cc07
diff --git a/bind920/patches/patch-lib_dns_acl.c b/bind920/patches/patch-lib_dns_acl.c
deleted file mode 100644
index 66602b24e8..0000000000
--- a/bind920/patches/patch-lib_dns_acl.c
+++ /dev/null
@@ -1,151 +0,0 @@
-$NetBSD$
-
-Apply the fix for
-https://gitlab.isc.org/isc-projects/bind9/-/issues/4908
-from
-https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/9458
-
---- lib/dns/acl.c.orig	2024-09-11 07:15:08.673927538 +0000
-+++ lib/dns/acl.c
-@@ -459,13 +459,25 @@ dns_aclelement_match(const isc_netaddr_t
- }
- 
- static void
--dns__acl_destroy(dns_acl_t *dacl) {
--	unsigned int i;
--	dns_acl_port_transports_t *port_proto;
-+dns__acl_destroy_port_transports(dns_acl_t *acl) {
-+	dns_acl_port_transports_t *port_proto = NULL;
-+	dns_acl_port_transports_t *next = NULL;
-+	ISC_LIST_FOREACH_SAFE (acl->ports_and_transports, port_proto, link,
-+			       next)
-+	{
-+		ISC_LIST_DEQUEUE(acl->ports_and_transports, port_proto, link);
-+		isc_mem_put(acl->mctx, port_proto, sizeof(*port_proto));
-+	}
-+}
- 
-+static void
-+dns__acl_destroy(dns_acl_t *dacl) {
- 	INSIST(!ISC_LINK_LINKED(dacl, nextincache));
- 
--	for (i = 0; i < dacl->length; i++) {
-+	isc_refcount_destroy(&dacl->references);
-+	dacl->magic = 0;
-+
-+	for (size_t i = 0; i < dacl->length; i++) {
- 		dns_aclelement_t *de = &dacl->elements[i];
- 		if (de->type == dns_aclelementtype_keyname) {
- 			dns_name_free(&de->keyname, dacl->mctx);
-@@ -484,18 +496,8 @@ dns__acl_destroy(dns_acl_t *dacl) {
- 		dns_iptable_detach(&dacl->iptable);
- 	}
- 
--	port_proto = ISC_LIST_HEAD(dacl->ports_and_transports);
--	while (port_proto != NULL) {
--		dns_acl_port_transports_t *next = NULL;
--
--		next = ISC_LIST_NEXT(port_proto, link);
--		ISC_LIST_DEQUEUE(dacl->ports_and_transports, port_proto, link);
--		isc_mem_put(dacl->mctx, port_proto, sizeof(*port_proto));
--		port_proto = next;
--	}
-+	dns__acl_destroy_port_transports(dacl);
- 
--	isc_refcount_destroy(&dacl->references);
--	dacl->magic = 0;
- 	isc_mem_putanddetach(&dacl->mctx, dacl, sizeof(*dacl));
- }
- 
-@@ -659,10 +661,21 @@ dns_aclenv_set(dns_aclenv_t *env, dns_ac
- 	REQUIRE(DNS_ACL_VALID(localhost));
- 	REQUIRE(DNS_ACL_VALID(localnets));
- 
--	rcu_read_lock();
- 	localhost = rcu_xchg_pointer(&env->localhost, dns_acl_ref(localhost));
- 	localnets = rcu_xchg_pointer(&env->localnets, dns_acl_ref(localnets));
--	rcu_read_unlock();
-+
-+	/*
-+	 * This function is called only during interface scanning, so blocking
-+	 * a bit is acceptable. Wait until all ongoing attachments to old
-+	 * 'localhost' and 'localnets' are finished before we can detach and
-+	 * possibly destroy them.
-+	 *
-+	 * The problem here isn't the memory reclamation per se, but
-+	 * the reference counting race - we need to wait for the
-+	 * critical section to end before we decrement the value and
-+	 * possibly destroy the acl objects.
-+	 */
-+	synchronize_rcu();
- 
- 	dns_acl_detach(&localhost);
- 	dns_acl_detach(&localnets);
-@@ -675,24 +688,34 @@ dns_aclenv_copy(dns_aclenv_t *target, dn
- 
- 	rcu_read_lock();
- 
--	dns_acl_t *localhost = rcu_dereference(source->localhost);
-+	/*
-+	 * We need to acquire the reference inside the critical section.
-+	 */
-+
-+	dns_acl_t *localhost = dns_acl_ref(rcu_dereference(source->localhost));
- 	INSIST(DNS_ACL_VALID(localhost));
- 
--	dns_acl_t *localnets = rcu_dereference(source->localnets);
-+	dns_acl_t *localnets = dns_acl_ref(rcu_dereference(source->localnets));
- 	INSIST(DNS_ACL_VALID(localnets));
- 
--	localhost = rcu_xchg_pointer(&target->localhost,
--				     dns_acl_ref(localhost));
--	localnets = rcu_xchg_pointer(&target->localnets,
--				     dns_acl_ref(localnets));
-+	rcu_read_unlock();
-+
-+	localhost = rcu_xchg_pointer(&target->localhost, localhost);
-+	localnets = rcu_xchg_pointer(&target->localnets, localnets);
-+
-+	/*
-+	 * This function is called only during (re)configuration, so blocking
-+	 * a bit is acceptable.
-+	 *
-+	 * See the comment above in dns_aclenv_set() for more detail.
-+	 */
-+	synchronize_rcu();
- 
- 	target->match_mapped = source->match_mapped;
- #if defined(HAVE_GEOIP2)
- 	target->geoip = source->geoip;
- #endif /* if defined(HAVE_GEOIP2) */
- 
--	rcu_read_unlock();
--
- 	dns_acl_detach(&localhost);
- 	dns_acl_detach(&localnets);
- }
-@@ -703,17 +726,14 @@ dns__aclenv_destroy(dns_aclenv_t *aclenv
- 
- 	aclenv->magic = 0;
- 
--	rcu_read_lock();
--	dns_acl_t *localhost = rcu_xchg_pointer(&aclenv->localhost, NULL);
--	INSIST(DNS_ACL_VALID(localhost));
--
--	dns_acl_t *localnets = rcu_xchg_pointer(&aclenv->localnets, NULL);
--	INSIST(DNS_ACL_VALID(localnets));
--
--	rcu_read_unlock();
-+	/*
-+	 * The last reference to the aclenv has been detached, so nobody should
-+	 * be reading from this aclenv.  We can destroy the localhost and
-+	 * localnet directly without swapping the pointers.
-+	 */
- 
--	dns_acl_detach(&localhost);
--	dns_acl_detach(&localnets);
-+	dns_acl_detach(&aclenv->localhost);
-+	dns_acl_detach(&aclenv->localnets);
- 
- 	isc_mem_putanddetach(&aclenv->mctx, aclenv, sizeof(*aclenv));
- }


Home | Main Index | Thread Index | Old Index