git: be771a7b7f45 - main - unbound: Vendor import 1.23.0

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Sun, 27 Apr 2025 03:21:05 UTC
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=be771a7b7f4580a30d99e41a5bb1b93a385a119d

commit be771a7b7f4580a30d99e41a5bb1b93a385a119d
Merge: 6014596899c5 44bab727dfe2
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2025-04-25 14:48:44 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2025-04-27 03:20:22 +0000

    unbound: Vendor import 1.23.0
    
    Release notes at
            https://nlnetlabs.nl/news/2025/Apr/24/unbound-1.23.0-released/
    
    MFC after:      2 weeks
    
    Merge commit '44bab727dfe28451b777dc9e47db4f748b709182'

 contrib/unbound/Makefile.in                        |   23 +-
 contrib/unbound/ax_build_date_epoch.m4             |   70 +
 contrib/unbound/cachedb/cachedb.c                  |    5 +-
 contrib/unbound/cachedb/redis.c                    |  280 +-
 contrib/unbound/compat/malloc.c                    |    4 -
 contrib/unbound/config.h.in                        |    6 +
 contrib/unbound/configure                          |  122 +-
 contrib/unbound/configure.ac                       |   32 +-
 contrib/unbound/contrib/android/install_expat.sh   |   11 +-
 contrib/unbound/contrib/ios/install_expat.sh       |   18 +-
 contrib/unbound/daemon/acl_list.c                  |   30 +-
 contrib/unbound/daemon/acl_list.h                  |   13 +-
 contrib/unbound/daemon/cachedump.c                 |    4 +-
 contrib/unbound/daemon/daemon.c                    |   42 +-
 contrib/unbound/daemon/daemon.h                    |   35 +-
 contrib/unbound/daemon/remote.c                    | 4162 ++++++++++-
 contrib/unbound/daemon/remote.h                    |  167 +
 contrib/unbound/daemon/stats.c                     |   32 +-
 contrib/unbound/daemon/unbound.c                   |   92 +-
 contrib/unbound/daemon/worker.c                    |  118 +-
 contrib/unbound/daemon/worker.h                    |    8 +-
 contrib/unbound/dns64/dns64.c                      |    6 +-
 contrib/unbound/dnstap/dnstap.c                    |   28 +-
 contrib/unbound/dnstap/dnstap.h                    |    7 +
 contrib/unbound/dnstap/unbound-dnstap-socket.c     |   17 +-
 contrib/unbound/doc/Changelog                      |  265 +
 contrib/unbound/doc/README                         |    2 +-
 contrib/unbound/doc/example.conf.in                |   54 +-
 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           |  169 +-
 contrib/unbound/doc/unbound-host.1.in              |    2 +-
 contrib/unbound/doc/unbound.8.in                   |    4 +-
 contrib/unbound/doc/unbound.conf.5.in              |  204 +-
 contrib/unbound/ipsecmod/ipsecmod.c                |    3 +-
 contrib/unbound/iterator/iter_delegpt.c            |    2 +-
 contrib/unbound/iterator/iter_fwd.c                |   52 +-
 contrib/unbound/iterator/iter_fwd.h                |    9 +
 contrib/unbound/iterator/iter_hints.c              |   13 +-
 contrib/unbound/iterator/iter_hints.h              |    9 +
 contrib/unbound/iterator/iter_utils.c              |  153 +-
 contrib/unbound/iterator/iter_utils.h              |   49 +-
 contrib/unbound/iterator/iterator.c                |   81 +-
 contrib/unbound/iterator/iterator.h                |   26 +-
 contrib/unbound/libunbound/libworker.c             |   16 +-
 contrib/unbound/libunbound/unbound.h               |    6 +
 contrib/unbound/pythonmod/interface.i              | 1857 +++++
 contrib/unbound/pythonmod/pythonmod_utils.c        |  201 +
 contrib/unbound/respip/respip.c                    |   74 +-
 contrib/unbound/respip/respip.h                    |   33 +-
 contrib/unbound/services/authzone.c                |  278 +-
 contrib/unbound/services/authzone.h                |   40 +-
 contrib/unbound/services/cache/dns.c               |   45 +-
 contrib/unbound/services/cache/dns.h               |    5 +-
 contrib/unbound/services/cache/infra.c             |  170 +-
 contrib/unbound/services/cache/infra.h             |   31 +
 contrib/unbound/services/listen_dnsport.c          |  173 +-
 contrib/unbound/services/listen_dnsport.h          |   25 +-
 contrib/unbound/services/localzone.c               |   50 +-
 contrib/unbound/services/localzone.h               |   14 +
 contrib/unbound/services/mesh.c                    |  303 +-
 contrib/unbound/services/mesh.h                    |   24 +
 contrib/unbound/services/outside_network.c         |   33 +-
 contrib/unbound/services/outside_network.h         |    6 +-
 contrib/unbound/services/rpz.c                     |   43 +-
 contrib/unbound/services/rpz.h                     |    7 +
 contrib/unbound/services/view.c                    |   41 +-
 contrib/unbound/services/view.h                    |   26 +-
 contrib/unbound/sldns/keyraw.c                     |    2 +
 contrib/unbound/sldns/rrdef.c                      |   10 +-
 contrib/unbound/sldns/rrdef.h                      |    6 +
 contrib/unbound/sldns/str2wire.c                   |   54 +-
 contrib/unbound/sldns/str2wire.h                   |    9 +
 contrib/unbound/sldns/wire2str.c                   |   50 +-
 contrib/unbound/sldns/wire2str.h                   |   13 +
 contrib/unbound/smallapp/unbound-checkconf.c       |   12 +-
 .../unbound/smallapp/unbound-control-setup.sh.in   |    3 +-
 contrib/unbound/smallapp/unbound-control.c         |   24 +-
 contrib/unbound/smallapp/worker_cb.c               |   14 +
 contrib/unbound/testcode/checklocks.c              |  916 +++
 contrib/unbound/testcode/do-tests.sh               |   76 +
 contrib/unbound/testcode/doqclient.c               | 2715 +++++++
 contrib/unbound/testcode/fake_event.c              | 2022 +++++
 contrib/unbound/testcode/testbound.c               |  668 ++
 contrib/unbound/testcode/unitdname.c               | 1037 +++
 contrib/unbound/testcode/unitinfra.c               |  209 +
 contrib/unbound/testcode/unitldns.c                |  284 +
 contrib/unbound/testcode/unitmain.c                | 1377 ++++
 contrib/unbound/testcode/unitmain.h                |   92 +
 contrib/unbound/testcode/unitneg.c                 |  545 ++
 contrib/unbound/testcode/unitverify.c              |  573 ++
 contrib/unbound/testcode/unitzonemd.c              |  541 ++
 .../09-unbound-control.conf                        |   31 +
 .../09-unbound-control.test                        |  493 ++
 .../09-unbound-control.testns                      |   44 +
 .../testdata/acl_interface.tdir/acl_interface.conf |  198 +
 .../acl_interface.tdir/acl_interface.test.scenario |  268 +
 .../unbound/testdata/auth_tls.tdir/auth_tls.pre    |   48 +
 .../auth_tls_failcert.tdir/auth_tls_failcert.pre   |   48 +
 contrib/unbound/testdata/cachedb_expired.crpl      |  325 +
 .../testdata/cachedb_expired_reply_ttl.crpl        |  260 +
 .../unbound/testdata/cachedb_servfail_cname.crpl   |  181 +
 contrib/unbound/testdata/cachedb_val_expired.crpl  |  328 +
 contrib/unbound/testdata/common.sh                 |  394 +
 contrib/unbound/testdata/dns_error_reporting.rpl   |  200 +
 contrib/unbound/testdata/dnstap.tdir/dnstap.conf   |   43 +
 .../testdata/fast_reload_fwd.tdir/auth1.zone       |    2 +
 .../testdata/fast_reload_fwd.tdir/auth2.zone       |    2 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.conf      |  107 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.conf2     |  108 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.dsc       |   16 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.ns1       |  339 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.ns2       |  285 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.post      |   27 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.pre       |   56 +
 .../fast_reload_fwd.tdir/fast_reload_fwd.test      |  320 +
 .../auth.nlnetlabs.nl.zone                         |    3 +
 .../fast_reload_most_options.conf                  |  143 +
 .../fast_reload_most_options.dsc                   |   16 +
 .../fast_reload_most_options.post                  |   11 +
 .../fast_reload_most_options.pre                   |   33 +
 .../fast_reload_most_options.test                  |   42 +
 .../rpz.nlnetlabs.nl.zone                          |    5 +
 .../fast_reload_thread.conf                        |   20 +
 .../fast_reload_thread.tdir/fast_reload_thread.dsc |   16 +
 .../fast_reload_thread.post                        |   11 +
 .../fast_reload_thread.tdir/fast_reload_thread.pre |   34 +
 .../fast_reload_thread.test                        |   38 +
 contrib/unbound/testdata/fwd_0ttlservfail.rpl      |   87 +
 contrib/unbound/testdata/iter_failreply.rpl        |  131 +
 contrib/unbound/testdata/iter_fwdstubauth.rpl      |  155 +
 contrib/unbound/testdata/iter_scrub_rr_length.rpl  |  297 +
 .../testdata/log_servfail.tdir/log_servfail.conf   |   27 +
 .../testdata/log_servfail.tdir/log_servfail.dsc    |   16 +
 .../testdata/log_servfail.tdir/log_servfail.post   |   10 +
 .../testdata/log_servfail.tdir/log_servfail.pre    |   21 +
 .../testdata/log_servfail.tdir/log_servfail.test   |   47 +
 .../unbound/testdata/redis_replica.tdir/after.zone |    2 +
 .../testdata/redis_replica.tdir/before.zone        |    2 +
 .../unbound/testdata/redis_replica.tdir/redis.conf |  583 ++
 .../testdata/redis_replica.tdir/redis_replica.conf |   31 +
 .../testdata/redis_replica.tdir/redis_replica.dsc  |   16 +
 .../testdata/redis_replica.tdir/redis_replica.post |   18 +
 .../testdata/redis_replica.tdir/redis_replica.pre  |   46 +
 .../testdata/redis_replica.tdir/redis_replica.test |   78 +
 .../redis_replica.tdir/unbound_control.key         |   39 +
 .../redis_replica.tdir/unbound_control.pem         |   22 +
 .../testdata/redis_replica.tdir/unbound_server.key |   39 +
 .../testdata/redis_replica.tdir/unbound_server.pem |   22 +
 contrib/unbound/testdata/rpz_nsdname.rpl           |  471 ++
 contrib/unbound/testdata/rpz_val_block.rpl         |  642 ++
 contrib/unbound/testdata/serve_expired.rpl         |  126 +
 .../unbound/testdata/serve_expired_0ttl_nodata.rpl |  154 +
 .../testdata/serve_expired_0ttl_nxdomain.rpl       |  154 +
 .../testdata/serve_expired_0ttl_servfail.rpl       |  129 +
 .../testdata/serve_expired_cached_servfail.rpl     |  130 +
 .../serve_expired_cached_servfail_refresh.rpl      |  145 +
 .../serve_expired_client_timeout_servfail.rpl      |  219 +
 .../serve_expired_client_timeout_val_bogus.rpl     |  328 +
 .../unbound/testdata/serve_expired_reply_ttl.rpl   |  106 +
 contrib/unbound/testdata/serve_expired_ttl.rpl     |  101 +
 .../unbound/testdata/serve_expired_ttl_reset.rpl   |  101 +
 .../unbound/testdata/serve_expired_val_bogus.rpl   |  389 +
 contrib/unbound/testdata/serve_expired_zerottl.rpl |  157 +
 contrib/unbound/testdata/serve_original_ttl.rpl    |  139 +
 .../testdata/stat_values.tdir/stat_values.conf     |   44 +
 .../testdata/stat_values.tdir/stat_values.pre      |   50 +
 .../testdata/stat_values.tdir/stat_values.test     |  680 ++
 .../testdata/stat_values.tdir/stat_values.testns   |   82 +
 .../stat_values.tdir/stat_values_cachedb.conf      |   30 +
 .../stat_values_discard_wait_limit.conf            |   36 +
 .../unbound/testdata/subnet_cached_servfail.crpl   |  168 +
 .../subnet_global_prefetch_always_forward.crpl     |  168 +
 .../testdata/subnet_global_prefetch_expired.crpl   |  242 +
 contrib/unbound/testdata/test_ldnsrr.4             |   80 +
 contrib/unbound/testdata/test_ldnsrr.5             |  178 +
 contrib/unbound/testdata/test_ldnsrr.c3            | 1068 +++
 contrib/unbound/testdata/test_ldnsrr.c4            |   84 +
 contrib/unbound/testdata/test_ldnsrr.c5            |  220 +
 contrib/unbound/testdata/val_failure_dnskey.rpl    |  347 +
 contrib/unbound/testdata/val_scrub_rr_length.rpl   |  163 +
 contrib/unbound/util/config_file.c                 |  169 +-
 contrib/unbound/util/config_file.h                 |   74 +-
 contrib/unbound/util/configlexer.c                 | 7712 ++++++++++----------
 contrib/unbound/util/configlexer.lex               |   25 +-
 contrib/unbound/util/configparser.c                | 4659 ++++++------
 contrib/unbound/util/configparser.h                |  352 +-
 contrib/unbound/util/configparser.y                |  143 +-
 contrib/unbound/util/data/dname.c                  |   16 +-
 contrib/unbound/util/data/dname.h                  |    5 +-
 contrib/unbound/util/data/msgreply.c               |   18 +-
 contrib/unbound/util/data/msgreply.h               |    4 +-
 contrib/unbound/util/edns.c                        |   23 +
 contrib/unbound/util/edns.h                        |   16 +
 contrib/unbound/util/fptr_wlist.c                  |    3 +
 contrib/unbound/util/iana_ports.inc                |    5 +-
 contrib/unbound/util/log.c                         |    2 +-
 contrib/unbound/util/module.c                      |    8 +-
 contrib/unbound/util/module.h                      |    5 +
 contrib/unbound/util/net_help.c                    |  163 +-
 contrib/unbound/util/net_help.h                    |   29 +-
 contrib/unbound/util/netevent.c                    |  243 +-
 contrib/unbound/util/netevent.h                    |   21 +-
 contrib/unbound/util/shm_side/shm_main.c           |    2 +-
 contrib/unbound/util/storage/dnstree.c             |    2 +-
 contrib/unbound/util/storage/lruhash.c             |   30 +
 contrib/unbound/util/storage/lruhash.h             |   10 +
 contrib/unbound/util/storage/slabhash.c            |    9 +
 contrib/unbound/util/storage/slabhash.h            |    7 +
 contrib/unbound/util/tcp_conn_limit.c              |   11 +
 contrib/unbound/util/tcp_conn_limit.h              |    9 +
 contrib/unbound/util/tube.c                        |    5 +-
 contrib/unbound/util/ub_event.c                    |   61 +-
 contrib/unbound/validator/autotrust.c              |   33 +-
 contrib/unbound/validator/val_anchor.c             |   78 +-
 contrib/unbound/validator/val_anchor.h             |   10 +-
 contrib/unbound/validator/val_neg.c                |    9 +
 contrib/unbound/validator/val_neg.h                |    7 +
 contrib/unbound/validator/validator.c              |   99 +-
 contrib/unbound/validator/validator.h              |   23 +
 contrib/unbound/winrc/win_svc.c                    |  660 ++
 222 files changed, 41990 insertions(+), 7275 deletions(-)

diff --cc contrib/unbound/ax_build_date_epoch.m4
index 000000000000,dbecb067a8cb..dbecb067a8cb
mode 000000,100644..100644
--- a/contrib/unbound/ax_build_date_epoch.m4
+++ b/contrib/unbound/ax_build_date_epoch.m4
diff --cc contrib/unbound/pythonmod/interface.i
index 000000000000,2040fb9e8adf..2040fb9e8adf
mode 000000,100644..100644
--- a/contrib/unbound/pythonmod/interface.i
+++ b/contrib/unbound/pythonmod/interface.i
diff --cc contrib/unbound/pythonmod/pythonmod_utils.c
index 000000000000,fc9921aa1d1e..fc9921aa1d1e
mode 000000,100644..100644
--- a/contrib/unbound/pythonmod/pythonmod_utils.c
+++ b/contrib/unbound/pythonmod/pythonmod_utils.c
diff --cc contrib/unbound/smallapp/unbound-control-setup.sh.in
index 4a358f6bd09d,c2a79a242972..c2a79a242972
mode 100755,100644..100755
--- a/contrib/unbound/smallapp/unbound-control-setup.sh.in
+++ b/contrib/unbound/smallapp/unbound-control-setup.sh.in
diff --cc contrib/unbound/testcode/checklocks.c
index 000000000000,93bbf70f4af2..93bbf70f4af2
mode 000000,100644..100644
--- a/contrib/unbound/testcode/checklocks.c
+++ b/contrib/unbound/testcode/checklocks.c
diff --cc contrib/unbound/testcode/do-tests.sh
index 000000000000,4f769c5fdf8f..4f769c5fdf8f
mode 000000,100755..100755
--- a/contrib/unbound/testcode/do-tests.sh
+++ b/contrib/unbound/testcode/do-tests.sh
diff --cc contrib/unbound/testcode/doqclient.c
index 000000000000,e6f63a761f35..e6f63a761f35
mode 000000,100644..100644
--- a/contrib/unbound/testcode/doqclient.c
+++ b/contrib/unbound/testcode/doqclient.c
diff --cc contrib/unbound/testcode/fake_event.c
index 000000000000,f7f3210790eb..f7f3210790eb
mode 000000,100644..100644
--- a/contrib/unbound/testcode/fake_event.c
+++ b/contrib/unbound/testcode/fake_event.c
diff --cc contrib/unbound/testcode/testbound.c
index 000000000000,6da4ceaf2ebf..6da4ceaf2ebf
mode 000000,100644..100644
--- a/contrib/unbound/testcode/testbound.c
+++ b/contrib/unbound/testcode/testbound.c
diff --cc contrib/unbound/testcode/unitdname.c
index 000000000000,08a2dbad774d..08a2dbad774d
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitdname.c
+++ b/contrib/unbound/testcode/unitdname.c
diff --cc contrib/unbound/testcode/unitinfra.c
index 000000000000,6834c51eeab8..6834c51eeab8
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitinfra.c
+++ b/contrib/unbound/testcode/unitinfra.c
diff --cc contrib/unbound/testcode/unitldns.c
index 000000000000,f8409fec71b1..f8409fec71b1
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitldns.c
+++ b/contrib/unbound/testcode/unitldns.c
diff --cc contrib/unbound/testcode/unitmain.c
index 000000000000,334c1af93033..334c1af93033
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitmain.c
+++ b/contrib/unbound/testcode/unitmain.c
diff --cc contrib/unbound/testcode/unitmain.h
index 000000000000,00b5a6220873..00b5a6220873
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitmain.h
+++ b/contrib/unbound/testcode/unitmain.h
diff --cc contrib/unbound/testcode/unitneg.c
index 000000000000,d1d03fc99150..d1d03fc99150
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitneg.c
+++ b/contrib/unbound/testcode/unitneg.c
diff --cc contrib/unbound/testcode/unitverify.c
index 000000000000,81c8b13c6d65..81c8b13c6d65
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitverify.c
+++ b/contrib/unbound/testcode/unitverify.c
diff --cc contrib/unbound/testcode/unitzonemd.c
index 000000000000,63dc13edab33..63dc13edab33
mode 000000,100644..100644
--- a/contrib/unbound/testcode/unitzonemd.c
+++ b/contrib/unbound/testcode/unitzonemd.c
diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf
index 000000000000,be65336eaf5e..be65336eaf5e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf
+++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf
diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test
index 000000000000,da284c2c0ccd..da284c2c0ccd
mode 000000,100644..100644
--- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test
+++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test
diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns
index 000000000000,311af0f7e771..311af0f7e771
mode 000000,100644..100644
--- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns
+++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns
diff --cc contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf
index 000000000000,b1d94857317f..b1d94857317f
mode 000000,100644..100644
--- a/contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf
+++ b/contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf
diff --cc contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario
index 000000000000,6348d2ef4a1a..6348d2ef4a1a
mode 000000,100644..100644
--- a/contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario
+++ b/contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario
diff --cc contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre
index 000000000000,cf652b1dc541..cf652b1dc541
mode 000000,100644..100644
--- a/contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre
+++ b/contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre
diff --cc contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre
index 000000000000,56da4af739e4..56da4af739e4
mode 000000,100644..100644
--- a/contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre
+++ b/contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre
diff --cc contrib/unbound/testdata/cachedb_expired.crpl
index 000000000000,d3bf06fe1a1b..d3bf06fe1a1b
mode 000000,100644..100644
--- a/contrib/unbound/testdata/cachedb_expired.crpl
+++ b/contrib/unbound/testdata/cachedb_expired.crpl
diff --cc contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl
index 000000000000,03fd01add476..03fd01add476
mode 000000,100644..100644
--- a/contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl
+++ b/contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl
diff --cc contrib/unbound/testdata/cachedb_servfail_cname.crpl
index 000000000000,99b3d51f9135..99b3d51f9135
mode 000000,100644..100644
--- a/contrib/unbound/testdata/cachedb_servfail_cname.crpl
+++ b/contrib/unbound/testdata/cachedb_servfail_cname.crpl
diff --cc contrib/unbound/testdata/cachedb_val_expired.crpl
index 000000000000,741445ce8515..741445ce8515
mode 000000,100644..100644
--- a/contrib/unbound/testdata/cachedb_val_expired.crpl
+++ b/contrib/unbound/testdata/cachedb_val_expired.crpl
diff --cc contrib/unbound/testdata/common.sh
index 000000000000,48b8204d2c51..48b8204d2c51
mode 000000,100644..100644
--- a/contrib/unbound/testdata/common.sh
+++ b/contrib/unbound/testdata/common.sh
diff --cc contrib/unbound/testdata/dns_error_reporting.rpl
index 000000000000,f1fac12a2284..f1fac12a2284
mode 000000,100644..100644
--- a/contrib/unbound/testdata/dns_error_reporting.rpl
+++ b/contrib/unbound/testdata/dns_error_reporting.rpl
diff --cc contrib/unbound/testdata/dnstap.tdir/dnstap.conf
index 000000000000,b5497bfebe86..b5497bfebe86
mode 000000,100644..100644
--- a/contrib/unbound/testdata/dnstap.tdir/dnstap.conf
+++ b/contrib/unbound/testdata/dnstap.tdir/dnstap.conf
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone
index 000000000000,b6b551a42dd5..b6b551a42dd5
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone
index 000000000000,fc59810c9a85..fc59810c9a85
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf
index 000000000000,dca76342f172..dca76342f172
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2
index 000000000000,dbe6e4ffa821..dbe6e4ffa821
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc
index 000000000000,422cdee4660c..422cdee4660c
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1
index 000000000000,d9644414b8e7..d9644414b8e7
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2
index 000000000000,8e7eb60c81e5..8e7eb60c81e5
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post
index 000000000000,969d0080df63..969d0080df63
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre
index 000000000000,42e680d8f041..42e680d8f041
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre
diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test
index 000000000000,9248593c75b2..9248593c75b2
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test
+++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone
index 000000000000,55b8d34a9e4e..55b8d34a9e4e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf
index 000000000000,eda3d6763a41..eda3d6763a41
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc
index 000000000000,e0e8e9fd206e..e0e8e9fd206e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post
index 000000000000,7fd25e3648d0..7fd25e3648d0
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre
index 000000000000,47e3642c65c4..47e3642c65c4
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test
index 000000000000,20799986071a..20799986071a
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test
diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone
index 000000000000,71b37150692e..71b37150692e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone
+++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone
diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf
index 000000000000,719f4a00eaab..719f4a00eaab
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf
+++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf
diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc
index 000000000000,ec3437b695c0..ec3437b695c0
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc
+++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc
diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post
index 000000000000,569a17f852ba..569a17f852ba
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post
+++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post
diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre
index 000000000000,5521742fa318..5521742fa318
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre
+++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre
diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test
index 000000000000,d2ef258802f7..d2ef258802f7
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test
+++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test
diff --cc contrib/unbound/testdata/fwd_0ttlservfail.rpl
index 000000000000,d50d386d4137..d50d386d4137
mode 000000,100644..100644
--- a/contrib/unbound/testdata/fwd_0ttlservfail.rpl
+++ b/contrib/unbound/testdata/fwd_0ttlservfail.rpl
diff --cc contrib/unbound/testdata/iter_failreply.rpl
index 000000000000,e8ad4dd26e31..e8ad4dd26e31
mode 000000,100644..100644
--- a/contrib/unbound/testdata/iter_failreply.rpl
+++ b/contrib/unbound/testdata/iter_failreply.rpl
diff --cc contrib/unbound/testdata/iter_fwdstubauth.rpl
index 000000000000,fefb6369c864..fefb6369c864
mode 000000,100644..100644
--- a/contrib/unbound/testdata/iter_fwdstubauth.rpl
+++ b/contrib/unbound/testdata/iter_fwdstubauth.rpl
diff --cc contrib/unbound/testdata/iter_scrub_rr_length.rpl
index 000000000000,ee7579f9c246..ee7579f9c246
mode 000000,100644..100644
--- a/contrib/unbound/testdata/iter_scrub_rr_length.rpl
+++ b/contrib/unbound/testdata/iter_scrub_rr_length.rpl
diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf
index 000000000000,2d7c34e68c84..2d7c34e68c84
mode 000000,100644..100644
--- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf
+++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf
diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc
index 000000000000,cf4f455aadf4..cf4f455aadf4
mode 000000,100644..100644
--- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc
+++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc
diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.post
index 000000000000,a7bd0e88f4bb..a7bd0e88f4bb
mode 000000,100644..100644
--- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.post
+++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.post
diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre
index 000000000000,54059480824d..54059480824d
mode 000000,100644..100644
--- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre
+++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre
diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.test
index 000000000000,1d19e5ca3b22..1d19e5ca3b22
mode 000000,100644..100644
--- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.test
+++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.test
diff --cc contrib/unbound/testdata/redis_replica.tdir/after.zone
index 000000000000,11c268f81497..11c268f81497
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/after.zone
+++ b/contrib/unbound/testdata/redis_replica.tdir/after.zone
diff --cc contrib/unbound/testdata/redis_replica.tdir/before.zone
index 000000000000,8e50c6267516..8e50c6267516
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/before.zone
+++ b/contrib/unbound/testdata/redis_replica.tdir/before.zone
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis.conf
index 000000000000,3b80736e2438..3b80736e2438
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis.conf
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis.conf
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf
index 000000000000,3a558e2337b8..3a558e2337b8
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc
index 000000000000,03321f11b2b4..03321f11b2b4
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.post
index 000000000000,35f11651808f..35f11651808f
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.post
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.post
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre
index 000000000000,28ccd7b86d6c..28ccd7b86d6c
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre
diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.test
index 000000000000,a9f15b8094f8..a9f15b8094f8
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.test
+++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.test
diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_control.key
index 000000000000,753a4ef6162e..753a4ef6162e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/unbound_control.key
+++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_control.key
diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem
index 000000000000,a1edf7017f1d..a1edf7017f1d
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem
+++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem
diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_server.key
index 000000000000,370a7bbb2f22..370a7bbb2f22
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/unbound_server.key
+++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_server.key
diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem
index 000000000000,986807310f2b..986807310f2b
mode 000000,100644..100644
--- a/contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem
+++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem
diff --cc contrib/unbound/testdata/rpz_nsdname.rpl
index 000000000000,661f5da2c345..661f5da2c345
mode 000000,100644..100644
--- a/contrib/unbound/testdata/rpz_nsdname.rpl
+++ b/contrib/unbound/testdata/rpz_nsdname.rpl
diff --cc contrib/unbound/testdata/rpz_val_block.rpl
index 000000000000,d2cd897e09e7..d2cd897e09e7
mode 000000,100644..100644
--- a/contrib/unbound/testdata/rpz_val_block.rpl
+++ b/contrib/unbound/testdata/rpz_val_block.rpl
diff --cc contrib/unbound/testdata/serve_expired.rpl
index 000000000000,990a562c7191..990a562c7191
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired.rpl
+++ b/contrib/unbound/testdata/serve_expired.rpl
diff --cc contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl
index 000000000000,8ca461be2c7b..8ca461be2c7b
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl
+++ b/contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl
diff --cc contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl
index 000000000000,7cf26aedda0a..7cf26aedda0a
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl
+++ b/contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl
diff --cc contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl
index 000000000000,e9d4c4884e9f..e9d4c4884e9f
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl
+++ b/contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl
diff --cc contrib/unbound/testdata/serve_expired_cached_servfail.rpl
index 000000000000,eb115816ec1d..eb115816ec1d
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_cached_servfail.rpl
+++ b/contrib/unbound/testdata/serve_expired_cached_servfail.rpl
diff --cc contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl
index 000000000000,63277f25f15e..63277f25f15e
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl
+++ b/contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl
diff --cc contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl
index 000000000000,3c5b35e1793a..3c5b35e1793a
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl
+++ b/contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl
diff --cc contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl
index 000000000000,47a6545a4035..47a6545a4035
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl
+++ b/contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl
diff --cc contrib/unbound/testdata/serve_expired_reply_ttl.rpl
index 000000000000,e76976bde07d..e76976bde07d
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_reply_ttl.rpl
+++ b/contrib/unbound/testdata/serve_expired_reply_ttl.rpl
diff --cc contrib/unbound/testdata/serve_expired_ttl.rpl
index 000000000000,66acbdcf1fe1..66acbdcf1fe1
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_ttl.rpl
+++ b/contrib/unbound/testdata/serve_expired_ttl.rpl
diff --cc contrib/unbound/testdata/serve_expired_ttl_reset.rpl
index 000000000000,9f215c96bcd1..9f215c96bcd1
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_ttl_reset.rpl
+++ b/contrib/unbound/testdata/serve_expired_ttl_reset.rpl
diff --cc contrib/unbound/testdata/serve_expired_val_bogus.rpl
index 000000000000,54b66fe98800..54b66fe98800
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_val_bogus.rpl
+++ b/contrib/unbound/testdata/serve_expired_val_bogus.rpl
diff --cc contrib/unbound/testdata/serve_expired_zerottl.rpl
index 000000000000,1411cb8e77a5..1411cb8e77a5
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_expired_zerottl.rpl
+++ b/contrib/unbound/testdata/serve_expired_zerottl.rpl
diff --cc contrib/unbound/testdata/serve_original_ttl.rpl
index 000000000000,30503c285ccd..30503c285ccd
mode 000000,100644..100644
--- a/contrib/unbound/testdata/serve_original_ttl.rpl
+++ b/contrib/unbound/testdata/serve_original_ttl.rpl
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.conf
index 000000000000,312a7e17494f..312a7e17494f
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values.conf
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.conf
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.pre
index 000000000000,81f94d8d10be..81f94d8d10be
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values.pre
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.pre
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.test
index 000000000000,d538e4d60ec2..d538e4d60ec2
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values.test
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.test
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.testns
index 000000000000,a5c0ae92b599..a5c0ae92b599
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values.testns
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.testns
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf
index 000000000000,b7b375b36ef1..b7b375b36ef1
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf
diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf
index 000000000000,b6f63cf17cfd..b6f63cf17cfd
mode 000000,100644..100644
--- a/contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf
+++ b/contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf
diff --cc contrib/unbound/testdata/subnet_cached_servfail.crpl
index 000000000000,f1a66159c4ee..f1a66159c4ee
mode 000000,100644..100644
--- a/contrib/unbound/testdata/subnet_cached_servfail.crpl
+++ b/contrib/unbound/testdata/subnet_cached_servfail.crpl
diff --cc contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl
index 000000000000,775474cbcfeb..775474cbcfeb
mode 000000,100644..100644
--- a/contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl
+++ b/contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl
diff --cc contrib/unbound/testdata/subnet_global_prefetch_expired.crpl
index 000000000000,374bf3e693aa..374bf3e693aa
mode 000000,100644..100644
--- a/contrib/unbound/testdata/subnet_global_prefetch_expired.crpl
+++ b/contrib/unbound/testdata/subnet_global_prefetch_expired.crpl
diff --cc contrib/unbound/testdata/test_ldnsrr.4
index 000000000000,b20a317289b3..b20a317289b3
mode 000000,100644..100644
--- a/contrib/unbound/testdata/test_ldnsrr.4
+++ b/contrib/unbound/testdata/test_ldnsrr.4
diff --cc contrib/unbound/testdata/test_ldnsrr.5
index 000000000000,1f2837a67098..1f2837a67098
mode 000000,100644..100644
--- a/contrib/unbound/testdata/test_ldnsrr.5
+++ b/contrib/unbound/testdata/test_ldnsrr.5
diff --cc contrib/unbound/testdata/test_ldnsrr.c3
index 000000000000,0ce9340dfc31..0ce9340dfc31
mode 000000,100644..100644
--- a/contrib/unbound/testdata/test_ldnsrr.c3
+++ b/contrib/unbound/testdata/test_ldnsrr.c3
diff --cc contrib/unbound/testdata/test_ldnsrr.c4
index 000000000000,93e7617f6a80..93e7617f6a80
mode 000000,100644..100644
--- a/contrib/unbound/testdata/test_ldnsrr.c4
+++ b/contrib/unbound/testdata/test_ldnsrr.c4
diff --cc contrib/unbound/testdata/test_ldnsrr.c5
index 000000000000,72d7b69d62bc..72d7b69d62bc
mode 000000,100644..100644
--- a/contrib/unbound/testdata/test_ldnsrr.c5
+++ b/contrib/unbound/testdata/test_ldnsrr.c5
diff --cc contrib/unbound/testdata/val_failure_dnskey.rpl
index 000000000000,c5f1af2ff349..c5f1af2ff349
mode 000000,100644..100644
--- a/contrib/unbound/testdata/val_failure_dnskey.rpl
+++ b/contrib/unbound/testdata/val_failure_dnskey.rpl
diff --cc contrib/unbound/testdata/val_scrub_rr_length.rpl
index 000000000000,f83157ff04c3..f83157ff04c3
mode 000000,100644..100644
--- a/contrib/unbound/testdata/val_scrub_rr_length.rpl
+++ b/contrib/unbound/testdata/val_scrub_rr_length.rpl
diff --cc contrib/unbound/util/config_file.c
index 6d13c03befb8,000000000000..cf610efc6a7c
mode 100644,000000..100644
--- a/contrib/unbound/util/config_file.c
+++ b/contrib/unbound/util/config_file.c
@@@ -1,2848 -1,0 +1,2905 @@@
 +/*
 + * util/config_file.c - reads and stores the config file for unbound.
 + *
 + * Copyright (c) 2007, NLnet Labs. All rights reserved.
 + *
 + * This software is open source.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + *
 + * Redistributions of source code must retain the above copyright notice,
 + * this list of conditions and the following disclaimer.
 + *
 + * Redistributions in binary form must reproduce the above copyright notice,
 + * this list of conditions and the following disclaimer in the documentation
 + * and/or other materials provided with the distribution.
 + *
 + * Neither the name of the NLNET LABS nor the names of its contributors may
 + * be used to endorse or promote products derived from this software without
 + * specific prior written permission.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 + */
 +
 +/**
 + * \file
 + *
 + * This file contains functions for the config file.
 + */
 +
 +#include "config.h"
 +#include <ctype.h>
 +#include <stdarg.h>
 +#include <errno.h>
 +#ifdef HAVE_TIME_H
 +#include <time.h>
 +#endif
 +#include "util/log.h"
 +#include "util/configyyrename.h"
 +#include "util/config_file.h"
 +#include "configparser.h"
 +#include "util/net_help.h"
 +#include "util/data/msgparse.h"
 +#include "util/module.h"
 +#include "util/regional.h"
 +#include "util/fptr_wlist.h"
 +#include "util/data/dname.h"
 +#include "util/random.h"
 +#include "util/rtt.h"
 +#include "services/cache/infra.h"
 +#include "sldns/wire2str.h"
 +#include "sldns/parseutil.h"
 +#include "iterator/iterator.h"
 +#ifdef HAVE_GLOB_H
 +# include <glob.h>
 +#endif
 +#ifdef CLIENT_SUBNET
 +#include "edns-subnet/edns-subnet.h"
 +#endif
 +#ifdef HAVE_PWD_H
 +#include <pwd.h>
 +#endif
 +
 +/** from cfg username, after daemonize setup performed */
 +uid_t cfg_uid = (uid_t)-1;
 +/** from cfg username, after daemonize setup performed */
 +gid_t cfg_gid = (gid_t)-1;
 +/** for debug allow small timeout values for fast rollovers */
 +int autr_permit_small_holddown = 0;
 +/** size (in bytes) of stream wait buffers max */
 +size_t stream_wait_max = 4 * 1024 * 1024;
 +size_t http2_query_buffer_max = 4 * 1024 * 1024;
 +size_t http2_response_buffer_max = 4 * 1024 * 1024;
 +
 +/** global config during parsing */
 +struct config_parser_state* cfg_parser = 0;
 +
 +/** init ports possible for use */
 +static void init_outgoing_availports(int* array, int num);
 +
 +/** init cookie with random data */
 +static void init_cookie_secret(uint8_t* cookie_secret, size_t cookie_secret_len);
 +
 +struct config_file*
 +config_create(void)
 +{
 +	struct config_file* cfg;
 +	cfg = (struct config_file*)calloc(1, sizeof(struct config_file));
 +	if(!cfg)
 +		return NULL;
 +	/* the defaults if no config is present */
 +	cfg->verbosity = 1;
 +	cfg->stat_interval = 0;
 +	cfg->stat_cumulative = 0;
 +	cfg->stat_extended = 0;
 +	cfg->stat_inhibit_zero = 1;
 +	cfg->num_threads = 1;
 +	cfg->port = UNBOUND_DNS_PORT;
 +	cfg->do_ip4 = 1;
 +	cfg->do_ip6 = 1;
 +	cfg->do_udp = 1;
 +	cfg->do_tcp = 1;
 +	cfg->tcp_reuse_timeout = 60 * 1000; /* 60s in milisecs */
 +	cfg->max_reuse_tcp_queries = 200;
 +	cfg->tcp_upstream = 0;
 +	cfg->udp_upstream_without_downstream = 0;
 +	cfg->tcp_mss = 0;
 +	cfg->outgoing_tcp_mss = 0;
 +	cfg->tcp_idle_timeout = 30 * 1000; /* 30s in millisecs */
 +	cfg->tcp_auth_query_timeout = 3 * 1000; /* 3s in millisecs */
 +	cfg->do_tcp_keepalive = 0;
 +	cfg->tcp_keepalive_timeout = 120 * 1000; /* 120s in millisecs */
 +	cfg->sock_queue_timeout = 0; /* do not check timeout */
 +	cfg->ssl_service_key = NULL;
 +	cfg->ssl_service_pem = NULL;
 +	cfg->ssl_port = UNBOUND_DNS_OVER_TLS_PORT;
 +	cfg->ssl_upstream = 0;
 +	cfg->tls_cert_bundle = NULL;
 +	cfg->tls_win_cert = 0;
 +	cfg->tls_use_sni = 1;
 +	cfg->https_port = UNBOUND_DNS_OVER_HTTPS_PORT;
 +	if(!(cfg->http_endpoint = strdup("/dns-query"))) goto error_exit;
 +	cfg->http_max_streams = 100;
 +	cfg->http_query_buffer_size = 4*1024*1024;
 +	cfg->http_response_buffer_size = 4*1024*1024;
 +	cfg->http_nodelay = 1;
 +	cfg->quic_port = UNBOUND_DNS_OVER_QUIC_PORT;
 +	cfg->quic_size = 8*1024*1024;
 +	cfg->use_syslog = 1;
 +	cfg->log_identity = NULL; /* changed later with argv[0] */
 +	cfg->log_time_ascii = 0;
 +	cfg->log_time_iso = 0;
 +	cfg->log_queries = 0;
 +	cfg->log_replies = 0;
 +	cfg->log_tag_queryreply = 0;
 +	cfg->log_local_actions = 0;
 +	cfg->log_servfail = 0;
 +	cfg->log_destaddr = 0;
 +#ifndef USE_WINSOCK
 +#  ifdef USE_MINI_EVENT
 +	/* select max 1024 sockets */
 +	cfg->outgoing_num_ports = 960;
 +	cfg->num_queries_per_thread = 512;
 +#  else
 +	/* libevent can use many sockets */
 +	cfg->outgoing_num_ports = 4096;
 +	cfg->num_queries_per_thread = 1024;
 +#  endif
 +	cfg->outgoing_num_tcp = 10;
 +	cfg->incoming_num_tcp = 10;
 +#else
 +	cfg->outgoing_num_ports = 48; /* windows is limited in num fds */
 +	cfg->num_queries_per_thread = 24;
 +	cfg->outgoing_num_tcp = 2; /* leaves 64-52=12 for: 4if,1stop,thread4 */
 +	cfg->incoming_num_tcp = 2;
 +#endif
 +	cfg->stream_wait_size = 4 * 1024 * 1024;
 +	cfg->edns_buffer_size = 1232; /* from DNS flagday recommendation */
 +	cfg->msg_buffer_size = 65552; /* 64 k + a small margin */
 +	cfg->msg_cache_size = 4 * 1024 * 1024;
 +	cfg->msg_cache_slabs = 4;
 +	cfg->jostle_time = 200;
 +	cfg->rrset_cache_size = 4 * 1024 * 1024;
 +	cfg->rrset_cache_slabs = 4;
 +	cfg->host_ttl = 900;
 +	cfg->bogus_ttl = 60;
 +	cfg->min_ttl = 0;
 +	cfg->max_ttl = 3600 * 24;
 +	cfg->max_negative_ttl = 3600;
 +	cfg->min_negative_ttl = 0;
 +	cfg->prefetch = 0;
 +	cfg->prefetch_key = 0;
 +	cfg->deny_any = 0;
 +	cfg->infra_cache_slabs = 4;
 +	cfg->infra_cache_numhosts = 10000;
 +	cfg->infra_cache_min_rtt = 50;
 +	cfg->infra_cache_max_rtt = 120000;
 +	cfg->infra_keep_probing = 0;
 +	cfg->delay_close = 0;
 +	cfg->udp_connect = 1;
 +	if(!(cfg->outgoing_avail_ports = (int*)calloc(65536, sizeof(int))))
 +		goto error_exit;
 +	init_outgoing_availports(cfg->outgoing_avail_ports, 65536);
 +	if(!(cfg->username = strdup(UB_USERNAME))) goto error_exit;
 +#ifdef HAVE_CHROOT
 +	if(!(cfg->chrootdir = strdup(CHROOT_DIR))) goto error_exit;
 +#endif
 +	if(!(cfg->directory = strdup(RUN_DIR))) goto error_exit;
 +	if(!(cfg->logfile = strdup(""))) goto error_exit;
 +	if(!(cfg->pidfile = strdup(PIDFILE))) goto error_exit;
 +	if(!(cfg->target_fetch_policy = strdup("3 2 1 0 0"))) goto error_exit;
 +	cfg->fast_server_permil = 0;
 +	cfg->fast_server_num = 3;
 +	cfg->donotqueryaddrs = NULL;
 +	cfg->donotquery_localhost = 1;
 +	cfg->root_hints = NULL;
*** 3168 LINES SKIPPED ***