From nobody Fri Aug 23 19:31:19 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Wr9D76VkVz5TnmN; Fri, 23 Aug 2024 19:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Wr9D74ddBz4RNl; Fri, 23 Aug 2024 19:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724441479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZTxWJwT57LcHR4cIVIaoBvLhXEJ73u4h96wT+bBdqQ=; b=jXAO1AvqRmatv/HACks95IXT+pN1GuNPJ6xHIm0R8nqyhuKwoZg51gMTNI+SknZ3yYfL9V kN377UJvGLRANDMtKyQKWN+eWtxqPOvWzkIrNW22KpL9oQ60w81i0TY8fAYHcqAbf5JIHH PCC5AooVP6hTh9S/QFOsJOi7LP0xlPjz5SLzLEoYktkSbVprZ8kz/BlwIYJH0ysihHfSIn brpOz71J54DotRRCsNiOAPFlGBQE7y0iJ6YPCkG8vd07+gmQLk3JyfPbXHaheYiAlKLlgz Ki0yDBWQATWJjNERsdTcxmcZ2z8k2K5E8Sf8xvCGW3W+CIF2rkGEb+avLl8okQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1724441479; a=rsa-sha256; cv=none; b=IvNf1XSG62prSbv5gGth9fr24u9QRc9T2ooTFICi1dDRGTC2KKPM6Id50hkZcLPjYko8p6 /v2GcpSnL5ejNjVri9EWsjfM8Ql3EoHB0u1AUqdcL0iSmJjqoPNst+uaE6Ha815k3PMWTQ 1a33nTjPznS2vFd11t0unwMc8FNG+iRjXnitbhvEmePyZZkHT5NqTNr2eiRpjRx5ugS3NE C56DCgDgQC/190ohNSvCGaabWRlkDmAP/scHKKY12z8940AASGQbsCGByA0hfEXWRVfjX0 45A2/NeMHBRF1c78PbYq2AuUgJzzD2mVBGts3lhCMmZBChWAsZqJyC2EpgaYNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724441479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZTxWJwT57LcHR4cIVIaoBvLhXEJ73u4h96wT+bBdqQ=; b=ncMRF0lk9JO21AK2QAlM6DPZbYEWPDsjjNF7Rsd3+cJnDWUzlUohtPwqsZwiAsIhGgnfbH Q3ioCPhiliP81+atNfleSBeNHVYGcuN7rXhS6njf0fN4LyswufMku6uZw1lyBN58i20NzH x8HEBGk4H9mLKDL8WqOS1AXvPNEof6Y3Lh2BbEleb0koVQj94FbO8QDHUlrwdeqIGFGWzW CnTw5xJf9DFzMH4siJKukNGwr0K2xFuWPSkYgjDMvsBdNyBYDxU/u4QccfOwmeLENNTM5j a2clV3njmfWAXTN1uoBWgcFVpQnqwd0OlY5RFZBg3fAMUX+alBYD4ALE5Ed45w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Wr9D74FDVzP5n; Fri, 23 Aug 2024 19:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 47NJVJfb066132; Fri, 23 Aug 2024 19:31:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 47NJVJTm066129; Fri, 23 Aug 2024 19:31:19 GMT (envelope-from git) Date: Fri, 23 Aug 2024 19:31:19 GMT Message-Id: <202408231931.47NJVJTm066129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 7217d74d1085 - stable/13 - unbound: Vendor import 1.21.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7217d74d1085ff5ab02687e74d5b172bc67b378d Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=7217d74d1085ff5ab02687e74d5b172bc67b378d commit 7217d74d1085ff5ab02687e74d5b172bc67b378d Author: Cy Schubert AuthorDate: 2024-08-16 16:45:39 +0000 Commit: Cy Schubert CommitDate: 2024-08-23 19:30:49 +0000 unbound: Vendor import 1.21.0 Release notes at https://nlnetlabs.nl/news/2024/Aug/15/unbound-1.21.0-released/ Merge commit '96ef46e5cff01648c80c09c4364d10bc6f58119d' (cherry picked from commit 5685098846d7f11ad642d9804d94dc7429a7b212) --- contrib/unbound/Makefile.in | 5 +- contrib/unbound/acx_python.m4 | 2 +- contrib/unbound/cachedb/cachedb.c | 55 +- contrib/unbound/cachedb/cachedb.h | 8 + contrib/unbound/config.guess | 11 +- contrib/unbound/config.h.in | 15 + contrib/unbound/config.sub | 729 ++- contrib/unbound/configure | 290 +- contrib/unbound/configure.ac | 96 +- contrib/unbound/contrib/unbound.service.in | 4 +- .../unbound/contrib/unbound_portable.service.in | 4 +- contrib/unbound/daemon/daemon.c | 43 +- contrib/unbound/daemon/daemon.h | 14 + contrib/unbound/daemon/remote.c | 540 +- contrib/unbound/daemon/stats.c | 9 +- contrib/unbound/daemon/unbound.c | 6 +- contrib/unbound/daemon/worker.c | 11 +- contrib/unbound/dns64/dns64.c | 5 +- contrib/unbound/dnstap/dnstap.c | 45 + contrib/unbound/dnstap/dnstap.h | 8 + contrib/unbound/dnstap/dnstap.m4 | 59 +- contrib/unbound/dnstap/dtstream.c | 53 +- contrib/unbound/dnstap/unbound-dnstap-socket.c | 285 +- contrib/unbound/doc/Changelog | 267 +- contrib/unbound/doc/README | 2 +- contrib/unbound/doc/example.conf.in | 14 +- contrib/unbound/doc/libunbound.3.in | 4 +- contrib/unbound/doc/unbound-anchor.8.in | 2 +- contrib/unbound/doc/unbound-checkconf.8.in | 2 +- contrib/unbound/doc/unbound-control.8.in | 66 +- contrib/unbound/doc/unbound-host.1.in | 2 +- contrib/unbound/doc/unbound.8.in | 4 +- contrib/unbound/doc/unbound.conf.5.in | 59 +- contrib/unbound/dynlibmod/dynlibmod.c | 4 +- contrib/unbound/edns-subnet/subnetmod.c | 3 +- contrib/unbound/ipsecmod/ipsecmod.c | 2 +- contrib/unbound/ipset/ipset.c | 209 +- contrib/unbound/ipset/ipset.h | 6 +- contrib/unbound/iterator/iter_scrub.c | 82 + contrib/unbound/iterator/iter_utils.c | 3 +- contrib/unbound/iterator/iterator.c | 124 +- contrib/unbound/iterator/iterator.h | 6 + contrib/unbound/libunbound/context.c | 4 +- contrib/unbound/libunbound/libunbound.c | 19 +- contrib/unbound/libunbound/libworker.c | 1 + contrib/unbound/respip/respip.c | 4 +- contrib/unbound/services/authzone.c | 48 +- contrib/unbound/services/cache/dns.c | 33 +- contrib/unbound/services/cache/infra.c | 27 +- contrib/unbound/services/cache/infra.h | 2 +- contrib/unbound/services/listen_dnsport.c | 2 +- contrib/unbound/services/localzone.c | 71 +- contrib/unbound/services/localzone.h | 19 + contrib/unbound/services/mesh.c | 41 +- contrib/unbound/services/modstack.c | 78 +- contrib/unbound/services/modstack.h | 38 +- contrib/unbound/services/outside_network.c | 20 +- contrib/unbound/services/rpz.c | 41 +- contrib/unbound/sldns/parse.h | 6 +- contrib/unbound/sldns/parseutil.c | 9 + contrib/unbound/sldns/rrdef.h | 5 + contrib/unbound/sldns/wire2str.c | 6 + contrib/unbound/smallapp/unbound-anchor.c | 10 +- contrib/unbound/smallapp/unbound-checkconf.c | 9 +- .../unbound/smallapp/unbound-control-setup.sh.in | 4 + contrib/unbound/smallapp/unbound-control.c | 29 +- contrib/unbound/systemd.m4 | 14 +- .../09-unbound-control.tdir/view_local_data | 4 + .../09-unbound-control.tdir/view_local_data_remove | 4 + .../testdata/acl_interface.tdir/rpz-nx.zone | 3 + .../testdata/acl_interface.tdir/rpz-one.zone | 3 + .../testdata/acl_interface.tdir/rpz-two.zone | 3 + contrib/unbound/testdata/cachedb_val_expired.crpl | 327 + .../testdata/cookie_file.tdir/cookie_file.conf | 19 + .../testdata/cookie_file.tdir/cookie_file.dsc | 16 + .../testdata/cookie_file.tdir/cookie_file.pre | 24 + .../testdata/cookie_file.tdir/cookie_file.test | 248 + contrib/unbound/testdata/fwd_name_lookup.rpl | 152 + contrib/unbound/testdata/rpz_cname_tag.rpl | 281 + contrib/unbound/testdata/val_dname_twice.rpl | 226 + contrib/unbound/testdata/val_failure_dnskey.rpl | 348 ++ contrib/unbound/util/alloc.c | 21 + contrib/unbound/util/config_file.c | 82 +- contrib/unbound/util/config_file.h | 4 + contrib/unbound/util/configlexer.c | 6453 ++++++++++---------- contrib/unbound/util/configlexer.lex | 2 + contrib/unbound/util/configparser.c | 4701 +++++++------- contrib/unbound/util/configparser.h | 666 +- contrib/unbound/util/configparser.y | 133 +- contrib/unbound/util/data/dname.h | 2 +- contrib/unbound/util/data/msgparse.c | 50 +- contrib/unbound/util/data/msgparse.h | 5 +- contrib/unbound/util/edns.c | 186 + contrib/unbound/util/edns.h | 85 + contrib/unbound/util/fptr_wlist.c | 26 +- contrib/unbound/util/fptr_wlist.h | 16 + contrib/unbound/util/module.h | 30 +- contrib/unbound/util/net_help.c | 56 +- contrib/unbound/util/net_help.h | 17 + contrib/unbound/util/netevent.c | 21 +- contrib/unbound/util/netevent.h | 3 + contrib/unbound/util/proxy_protocol.c | 1 + contrib/unbound/util/siphash.c | 6 + contrib/unbound/util/storage/lookup3.c | 227 +- contrib/unbound/validator/autotrust.c | 3 +- contrib/unbound/validator/val_nsec.c | 12 +- contrib/unbound/validator/val_nsec.h | 4 +- contrib/unbound/validator/val_nsec3.c | 9 +- contrib/unbound/validator/val_nsec3.h | 4 +- contrib/unbound/validator/val_secalgo.c | 8 +- contrib/unbound/validator/val_sigcrypt.c | 19 +- contrib/unbound/validator/val_sigcrypt.h | 12 +- contrib/unbound/validator/val_utils.c | 82 +- contrib/unbound/validator/val_utils.h | 26 +- contrib/unbound/validator/validator.c | 129 +- usr.sbin/unbound/config.h | 15 +- 116 files changed, 11672 insertions(+), 6800 deletions(-) diff --git a/contrib/unbound/Makefile.in b/contrib/unbound/Makefile.in index f30ca81a84f8..672435e01e9f 100644 --- a/contrib/unbound/Makefile.in +++ b/contrib/unbound/Makefile.in @@ -439,7 +439,8 @@ unbound-control-setup: smallapp/unbound-control-setup.sh dnstap.lo dnstap.o: $(srcdir)/dnstap/dnstap.c config.h dnstap/dnstap_config.h \ dnstap/dnstap.pb-c.c dnstap/dnstap.pb-c.h $(srcdir)/dnstap/dnstap.h \ $(srcdir)/util/config_file.h $(srcdir)/util/log.h \ - $(srcdir)/util/netevent.h $(srcdir)/util/net_help.h + $(srcdir)/util/netevent.h $(srcdir)/util/net_help.h \ + $(srcdir)/util/locks.h dnstap/dnstap.pb-c.c dnstap/dnstap.pb-c.h: $(srcdir)/dnstap/dnstap.proto @-if test ! -d dnstap; then $(INSTALL) -d dnstap; fi @@ -1297,7 +1298,7 @@ remote.lo remote.o: $(srcdir)/daemon/remote.c config.h $(srcdir)/daemon/remote.h $(srcdir)/validator/val_anchor.h $(srcdir)/iterator/iterator.h $(srcdir)/services/outbound_list.h \ $(srcdir)/iterator/iter_fwd.h $(srcdir)/iterator/iter_hints.h $(srcdir)/iterator/iter_delegpt.h \ $(srcdir)/services/outside_network.h $(srcdir)/sldns/str2wire.h $(srcdir)/sldns/parseutil.h \ - $(srcdir)/sldns/wire2str.h + $(srcdir)/sldns/wire2str.h $(srcdir)/util/edns.h stats.lo stats.o: $(srcdir)/daemon/stats.c config.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h \ $(srcdir)/libunbound/unbound.h $(srcdir)/daemon/worker.h $(srcdir)/libunbound/worker.h $(srcdir)/sldns/sbuffer.h \ $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \ diff --git a/contrib/unbound/acx_python.m4 b/contrib/unbound/acx_python.m4 index c945d6c8989e..4ed298cf9ebd 100644 --- a/contrib/unbound/acx_python.m4 +++ b/contrib/unbound/acx_python.m4 @@ -9,7 +9,7 @@ AC_DEFUN([AC_PYTHON_DEVEL],[ AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) if test -z "$PYTHON"; then - AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) + AC_MSG_ERROR([Cannot find 'python$PYTHON_VERSION' in your system path. You can use the environment variable 'PYTHON_VERSION=version_number' for an explicit version.]) PYTHON_VERSION="" fi diff --git a/contrib/unbound/cachedb/cachedb.c b/contrib/unbound/cachedb/cachedb.c index 95ac28904693..7a07b9976967 100644 --- a/contrib/unbound/cachedb/cachedb.c +++ b/contrib/unbound/cachedb/cachedb.c @@ -322,30 +322,30 @@ error_response(struct module_qstate* qstate, int id, int rcode) /** * Hash the query name, type, class and dbacess-secret into lookup buffer. - * @param qstate: query state with query info - * and env->cfg with secret. + * @param qinfo: query info + * @param env: with env->cfg with secret. * @param buf: returned buffer with hash to lookup * @param len: length of the buffer. */ static void -calc_hash(struct module_qstate* qstate, char* buf, size_t len) +calc_hash(struct query_info* qinfo, struct module_env* env, char* buf, + size_t len) { uint8_t clear[1024]; size_t clen = 0; uint8_t hash[CACHEDB_HASHSIZE/8]; const char* hex = "0123456789ABCDEF"; - const char* secret = qstate->env->cfg->cachedb_secret; + const char* secret = env->cfg->cachedb_secret; size_t i; /* copy the hash info into the clear buffer */ - if(clen + qstate->qinfo.qname_len < sizeof(clear)) { - memmove(clear+clen, qstate->qinfo.qname, - qstate->qinfo.qname_len); - clen += qstate->qinfo.qname_len; + if(clen + qinfo->qname_len < sizeof(clear)) { + memmove(clear+clen, qinfo->qname, qinfo->qname_len); + clen += qinfo->qname_len; } if(clen + 4 < sizeof(clear)) { - uint16_t t = htons(qstate->qinfo.qtype); - uint16_t c = htons(qstate->qinfo.qclass); + uint16_t t = htons(qinfo->qtype); + uint16_t c = htons(qinfo->qclass); memmove(clear+clen, &t, 2); memmove(clear+clen+2, &c, 2); clen += 4; @@ -645,7 +645,7 @@ cachedb_extcache_lookup(struct module_qstate* qstate, struct cachedb_env* ie, int* msg_expired) { char key[(CACHEDB_HASHSIZE/8)*2+1]; - calc_hash(qstate, key, sizeof(key)); + calc_hash(&qstate->qinfo, qstate->env, key, sizeof(key)); /* call backend to fetch data for key into scratch buffer */ if( !(*ie->backend->lookup)(qstate->env, ie, key, @@ -672,7 +672,7 @@ static void cachedb_extcache_store(struct module_qstate* qstate, struct cachedb_env* ie) { char key[(CACHEDB_HASHSIZE/8)*2+1]; - calc_hash(qstate, key, sizeof(key)); + calc_hash(&qstate->qinfo, qstate->env, key, sizeof(key)); /* prepare data in scratch buffer */ if(!prep_data(qstate, qstate->env->scratch_buffer)) @@ -745,6 +745,10 @@ cachedb_intcache_store(struct module_qstate* qstate, int msg_expired) * going to be now-3 seconds. Making it expired * in the cache. */ set_msg_ttl(qstate->return_msg, (time_t)-3); + /* The expired entry does not get checked by the validator + * and we need a validation value for it. */ + if(qstate->env->cfg->cachedb_check_when_serve_expired) + qstate->return_msg->rep->security = sec_status_insecure; } (void)dns_cache_store(qstate->env, &qstate->qinfo, qstate->return_msg->rep, 0, qstate->prefetch_leeway, 0, @@ -979,7 +983,7 @@ cachedb_get_mem(struct module_env* env, int id) */ static struct module_func_block cachedb_block = { "cachedb", - &cachedb_init, &cachedb_deinit, &cachedb_operate, + NULL, NULL, &cachedb_init, &cachedb_deinit, &cachedb_operate, &cachedb_inform_super, &cachedb_clear, &cachedb_get_mem }; @@ -1003,21 +1007,26 @@ cachedb_is_enabled(struct module_stack* mods, struct module_env* env) } void cachedb_msg_remove(struct module_qstate* qstate) +{ + cachedb_msg_remove_qinfo(qstate->env, &qstate->qinfo); +} + +void cachedb_msg_remove_qinfo(struct module_env* env, struct query_info* qinfo) { char key[(CACHEDB_HASHSIZE/8)*2+1]; - int id = modstack_find(qstate->env->modstack, "cachedb"); - struct cachedb_env* ie = (struct cachedb_env*)qstate->env->modinfo[id]; + int id = modstack_find(env->modstack, "cachedb"); + struct cachedb_env* ie = (struct cachedb_env*)env->modinfo[id]; - log_query_info(VERB_ALGO, "cachedb msg remove", &qstate->qinfo); - calc_hash(qstate, key, sizeof(key)); - sldns_buffer_clear(qstate->env->scratch_buffer); - sldns_buffer_write_u32(qstate->env->scratch_buffer, 0); - sldns_buffer_flip(qstate->env->scratch_buffer); + log_query_info(VERB_ALGO, "cachedb msg remove", qinfo); + calc_hash(qinfo, env, key, sizeof(key)); + sldns_buffer_clear(env->scratch_buffer); + sldns_buffer_write_u32(env->scratch_buffer, 0); + sldns_buffer_flip(env->scratch_buffer); /* call backend */ - (*ie->backend->store)(qstate->env, ie, key, - sldns_buffer_begin(qstate->env->scratch_buffer), - sldns_buffer_limit(qstate->env->scratch_buffer), + (*ie->backend->store)(env, ie, key, + sldns_buffer_begin(env->scratch_buffer), + sldns_buffer_limit(env->scratch_buffer), 0); } #endif /* USE_CACHEDB */ diff --git a/contrib/unbound/cachedb/cachedb.h b/contrib/unbound/cachedb/cachedb.h index 2da8b5c71feb..482c5db6c063 100644 --- a/contrib/unbound/cachedb/cachedb.h +++ b/contrib/unbound/cachedb/cachedb.h @@ -126,3 +126,11 @@ int cachedb_is_enabled(struct module_stack* mods, struct module_env* env); * @param qstate: query state. */ void cachedb_msg_remove(struct module_qstate* qstate); + +/** + * Remove message from the cachedb cache, by query info. + * @param env: module environment to look up cachedb state. + * @param qinfo: the message to remove. + */ +void cachedb_msg_remove_qinfo(struct module_env* env, + struct query_info* qinfo); diff --git a/contrib/unbound/config.guess b/contrib/unbound/config.guess index f6d217a49f8f..48a684601bd2 100755 --- a/contrib/unbound/config.guess +++ b/contrib/unbound/config.guess @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2024-01-01' +timestamp='2024-07-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -123,7 +123,7 @@ set_cc_for_build() { dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do + for driver in cc gcc c17 c99 c89 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD=$driver break @@ -634,7 +634,8 @@ EOF sed 's/^ //' << EOF > "$dummy.c" #include - main() + int + main () { if (!__power_pc()) exit(1); @@ -718,7 +719,8 @@ EOF #include #include - int main () + int + main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); @@ -1621,6 +1623,7 @@ cat > "$dummy.c" < header file. */ #undef HAVE_ARPA_INET_H +/* Whether the C compiler accepts the "fallthrough" attribute */ +#undef HAVE_ATTR_FALLTHROUGH + /* Whether the C compiler accepts the "format" attribute */ #undef HAVE_ATTR_FORMAT @@ -406,6 +412,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H +/* Define to 1 if you have the header file. */ +#undef HAVE_NET_PFVAR_H + /* Define this to use nghttp2 client. */ #undef HAVE_NGHTTP2 @@ -566,6 +575,9 @@ function. */ #undef HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB +/* Define to 1 if you have the `SSL_CTX_set_tmp_ecdh' function. */ +#undef HAVE_SSL_CTX_SET_TMP_ECDH + /* Define to 1 if you have the `SSL_get0_alpn_selected' function. */ #undef HAVE_SSL_GET0_ALPN_SELECTED @@ -1484,6 +1496,7 @@ struct sockaddr_storage; # define calloc(n,s) unbound_stat_calloc_log(n, s, __FILE__, __LINE__, __func__) # define free(p) unbound_stat_free_log(p, __FILE__, __LINE__, __func__) # define realloc(p,s) unbound_stat_realloc_log(p, s, __FILE__, __LINE__, __func__) +# define strdup(s) unbound_stat_strdup_log(s, __FILE__, __LINE__, __func__) void *unbound_stat_malloc(size_t size); void *unbound_stat_calloc(size_t nmemb, size_t size); void unbound_stat_free(void *ptr); @@ -1496,6 +1509,8 @@ void unbound_stat_free_log(void *ptr, const char* file, int line, const char* func); void *unbound_stat_realloc_log(void *ptr, size_t size, const char* file, int line, const char* func); +char *unbound_stat_strdup_log(const char *s, const char* file, int line, + const char* func); #elif defined(UNBOUND_ALLOC_LITE) # include "util/alloc.h" #endif /* UNBOUND_ALLOC_LITE and UNBOUND_ALLOC_STATS */ diff --git a/contrib/unbound/config.sub b/contrib/unbound/config.sub index 2c6a07ab3c34..4aaae46f6f74 100755 --- a/contrib/unbound/config.sub +++ b/contrib/unbound/config.sub @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright 1992-2024 Free Software Foundation, Inc. -# shellcheck disable=SC2006,SC2268 # see below for rationale +# shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale -timestamp='2024-01-01' +timestamp='2024-05-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -120,7 +120,6 @@ case $# in esac # Split fields of configuration type -# shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <