Merge ~lvoytek/ubuntu/+source/bind9:mre-9.18.24-mantic into ubuntu/+source/bind9:ubuntu/mantic-devel

Proposed by Lena Voytek
Status: Needs review
Proposed branch: ~lvoytek/ubuntu/+source/bind9:mre-9.18.24-mantic
Merge into: ubuntu/+source/bind9:ubuntu/mantic-devel
Diff against target: 132182 lines (+42515/-34605)
713 files modified
CHANGES (+186/-0)
CONTRIBUTING.md (+1/-16)
ChangeLog (+186/-0)
Makefile.in (+8/-10)
NEWS (+186/-0)
README.md (+3/-11)
SECURITY.md (+35/-0)
aclocal.m4 (+325/-122)
ar-lib (+1/-1)
bin/Makefile.in (+6/-7)
bin/check/Makefile.in (+6/-7)
bin/confgen/Makefile.in (+6/-7)
bin/delv/Makefile.in (+6/-7)
bin/dig/Makefile.in (+6/-7)
bin/dig/dighost.c (+2/-0)
bin/dnssec/Makefile.in (+6/-7)
bin/dnssec/dnssec-signzone.c (+1/-1)
bin/named/Makefile.in (+6/-7)
bin/named/config.c (+2/-2)
bin/named/os.c (+11/-10)
bin/named/server.c (+21/-19)
bin/nsupdate/Makefile.in (+6/-7)
bin/nsupdate/nsupdate.c (+27/-16)
bin/plugins/Makefile.in (+6/-7)
bin/rndc/Makefile.in (+6/-7)
bin/rndc/rndc.rst (+3/-1)
bin/tests/Makefile.in (+6/-7)
bin/tests/system/Makefile.am (+52/-76)
bin/tests/system/Makefile.in (+420/-335)
bin/tests/system/README (+25/-10)
bin/tests/system/acl/ns2/named1.conf.in (+1/-1)
bin/tests/system/acl/ns2/named2.conf.in (+1/-1)
bin/tests/system/acl/ns2/named3.conf.in (+1/-1)
bin/tests/system/acl/ns2/named4.conf.in (+1/-1)
bin/tests/system/acl/ns2/named5.conf.in (+1/-1)
bin/tests/system/acl/tests.sh (+106/-53)
bin/tests/system/additional/ns1/named1.conf.in (+1/-1)
bin/tests/system/additional/ns1/named2.conf.in (+1/-1)
bin/tests/system/additional/ns1/named3.conf.in (+1/-1)
bin/tests/system/additional/ns1/named4.conf.in (+1/-1)
bin/tests/system/additional/tests.sh (+272/-246)
bin/tests/system/addzone/ns1/named.conf.in (+1/-1)
bin/tests/system/addzone/ns2/named1.conf.in (+2/-2)
bin/tests/system/addzone/ns2/named2.conf.in (+3/-3)
bin/tests/system/addzone/ns2/named3.conf.in (+4/-4)
bin/tests/system/addzone/ns3/named1.conf.in (+1/-1)
bin/tests/system/addzone/ns3/named2.conf.in (+1/-1)
bin/tests/system/addzone/tests.sh (+261/-260)
bin/tests/system/addzone/tests_rndc_deadlock.py (+1/-1)
bin/tests/system/allow-query/ns2/named01.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named02.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named03.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named04.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named05.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named06.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named07.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named08.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named09.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named10.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named11.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named12.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named21.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named22.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named23.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named24.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named25.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named26.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named27.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named28.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named29.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named30.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named31.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named32.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named33.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named34.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named40.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named53.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named54.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named55.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named56.conf.in (+1/-1)
bin/tests/system/allow-query/ns2/named57.conf.in (+1/-1)
bin/tests/system/allow-query/ns3/named1.conf.in (+1/-1)
bin/tests/system/allow-query/ns3/named2.conf.in (+1/-1)
bin/tests/system/allow-query/ns3/named3.conf.in (+1/-1)
bin/tests/system/allow-query/ns3/named4.conf.in (+1/-1)
bin/tests/system/allow-query/setup.sh (+4/-4)
bin/tests/system/allow-query/tests.sh (+209/-210)
bin/tests/system/allow-query/tests_sh_allow_query.py (+1/-1)
bin/tests/system/auth/tests.sh (+70/-72)
bin/tests/system/autosign/ns1/keygen.sh (+13/-13)
bin/tests/system/autosign/ns2/keygen.sh (+17/-19)
bin/tests/system/autosign/ns2/named.conf.in (+1/-1)
bin/tests/system/autosign/ns3/keygen.sh (+155/-147)
bin/tests/system/autosign/ns3/named.conf.in (+10/-1)
bin/tests/system/autosign/ns3/nsec3-to-nsec3.example.db.in (+26/-0)
bin/tests/system/autosign/ns4/named.conf.in (+1/-1)
bin/tests/system/autosign/ns5/named.conf.in (+1/-1)
bin/tests/system/autosign/tests.sh (+589/-548)
bin/tests/system/builtin/ns1/named.conf.in (+1/-1)
bin/tests/system/builtin/ns2/named.conf.in (+1/-1)
bin/tests/system/builtin/ns3/named.conf.in (+1/-1)
bin/tests/system/builtin/tests.sh (+93/-54)
bin/tests/system/cacheclean/ns2/named.conf.in (+1/-1)
bin/tests/system/cacheclean/tests.sh (+61/-49)
bin/tests/system/case/tests.sh (+28/-30)
bin/tests/system/catz/ns1/named.conf.in (+1/-1)
bin/tests/system/catz/ns2/named1.conf.in (+1/-1)
bin/tests/system/catz/ns2/named2.conf.in (+1/-1)
bin/tests/system/catz/ns3/named.conf.in (+1/-1)
bin/tests/system/catz/ns4/named.conf.in (+1/-1)
bin/tests/system/catz/tests.sh (+925/-930)
bin/tests/system/cds/setup.sh (+24/-24)
bin/tests/system/cds/tests.sh (+35/-31)
bin/tests/system/chain/ans3/ans.pl (+14/-2)
bin/tests/system/chain/ns2/sign.sh (+5/-5)
bin/tests/system/chain/ns5/named.conf.in (+1/-1)
bin/tests/system/chain/prereq.sh (+31/-0)
bin/tests/system/chain/tests.sh (+129/-129)
bin/tests/system/checkconf/deprecated.conf (+7/-2)
bin/tests/system/checkconf/tests.sh (+405/-265)
bin/tests/system/checkds/ns1/setup.sh (+6/-6)
bin/tests/system/checkds/ns2/named.conf.in (+1/-1)
bin/tests/system/checkds/ns2/setup.sh (+10/-11)
bin/tests/system/checkds/ns3/named.conf.in (+1/-1)
bin/tests/system/checkds/ns5/named.conf.in (+1/-1)
bin/tests/system/checkds/ns5/setup.sh (+4/-4)
bin/tests/system/checkds/ns6/named.conf.in (+1/-1)
bin/tests/system/checkds/ns7/named.conf.in (+1/-1)
bin/tests/system/checkds/ns9/named.conf.in (+1/-1)
bin/tests/system/checkds/ns9/setup.sh (+25/-27)
bin/tests/system/checkds/setup.sh (+8/-8)
bin/tests/system/checkds/tests_checkds.py (+5/-0)
bin/tests/system/checknames/tests.sh (+47/-47)
bin/tests/system/checkzone/setup.sh (+1/-1)
bin/tests/system/checkzone/tests.sh (+88/-90)
bin/tests/system/ckdnsrps.sh (+64/-59)
bin/tests/system/cleanall.sh (+7/-10)
bin/tests/system/conf.sh.common (+7/-7)
bin/tests/system/conf.sh.in (+9/-9)
bin/tests/system/conftest.py (+601/-572)
bin/tests/system/convert-junit-to-trs.py (+70/-0)
bin/tests/system/cookie/prereq.sh (+21/-0)
bin/tests/system/cookie/tests.sh (+207/-210)
bin/tests/system/custom-test-driver (+69/-42)
bin/tests/system/database/tests.sh (+10/-11)
bin/tests/system/dialup/tests.sh (+19/-23)
bin/tests/system/digdelv/ns2/named.conf.in (+1/-1)
bin/tests/system/digdelv/ns2/sign.sh (+5/-5)
bin/tests/system/digdelv/ns3/named.conf.in (+1/-1)
bin/tests/system/digdelv/prereq.sh (+26/-0)
bin/tests/system/digdelv/tests.sh (+639/-639)
bin/tests/system/dispatch/ns2/named.conf.in (+1/-1)
bin/tests/system/dlzexternal/driver/Makefile.am (+1/-1)
bin/tests/system/dlzexternal/driver/Makefile.in (+16/-16)
bin/tests/system/dlzexternal/prereq.sh (+2/-2)
bin/tests/system/dlzexternal/setup.sh (+1/-1)
bin/tests/system/dlzexternal/tests.sh (+72/-72)
bin/tests/system/dns64/ns1/named.conf1.in (+1/-1)
bin/tests/system/dns64/ns1/named.conf2.in (+1/-1)
bin/tests/system/dns64/ns1/named.conf3.in (+1/-1)
bin/tests/system/dns64/ns1/sign.sh (+2/-2)
bin/tests/system/dns64/ns2/named.conf.in (+1/-1)
bin/tests/system/dns64/tests.sh (+484/-488)
bin/tests/system/dnssec/ns1/sign.sh (+10/-10)
bin/tests/system/dnssec/ns2/named.conf.in (+1/-1)
bin/tests/system/dnssec/ns2/sign.sh (+71/-73)
bin/tests/system/dnssec/ns3/named.conf.in (+1/-1)
bin/tests/system/dnssec/ns3/secure.example.db.in (+5/-0)
bin/tests/system/dnssec/ns3/sign.sh (+163/-162)
bin/tests/system/dnssec/ns4/named1.conf.in (+1/-1)
bin/tests/system/dnssec/ns4/named2.conf.in (+1/-1)
bin/tests/system/dnssec/ns4/named3.conf.in (+1/-1)
bin/tests/system/dnssec/ns4/named4.conf.in (+1/-1)
bin/tests/system/dnssec/ns5/named1.conf.in (+1/-1)
bin/tests/system/dnssec/ns5/sign.sh (+6/-6)
bin/tests/system/dnssec/ns6/named.conf.in (+1/-1)
bin/tests/system/dnssec/ns6/sign.sh (+2/-2)
bin/tests/system/dnssec/ns7/named.conf.in (+1/-1)
bin/tests/system/dnssec/ns7/sign.sh (+3/-3)
bin/tests/system/dnssec/ns8/named.conf.in (+1/-1)
bin/tests/system/dnssec/prereq.sh (+26/-0)
bin/tests/system/dnssec/setup.sh (+11/-11)
bin/tests/system/dnssec/tests.sh (+2160/-2146)
bin/tests/system/dnstap/clean.sh (+1/-1)
bin/tests/system/dnstap/ns2/named.conf.in (+1/-1)
bin/tests/system/dnstap/ns3/named.conf.in (+1/-1)
bin/tests/system/dnstap/ns4/named.conf.in (+1/-1)
bin/tests/system/dnstap/prereq.sh (+2/-2)
bin/tests/system/dnstap/tests.sh (+446/-422)
bin/tests/system/dnstap/tests_dnstap.py (+1/-1)
bin/tests/system/doth/ns1/named.conf.in (+26/-1)
bin/tests/system/doth/ns2/named.conf.in (+2/-2)
bin/tests/system/doth/ns3/named.conf.in (+2/-2)
bin/tests/system/doth/ns4/named.conf.in (+2/-2)
bin/tests/system/doth/ns5/named.conf.in (+83/-0)
bin/tests/system/doth/prereq.sh (+2/-2)
bin/tests/system/doth/setup.sh (+8/-7)
bin/tests/system/doth/stress_http_quota.py (+2/-2)
bin/tests/system/doth/tests.sh (+354/-323)
bin/tests/system/dsdigest/ns1/sign.sh (+3/-3)
bin/tests/system/dsdigest/ns2/named.conf.in (+1/-1)
bin/tests/system/dsdigest/ns2/sign.sh (+6/-7)
bin/tests/system/dsdigest/ns3/named.conf.in (+1/-1)
bin/tests/system/dsdigest/ns4/named.conf.in (+1/-1)
bin/tests/system/dsdigest/tests.sh (+11/-11)
bin/tests/system/dupsigs/ns1/reset_keys.sh (+3/-4)
bin/tests/system/dupsigs/setup.sh (+4/-1)
bin/tests/system/dupsigs/tests.sh (+19/-20)
bin/tests/system/dyndb/driver/Makefile.am (+1/-1)
bin/tests/system/dyndb/driver/Makefile.in (+16/-16)
bin/tests/system/dyndb/prereq.sh (+3/-3)
bin/tests/system/dyndb/tests.sh (+74/-76)
bin/tests/system/ecdsa/ns1/sign.sh (+17/-17)
bin/tests/system/ecdsa/ns2/named.conf.in (+1/-1)
bin/tests/system/ecdsa/ns3/named.conf.in (+1/-1)
bin/tests/system/ecdsa/setup.sh (+4/-4)
bin/tests/system/ecdsa/tests.sh (+21/-21)
bin/tests/system/eddsa/ns1/sign.sh (+17/-17)
bin/tests/system/eddsa/ns2/named.conf.in (+1/-1)
bin/tests/system/eddsa/ns2/sign.sh (+6/-7)
bin/tests/system/eddsa/ns3/named.conf.in (+1/-1)
bin/tests/system/eddsa/ns3/sign.sh (+6/-7)
bin/tests/system/eddsa/prereq.sh (+2/-2)
bin/tests/system/eddsa/setup.sh (+8/-8)
bin/tests/system/eddsa/tests.sh (+50/-50)
bin/tests/system/ednscompliance/tests.sh (+109/-34)
bin/tests/system/emptyzones/tests.sh (+5/-5)
bin/tests/system/enginepkcs11/prereq.sh (+1/-1)
bin/tests/system/enginepkcs11/setup.sh (+80/-83)
bin/tests/system/enginepkcs11/tests.sh (+115/-118)
bin/tests/system/fetchlimit/prereq.sh (+21/-0)
bin/tests/system/fetchlimit/tests.sh (+99/-90)
bin/tests/system/filter-aaaa/ns1/sign.sh (+4/-4)
bin/tests/system/filter-aaaa/ns4/sign.sh (+3/-3)
bin/tests/system/filter-aaaa/tests.sh (+500/-515)
bin/tests/system/formerr/tests.sh (+12/-12)
bin/tests/system/forward/ns1/sign.sh (+3/-3)
bin/tests/system/forward/prereq.sh (+26/-0)
bin/tests/system/forward/setup.sh (+2/-2)
bin/tests/system/forward/tests.sh (+159/-159)
bin/tests/system/genzone.sh (+2/-3)
bin/tests/system/geoip2/prereq.sh (+2/-2)
bin/tests/system/geoip2/setup.sh (+2/-2)
bin/tests/system/geoip2/tests.sh (+103/-116)
bin/tests/system/get_core_dumps.sh (+33/-33)
bin/tests/system/get_ports.sh (+23/-20)
bin/tests/system/glue/tests.sh (+1/-1)
bin/tests/system/hooks/driver/Makefile.am (+1/-1)
bin/tests/system/hooks/driver/Makefile.in (+16/-16)
bin/tests/system/host/tests.sh (+33/-33)
bin/tests/system/idna/tests.sh (+247/-251)
bin/tests/system/ifconfig.sh.in (+195/-197)
bin/tests/system/include-multiplecfg/setup.sh (+1/-1)
bin/tests/system/include-multiplecfg/tests.sh (+13/-10)
bin/tests/system/inline/clean.sh (+13/-13)
bin/tests/system/inline/ns1/sign.sh (+2/-2)
bin/tests/system/inline/ns2/named.conf.in (+1/-1)
bin/tests/system/inline/ns3/named.conf.in (+1/-1)
bin/tests/system/inline/ns3/sign.sh (+37/-40)
bin/tests/system/inline/ns5/named.conf.post (+1/-1)
bin/tests/system/inline/ns5/named.conf.pre (+1/-1)
bin/tests/system/inline/ns6/named.conf.in (+2/-2)
bin/tests/system/inline/ns7/named.conf.in (+1/-1)
bin/tests/system/inline/ns8/named.conf.in (+1/-1)
bin/tests/system/inline/ns8/sign.sh (+4/-5)
bin/tests/system/inline/setup.sh (+16/-4)
bin/tests/system/inline/tests.sh (+550/-550)
bin/tests/system/integrity/ns1/named.conf.in (+1/-1)
bin/tests/system/integrity/tests.sh (+36/-36)
bin/tests/system/isctest/__init__.py (+2/-3)
bin/tests/system/isctest/check.py (+34/-0)
bin/tests/system/isctest/query.py (+35/-0)
bin/tests/system/ixfr/prereq.sh (+21/-0)
bin/tests/system/ixfr/setup.sh (+16/-16)
bin/tests/system/ixfr/tests.sh (+95/-94)
bin/tests/system/journal/setup.sh (+1/-1)
bin/tests/system/journal/tests.sh (+52/-54)
bin/tests/system/kasp.sh (+902/-905)
bin/tests/system/kasp/clean.sh (+1/-0)
bin/tests/system/kasp/ns3/named-fips.conf.in (+21/-0)
bin/tests/system/kasp/ns3/setup.sh (+396/-378)
bin/tests/system/kasp/ns4/setup.sh (+6/-7)
bin/tests/system/kasp/ns5/setup.sh (+6/-7)
bin/tests/system/kasp/ns6/setup.sh (+187/-188)
bin/tests/system/kasp/setup.sh (+21/-23)
bin/tests/system/kasp/tests.sh (+1252/-1235)
bin/tests/system/keepalive/ns2/named.conf.in (+1/-1)
bin/tests/system/keepalive/ns3/named.conf.in (+1/-1)
bin/tests/system/keepalive/tests.sh (+20/-20)
bin/tests/system/keyfromlabel/prereq.sh (+1/-1)
bin/tests/system/keyfromlabel/setup.sh (+1/-1)
bin/tests/system/keyfromlabel/tests.sh (+58/-60)
bin/tests/system/keymgr2kasp/clean.sh (+0/-1)
bin/tests/system/keymgr2kasp/ns3/setup.sh (+56/-56)
bin/tests/system/keymgr2kasp/ns4/setup.sh (+5/-5)
bin/tests/system/keymgr2kasp/setup.sh (+4/-4)
bin/tests/system/keymgr2kasp/tests.sh (+301/-304)
bin/tests/system/legacy.run.sh.in (+124/-185)
bin/tests/system/legacy/ns6/sign.sh (+3/-3)
bin/tests/system/legacy/ns7/sign.sh (+4/-4)
bin/tests/system/legacy/tests.sh (+94/-94)
bin/tests/system/limits/tests.sh (+10/-10)
bin/tests/system/logfileconfig/named1.args (+1/-1)
bin/tests/system/logfileconfig/named2.args (+1/-1)
bin/tests/system/logfileconfig/tests.sh (+119/-123)
bin/tests/system/masterfile/ns2/named.conf.in (+1/-1)
bin/tests/system/masterfile/tests.sh (+5/-5)
bin/tests/system/masterformat/ns1/compile.sh (+11/-11)
bin/tests/system/masterformat/setup.sh (+1/-1)
bin/tests/system/masterformat/tests.sh (+117/-118)
bin/tests/system/metadata/setup.sh (+12/-13)
bin/tests/system/metadata/tests.sh (+40/-40)
bin/tests/system/mirror/ns1/sign.sh (+7/-7)
bin/tests/system/mirror/ns2/sign.sh (+35/-35)
bin/tests/system/mirror/ns3/named.conf.in (+1/-1)
bin/tests/system/mirror/setup.sh (+3/-3)
bin/tests/system/mirror/tests.sh (+194/-194)
bin/tests/system/mkeys/ns1/sign.sh (+12/-12)
bin/tests/system/mkeys/ns2/named.conf.in (+1/-1)
bin/tests/system/mkeys/ns3/named.conf.in (+1/-1)
bin/tests/system/mkeys/ns4/named.conf.in (+1/-1)
bin/tests/system/mkeys/ns4/sign.sh (+2/-2)
bin/tests/system/mkeys/ns5/named.conf.in (+1/-1)
bin/tests/system/mkeys/ns6/named.conf.in (+1/-1)
bin/tests/system/mkeys/ns6/setup.sh (+1/-1)
bin/tests/system/mkeys/ns7/named.conf.in (+2/-2)
bin/tests/system/mkeys/setup.sh (+5/-5)
bin/tests/system/mkeys/tests.sh (+275/-241)
bin/tests/system/names/tests.sh (+14/-11)
bin/tests/system/notify/ns2/named.conf.in (+1/-1)
bin/tests/system/notify/ns3/named.conf.in (+1/-1)
bin/tests/system/notify/ns4/named.conf.in (+1/-1)
bin/tests/system/notify/tests.sh (+59/-62)
bin/tests/system/nsec3/ns3/setup.sh (+32/-32)
bin/tests/system/nsec3/setup.sh (+4/-4)
bin/tests/system/nsec3/tests.sh (+217/-219)
bin/tests/system/nslookup/tests.sh (+46/-46)
bin/tests/system/nsupdate/krb/setup.sh (+2/-3)
bin/tests/system/nsupdate/ns3/sign.sh (+3/-3)
bin/tests/system/nsupdate/prereq.sh (+21/-0)
bin/tests/system/nsupdate/setup.sh (+28/-25)
bin/tests/system/nsupdate/tests.sh (+1156/-764)
bin/tests/system/nzd2nzf/prereq.sh (+2/-2)
bin/tests/system/nzd2nzf/tests.sh (+22/-22)
bin/tests/system/padding/ns2/named.conf.in (+1/-1)
bin/tests/system/padding/ns3/named.conf.in (+1/-1)
bin/tests/system/padding/ns4/named.conf.in (+1/-1)
bin/tests/system/padding/tests.sh (+37/-31)
bin/tests/system/parallel.sh (+4/-4)
bin/tests/system/pending/ns1/sign.sh (+4/-4)
bin/tests/system/pending/ns2/named.conf.in (+1/-1)
bin/tests/system/pending/ns2/sign.sh (+8/-8)
bin/tests/system/pending/ns3/named.conf.in (+1/-1)
bin/tests/system/pending/ns4/named.conf.in (+1/-1)
bin/tests/system/pending/tests.sh (+18/-19)
bin/tests/system/pipelined/ns2/named.conf.in (+1/-1)
bin/tests/system/pipelined/ns3/named.conf.in (+1/-1)
bin/tests/system/pipelined/ns4/named.conf.in (+1/-1)
bin/tests/system/pipelined/tests.sh (+31/-19)
bin/tests/system/pytest_custom_markers.py (+18/-0)
bin/tests/system/qmin/ns5/named.conf.in (+1/-1)
bin/tests/system/qmin/ns6/named.conf.in (+1/-1)
bin/tests/system/qmin/ns7/named.conf.in (+1/-1)
bin/tests/system/qmin/prereq.sh (+21/-0)
bin/tests/system/qmin/tests.sh (+175/-175)
bin/tests/system/qmin/tests_sh_qmin.py (+4/-0)
bin/tests/system/reclimit/ans7/ans.pl (+14/-2)
bin/tests/system/reclimit/prereq.sh (+26/-0)
bin/tests/system/reclimit/tests.sh (+103/-88)
bin/tests/system/reclimit/tests_sh_reclimit.py (+4/-0)
bin/tests/system/redirect/ns1/sign.sh (+4/-4)
bin/tests/system/redirect/ns2/named.conf.in (+1/-1)
bin/tests/system/redirect/ns3/sign.sh (+4/-4)
bin/tests/system/redirect/ns5/sign.sh (+8/-8)
bin/tests/system/redirect/setup.sh (+3/-3)
bin/tests/system/redirect/tests.sh (+190/-192)
bin/tests/system/resolver/ns6/keygen.sh (+5/-5)
bin/tests/system/resolver/prereq.sh (+21/-0)
bin/tests/system/resolver/tests.sh (+525/-492)
bin/tests/system/rndc/ns2/named.conf.in (+1/-1)
bin/tests/system/rndc/ns3/named.conf.in (+1/-1)
bin/tests/system/rndc/ns5/named.conf.in (+1/-1)
bin/tests/system/rndc/setup.sh (+8/-8)
bin/tests/system/rndc/tests.sh (+352/-337)
bin/tests/system/rndc/tests_cve-2023-3341.py (+57/-0)
bin/tests/system/rootkeysentinel/ns1/sign.sh (+4/-4)
bin/tests/system/rootkeysentinel/ns2/sign.sh (+11/-11)
bin/tests/system/rootkeysentinel/tests.sh (+104/-104)
bin/tests/system/rpz/clean.sh (+22/-19)
bin/tests/system/rpz/qperf.sh (+5/-5)
bin/tests/system/rpz/setup.sh (+37/-31)
bin/tests/system/rpz/tests.sh (+546/-536)
bin/tests/system/rpzextra/ns3/named.args (+1/-1)
bin/tests/system/rpzrecurse/ns3/named1.conf.in (+1/-1)
bin/tests/system/rpzrecurse/ns3/named2.conf.in (+1/-1)
bin/tests/system/rpzrecurse/ns3/named3.conf.in (+1/-1)
bin/tests/system/rpzrecurse/prereq.sh (+21/-0)
bin/tests/system/rpzrecurse/setup.sh (+31/-27)
bin/tests/system/rpzrecurse/tests.sh (+168/-162)
bin/tests/system/rrchecker/tests.sh (+54/-41)
bin/tests/system/rrl/clean.sh (+1/-1)
bin/tests/system/rrl/tests.sh (+143/-142)
bin/tests/system/rrl/tests_sh_rrl.py (+4/-0)
bin/tests/system/rrsetorder/ns3/named.conf.in (+1/-1)
bin/tests/system/rrsetorder/ns4/named.conf.in (+1/-1)
bin/tests/system/rrsetorder/ns5/named.conf.in (+1/-1)
bin/tests/system/rrsetorder/tests.sh (+209/-243)
bin/tests/system/rsabigexponent/bigkey.c (+3/-0)
bin/tests/system/rsabigexponent/ns1/sign.sh (+3/-3)
bin/tests/system/rsabigexponent/ns2/named.conf.in (+1/-1)
bin/tests/system/rsabigexponent/ns2/sign.sh (+4/-5)
bin/tests/system/rsabigexponent/ns3/named.conf.in (+1/-1)
bin/tests/system/rsabigexponent/tests.sh (+17/-19)
bin/tests/system/run.sh (+6/-3)
bin/tests/system/runall.sh (+33/-33)
bin/tests/system/runsequential.sh (+2/-3)
bin/tests/system/runtime/tests.sh (+108/-104)
bin/tests/system/serve-stale/ns1/root.db (+2/-0)
bin/tests/system/serve-stale/ns3/named.conf.in (+27/-8)
bin/tests/system/serve-stale/ns3/serve.stale.db (+18/-0)
bin/tests/system/serve-stale/ns6/named.conf.in (+44/-0)
bin/tests/system/serve-stale/ns6/serve.stale.db (+16/-0)
bin/tests/system/serve-stale/ns6/stale.db (+17/-0)
bin/tests/system/serve-stale/prereq.sh (+21/-0)
bin/tests/system/serve-stale/setup.sh (+2/-1)
bin/tests/system/serve-stale/tests.sh (+1290/-1236)
bin/tests/system/setup.sh (+10/-7)
bin/tests/system/sfcache/ns1/sign.sh (+5/-5)
bin/tests/system/sfcache/ns2/named.conf.in (+1/-1)
bin/tests/system/sfcache/ns2/sign.sh (+2/-2)
bin/tests/system/sfcache/ns5/named.conf.in (+1/-1)
bin/tests/system/sfcache/ns5/sign.sh (+1/-1)
bin/tests/system/sfcache/tests.sh (+40/-40)
bin/tests/system/shutdown/tests_shutdown.py (+3/-3)
bin/tests/system/smartsign/tests.sh (+181/-130)
bin/tests/system/sortlist/tests.sh (+9/-9)
bin/tests/system/spf/tests.sh (+12/-13)
bin/tests/system/start.pl (+6/-15)
bin/tests/system/staticstub/ns2/named.conf.in (+1/-1)
bin/tests/system/staticstub/ns3/sign.sh (+7/-7)
bin/tests/system/staticstub/ns4/sign.sh (+2/-2)
bin/tests/system/staticstub/setup.sh (+2/-2)
bin/tests/system/staticstub/tests.sh (+70/-74)
bin/tests/system/statistics/ns2/named.conf.in (+1/-1)
bin/tests/system/statistics/ns2/named2.conf.in (+1/-1)
bin/tests/system/statistics/prereq.sh (+21/-0)
bin/tests/system/statistics/tests.sh (+99/-99)
bin/tests/system/statschannel/clean.sh (+3/-1)
bin/tests/system/statschannel/conftest.py (+3/-11)
bin/tests/system/statschannel/generic.py (+134/-11)
bin/tests/system/statschannel/ns2/sign.sh (+10/-10)
bin/tests/system/statschannel/prereq.sh (+26/-0)
bin/tests/system/statschannel/setup.sh (+1/-1)
bin/tests/system/statschannel/tests.sh (+354/-269)
bin/tests/system/statschannel/tests_json.py (+5/-8)
bin/tests/system/statschannel/tests_xml.py (+5/-8)
bin/tests/system/stop.pl (+1/-1)
bin/tests/system/stopall.sh (+2/-3)
bin/tests/system/stress/clean.sh (+0/-6)
bin/tests/system/stress/ns2/named.conf.in (+27/-4)
bin/tests/system/stress/ns2/zone.template.db (+21/-0)
bin/tests/system/stress/ns3/named.conf.in (+30/-6)
bin/tests/system/stress/ns4/named.conf.in (+26/-4)
bin/tests/system/stress/prereq.sh (+21/-0)
bin/tests/system/stress/setup.sh (+5/-6)
bin/tests/system/stress/tests_stress_update.py (+79/-0)
bin/tests/system/stub/ns2/named.conf.in (+1/-1)
bin/tests/system/stub/ns3/named.conf.in (+1/-1)
bin/tests/system/stub/ns5/named.conf.in (+1/-1)
bin/tests/system/stub/tests.sh (+58/-46)
bin/tests/system/synthfromdnssec/ns1/sign.sh (+15/-15)
bin/tests/system/synthfromdnssec/setup.sh (+2/-2)
bin/tests/system/synthfromdnssec/tests.sh (+732/-743)
bin/tests/system/tcp/ns2/named.conf.in (+1/-1)
bin/tests/system/tcp/ns3/named.conf.in (+1/-1)
bin/tests/system/tcp/ns4/named.conf.in (+1/-1)
bin/tests/system/tcp/ns5/named.conf.in (+1/-1)
bin/tests/system/tcp/tests.sh (+32/-32)
bin/tests/system/testcrypto.sh (+58/-59)
bin/tests/system/testsummary.sh (+23/-23)
bin/tests/system/timeouts/ns1/named.conf.in (+1/-1)
bin/tests/system/timeouts/prereq.sh (+9/-11)
bin/tests/system/timeouts/setup.sh (+1/-1)
bin/tests/system/timeouts/tests_tcp_timeouts.py (+1/-0)
bin/tests/system/tkey/tests.sh (+93/-94)
bin/tests/system/tools/tests.sh (+78/-40)
bin/tests/system/transport-acl/ns1/named.conf.in (+1/-1)
bin/tests/system/transport-acl/setup.sh (+1/-1)
bin/tests/system/transport-acl/tests.sh (+20/-20)
bin/tests/system/tsig/setup.sh (+2/-3)
bin/tests/system/tsig/tests.sh (+187/-163)
bin/tests/system/tsiggss/prereq.sh (+3/-3)
bin/tests/system/tsiggss/setup.sh (+1/-1)
bin/tests/system/tsiggss/tests.sh (+73/-72)
bin/tests/system/ttl/ns1/named.conf.in (+1/-1)
bin/tests/system/unknown/setup.sh (+4/-1)
bin/tests/system/unknown/tests.sh (+118/-117)
bin/tests/system/upforwd/prereq.sh (+21/-0)
bin/tests/system/upforwd/setup.sh (+9/-12)
bin/tests/system/upforwd/tests.sh (+163/-122)
bin/tests/system/verify/tests.sh (+73/-75)
bin/tests/system/verify/zones/genzones.sh (+110/-110)
bin/tests/system/views/ns2/named1.conf.in (+1/-1)
bin/tests/system/views/ns2/named2.conf.in (+2/-2)
bin/tests/system/views/ns3/named1.conf.in (+1/-1)
bin/tests/system/views/ns3/named2.conf.in (+1/-1)
bin/tests/system/views/ns5/named.conf.in (+1/-1)
bin/tests/system/views/setup.sh (+6/-6)
bin/tests/system/views/tests.sh (+51/-43)
bin/tests/system/wildcard/ns1/sign.sh (+22/-22)
bin/tests/system/wildcard/ns2/named.conf.in (+1/-1)
bin/tests/system/wildcard/ns3/named.conf.in (+1/-1)
bin/tests/system/wildcard/ns5/named.conf.in (+1/-1)
bin/tests/system/wildcard/tests.sh (+112/-102)
bin/tests/system/xfer/ns1/named1.conf.in (+1/-1)
bin/tests/system/xfer/ns1/named2.conf.in (+1/-1)
bin/tests/system/xfer/ns1/named3.conf.in (+1/-1)
bin/tests/system/xfer/ns2/named.conf.in (+1/-1)
bin/tests/system/xfer/ns3/named.conf.in (+1/-1)
bin/tests/system/xfer/ns6/named.conf.in (+2/-2)
bin/tests/system/xfer/ns7/named.conf.in (+2/-2)
bin/tests/system/xfer/ns8/named.conf.in (+1/-1)
bin/tests/system/xfer/prereq.sh (+9/-5)
bin/tests/system/xfer/setup.sh (+3/-3)
bin/tests/system/xfer/tests.sh (+210/-211)
bin/tests/system/xferquota/ns2/named.conf.in (+1/-1)
bin/tests/system/xferquota/tests.sh (+19/-19)
bin/tests/system/zero/prereq.sh (+21/-0)
bin/tests/system/zero/setup.sh (+1/-1)
bin/tests/system/zero/tests.sh (+95/-67)
bin/tests/system/zonechecks/setup.sh (+10/-10)
bin/tests/system/zonechecks/tests.sh (+124/-129)
bin/tests/wire_test.c (+1/-1)
bin/tools/Makefile.in (+6/-7)
bin/tools/dnstap-read.c (+0/-13)
compile (+1/-1)
config.guess (+887/-613)
config.h.in (+81/-22)
config.sub (+1349/-1260)
configure (+8237/-5845)
configure.ac (+1/-24)
contrib/dlz/modules/common/dlz_dbi.c (+1/-1)
contrib/scripts/zone-edit.sh.in (+100/-108)
debian/changelog (+45/-0)
debian/patches/always-use-standard-library-stdatomic.patch (+27/-0)
debian/patches/series (+1/-6)
depcomp (+1/-1)
dev/null (+0/-33)
doc/Makefile.in (+6/-7)
doc/arm/Makefile.in (+6/-5)
doc/arm/conf.py (+39/-0)
doc/arm/notes.rst (+6/-0)
doc/arm/platforms.inc.rst (+10/-9)
doc/arm/reference.rst (+39/-9)
doc/arm/requirements.txt (+4/-4)
doc/arm/security.inc.rst (+50/-0)
doc/dnssec-guide/introduction.rst (+1/-1)
doc/dnssec-guide/validation.rst (+1/-1)
doc/man/Makefile.in (+6/-5)
doc/man/arpaname.1in (+1/-1)
doc/man/ddns-confgen.8in (+1/-1)
doc/man/delv.1in (+1/-1)
doc/man/dig.1in (+1/-1)
doc/man/dnssec-cds.1in (+1/-1)
doc/man/dnssec-dsfromkey.1in (+1/-1)
doc/man/dnssec-importkey.1in (+1/-1)
doc/man/dnssec-keyfromlabel.1in (+1/-1)
doc/man/dnssec-keygen.1in (+1/-1)
doc/man/dnssec-revoke.1in (+1/-1)
doc/man/dnssec-settime.1in (+1/-1)
doc/man/dnssec-signzone.1in (+1/-1)
doc/man/dnssec-verify.1in (+1/-1)
doc/man/dnstap-read.1in (+1/-1)
doc/man/filter-a.8in (+1/-1)
doc/man/filter-aaaa.8in (+1/-1)
doc/man/host.1in (+1/-1)
doc/man/mdig.1in (+1/-1)
doc/man/named-checkconf.1in (+1/-1)
doc/man/named-checkzone.1in (+1/-1)
doc/man/named-compilezone.1in (+1/-1)
doc/man/named-journalprint.1in (+1/-1)
doc/man/named-nzd2nzf.1in (+1/-1)
doc/man/named-rrchecker.1in (+1/-1)
doc/man/named.8in (+1/-1)
doc/man/named.conf.5in (+9/-9)
doc/man/nsec3hash.1in (+1/-1)
doc/man/nslookup.1in (+1/-1)
doc/man/nsupdate.1in (+1/-1)
doc/man/rndc-confgen.8in (+1/-1)
doc/man/rndc.8in (+4/-2)
doc/man/rndc.conf.5in (+1/-1)
doc/man/tsig-keygen.8in (+1/-1)
doc/misc/Makefile.in (+6/-7)
doc/misc/options (+8/-8)
doc/notes/notes-9.18.1.rst (+4/-4)
doc/notes/notes-9.18.11.rst (+3/-3)
doc/notes/notes-9.18.16.rst (+2/-2)
doc/notes/notes-9.18.19.rst (+96/-0)
doc/notes/notes-9.18.20.rst (+44/-0)
doc/notes/notes-9.18.21.rst (+31/-0)
doc/notes/notes-9.18.22.rst (+19/-0)
doc/notes/notes-9.18.23.rst (+20/-0)
doc/notes/notes-9.18.24.rst (+65/-0)
doc/notes/notes-9.18.3.rst (+1/-1)
doc/notes/notes-9.18.7.rst (+5/-5)
fuzz/Makefile.in (+6/-7)
fuzz/dns_message_checksig.c (+2/-2)
lib/Makefile.in (+6/-7)
lib/bind9/Makefile.in (+6/-7)
lib/bind9/check.c (+4/-0)
lib/dns/Makefile.in (+6/-7)
lib/dns/adb.c (+5/-5)
lib/dns/cache.c (+1/-0)
lib/dns/catz.c (+16/-0)
lib/dns/diff.c (+34/-0)
lib/dns/dst_api.c (+20/-9)
lib/dns/include/dns/catz.h (+3/-5)
lib/dns/include/dns/dispatch.h (+1/-1)
lib/dns/include/dns/message.h (+1/-39)
lib/dns/include/dns/name.h (+17/-20)
lib/dns/include/dns/rbt.h (+13/-0)
lib/dns/include/dns/rpz.h (+1/-4)
lib/dns/include/dns/stats.h (+1/-1)
lib/dns/include/dns/validator.h (+1/-0)
lib/dns/include/dst/dst.h (+4/-0)
lib/dns/master.c (+1/-1)
lib/dns/message.c (+241/-134)
lib/dns/name.c (+1/-0)
lib/dns/ncache.c (+1/-1)
lib/dns/nsec3.c (+4/-10)
lib/dns/openssl_link.c (+1/-0)
lib/dns/opensslecdsa_link.c (+14/-5)
lib/dns/openssleddsa_link.c (+1/-1)
lib/dns/opensslrsa_link.c (+40/-18)
lib/dns/private.c (+4/-4)
lib/dns/rbt.c (+8/-0)
lib/dns/rbtdb.c (+169/-68)
lib/dns/rdata.c (+1/-1)
lib/dns/resolver.c (+16/-14)
lib/dns/rootns.c (+47/-6)
lib/dns/stats.c (+6/-4)
lib/dns/tsig.c (+14/-8)
lib/dns/update.c (+28/-25)
lib/dns/validator.c (+30/-37)
lib/dns/xfrin.c (+32/-11)
lib/dns/zone.c (+74/-82)
lib/irs/Makefile.in (+6/-7)
lib/isc/Makefile.in (+6/-7)
lib/isc/hmac.c (+39/-32)
lib/isc/ht.c (+51/-4)
lib/isc/httpd.c (+28/-12)
lib/isc/include/isc/atomic.h (+1/-1)
lib/isc/include/isc/endian.h (+17/-17)
lib/isc/include/isc/mem.h (+36/-0)
lib/isc/include/isc/net.h (+2/-2)
lib/isc/include/isc/netmgr.h (+3/-0)
lib/isc/include/isc/radix.h (+1/-1)
lib/isc/include/isc/result.h (+1/-0)
lib/isc/include/isc/types.h (+6/-4)
lib/isc/iterated_hash.c (+6/-1)
lib/isc/jemalloc_shim.h (+4/-1)
lib/isc/md.c (+12/-2)
lib/isc/mem.c (+167/-17)
lib/isc/mem_p.h (+11/-0)
lib/isc/netaddr.c (+1/-1)
lib/isc/netmgr/http.c (+10/-9)
lib/isc/netmgr/netmgr-int.h (+1/-0)
lib/isc/netmgr/netmgr.c (+24/-14)
lib/isc/netmgr/tcp.c (+3/-3)
lib/isc/netmgr/tcpdns.c (+9/-2)
lib/isc/netmgr/tlsdns.c (+84/-4)
lib/isc/netmgr/tlsstream.c (+6/-6)
lib/isc/netmgr/udp.c (+6/-4)
lib/isc/netmgr/uv-compat.h (+1/-1)
lib/isc/result.c (+2/-0)
lib/isc/stats.c (+17/-8)
lib/isc/tls.c (+7/-1)
lib/isc/trampoline.c (+3/-2)
lib/isc/url.c (+3/-2)
lib/isccc/Makefile.in (+6/-7)
lib/isccc/cc.c (+38/-19)
lib/isccfg/Makefile.in (+6/-7)
lib/isccfg/namedconf.c (+6/-5)
lib/ns/Makefile.in (+6/-7)
lib/ns/client.c (+76/-33)
lib/ns/include/ns/client.h (+1/-0)
lib/ns/query.c (+37/-15)
lib/ns/server.c (+5/-0)
lib/ns/update.c (+9/-2)
lib/ns/xfrout.c (+1/-1)
ltmain.sh (+512/-315)
m4/libtool.m4 (+131/-98)
m4/ltoptions.m4 (+2/-2)
m4/ltsugar.m4 (+1/-1)
m4/ltversion.m4 (+7/-6)
m4/lt~obsolete.m4 (+2/-2)
missing (+1/-1)
srcid (+1/-1)
test-driver (+7/-4)
tests/Makefile.in (+6/-7)
tests/dns/Makefile.am (+10/-2)
tests/dns/Makefile.in (+41/-23)
tests/dns/rdata_test.c (+28/-0)
tests/irs/Makefile.in (+6/-7)
tests/isc/Makefile.in (+6/-7)
tests/isc/hmac_test.c (+108/-104)
tests/isc/ht_test.c (+50/-0)
tests/isc/netmgr_test.c (+175/-3)
tests/isccfg/Makefile.in (+6/-7)
tests/libtest/Makefile.in (+6/-7)
tests/libtest/ns.c (+1/-1)
tests/ns/Makefile.in (+6/-7)
tests/unit-test-driver.sh.in (+24/-24)
Reviewer Review Type Date Requested Status
Mitchell Dzurick (community) Approve
Canonical Server Reporter Pending
Canonical Server Pending
Review via email: mp+464213@code.launchpad.net

Description of the change

Update mantic bind9 version to match noble

All patch removals were CVEs that could be reverse-applied with 9.18.24. The added patch, always-use-standard-library-stdatomic.patch is the exact same as the one added during noble's update to 9.18.24, which is necessary for bind-dyndb-ldap to build, along with anything else that would need stdatomic.

PPA: https://launchpad.net/~lvoytek/+archive/ubuntu/bind9-mre

autopkgtest results:
bind-dyndb-ldap @ amd64:
  12.04.24 15:50:30 Log 🗒️ ✅ Triggers: bind-dyndb-ldap/11.10-6ubuntu5.23.10.1~ppa1
bind9 @ amd64:
  12.04.24 16:12:26 Log 🗒️ ✅ Triggers: bind9/1:9.18.24-0ubuntu0.23.10.1~ppa2
bind-dyndb-ldap @ arm64:
  12.04.24 15:08:51 Log 🗒️ ✅ Triggers: bind-dyndb-ldap/11.10-6ubuntu5.23.10.1~ppa1
bind9 @ arm64:
  12.04.24 15:25:41 Log 🗒️ ✅ Triggers: bind9/1:9.18.24-0ubuntu0.23.10.1~ppa2
bind-dyndb-ldap @ armhf:
  12.04.24 15:12:45 Log 🗒️ ✅ Triggers: bind-dyndb-ldap/11.10-6ubuntu5.23.10.1~ppa1
bind9 @ armhf:
  12.04.24 14:49:36 Log 🗒️ ✅ Triggers: bind9/1:9.18.24-0ubuntu0.23.10.1~ppa2
bind-dyndb-ldap @ ppc64el:
  12.04.24 15:05:55 Log 🗒️ ✅ Triggers: bind-dyndb-ldap/11.10-6ubuntu5.23.10.1~ppa1
bind9 @ ppc64el:
  12.04.24 15:24:37 Log 🗒️ ✅ Triggers: bind9/1:9.18.24-0ubuntu0.23.10.1~ppa2
bind-dyndb-ldap @ s390x:
  12.04.24 15:11:51 Log 🗒️ ✅ Triggers: bind-dyndb-ldap/11.10-6ubuntu5.23.10.1~ppa1
bind9 @ s390x:
  12.04.24 15:27:36 Log 🗒️ ✅ Triggers: bind9/1:9.18.24-0ubuntu0.23.10.1~ppa2

To post a comment you must log in.
Revision history for this message
Mitchell Dzurick (mitchdz) wrote :

The bug fixes/security fixes look good and I wanted to dig into the functional changes a little bit for breaking changes. Only 2 looked like potential issues but are fine.

6282. [func] Deprecate AES-based DNS cookies. [GL #4421]
This is not a concern since the code was not being used other than in internal testing.

6269. [maint] B.ROOT-SERVERS.NET addresses are now 170.247.170.2 and
   2801:1b8:10::b. [GL #4101]
This is fine for this merge, but I wonder if this change will need to be made for Focal as well once these old addresses get deprecated?

I tested a basic upgrade in a mantic VM and the apt upgrade was very smooth.

1) Is Debian also be suffering due to the stdatomic header change? If so that delta would be great to add there.

These changes LGTM. +1

review: Approve
Revision history for this message
Lena Voytek (lvoytek) wrote :

Thanks for the review! I agree the server address update would be good to look into for focal. I'll add that to my list of todos once noble is cleaned up. I haven't looked into it yet but stdatomic is probably also an issue in Debian. I'll check that out too

Revision history for this message
Mitchell Dzurick (mitchdz) wrote :

BTW I also made this LP bug to check the root servers - https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/2061911

Unmerged commits

0e42eb6... by Lena Voytek

changelog

4559ad7... by Lena Voytek

  * d/p/always-use-standard-library-stdatomic.patch: Maintain use of the
    standard library stdatomic.h

439858c... by Lena Voytek

  * Remove CVE patches fixed upstream:
    - CVE-2023-3341.patch
    - CVE-2023-4236.patch
    [ Fixed in 9.18.19 ]
    - 0001-CVE-2023-4408.patch
    - 0002-CVE-2023-5517.patch
    - 0003-CVE-2023-5679.patch
    - 0004-CVE-2023-50387-CVE-2023-50868.patch
    [ Fixed in 9.18.24 ]

1da5233... by Lena Voytek

  * New upstream version 9.18.24 (LP: #2040459)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/CHANGES b/CHANGES
2index 3f4e364..9bd4f51 100644
3--- a/CHANGES
4+++ b/CHANGES
5@@ -1,3 +1,189 @@
6+ --- 9.18.24 released ---
7+
8+6343. [bug] Fix case insensitive setting for isc_ht hashtable.
9+ [GL #4568]
10+
11+ --- 9.18.23 released ---
12+
13+6322. [security] Specific DNS answers could cause a denial-of-service
14+ condition due to DNS validation taking a long time.
15+ (CVE-2023-50387) [GL #4424]
16+
17+6321. [security] Change 6315 inadvertently introduced regressions that
18+ could cause named to crash. [GL #4234]
19+
20+6320. [bug] Under some circumstances, the DoT code in client
21+ mode could process more than one message at a time when
22+ that was not expected. That has been fixed. [GL #4487]
23+
24+ --- 9.18.22 released ---
25+
26+6319. [func] Limit isc_task_send() overhead for RBTDB tree pruning.
27+ [GL #4383]
28+
29+6317. [security] Restore DNS64 state when handling a serve-stale timeout.
30+ (CVE-2023-5679) [GL #4334]
31+
32+6316. [security] Specific queries could trigger an assertion check with
33+ nxdomain-redirect enabled. (CVE-2023-5517) [GL #4281]
34+
35+6315. [security] Speed up parsing of DNS messages with many different
36+ names. (CVE-2023-4408) [GL #4234]
37+
38+6314. [bug] Address race conditions in dns_tsigkey_find().
39+ [GL #4182]
40+
41+6312. [bug] Conversion from NSEC3 signed to NSEC signed could
42+ temporarily put the zone into a state where it was
43+ treated as unsigned until the NSEC chain was built.
44+ Additionally conversion from one set of NSEC3 parameters
45+ to another could also temporarily put the zone into a
46+ state where it was treated as unsigned until the new
47+ NSEC3 chain was built. [GL #1794] [GL #4495]
48+
49+6310. [bug] Memory leak in zone.c:sign_zone. When named signed a
50+ zone it could leak dst_keys due to a misplaced
51+ 'continue'. [GL #4488]
52+
53+6306. [func] Log more details about the cause of "not exact" errors.
54+ [GL #4500]
55+
56+6304. [bug] The wrong time was being used to determine what RRSIGs
57+ where to be generated when dnssec-policy was in use.
58+ [GL #4494]
59+
60+6302. [func] The "trust-anchor-telemetry" statement is no longer
61+ marked as experimental. This silences a relevant log
62+ message that was emitted even when the feature was
63+ explicitly disabled. [GL #4497]
64+
65+6300. [bug] Fix statistics export to use full 64 bit signed numbers
66+ instead of truncating values to unsigned 32 bits.
67+ [GL #4467]
68+
69+6299. [port] NetBSD has added 'hmac' to libc which collides with our
70+ use of 'hmac'. [GL #4478]
71+
72+ --- 9.18.21 released ---
73+
74+6297. [bug] Improve LRU cleaning behaviour. [GL #4448]
75+
76+6296. [func] The "resolver-nonbackoff-tries" and
77+ "resolver-retry-interval" options are deprecated;
78+ a warning will be logged if they are used. [GL #4405]
79+
80+6294. [bug] BIND might sometimes crash after startup or
81+ re-configuration when one 'tls' entry is used multiple
82+ times to connect to remote servers due to initialisation
83+ attempts from contexts of multiple threads. That has
84+ been fixed. [GL #4464]
85+
86+6290. [bug] Dig +yaml will now report "no servers could be reached"
87+ also for UDP setup failure when no other servers or
88+ tries are left. [GL #1229]
89+
90+6287. [bug] Recognize escapes when reading the public key from file.
91+ [GL !8502]
92+
93+6286. [bug] Dig +yaml will now report "no servers could be reached"
94+ on TCP connection failure as well as for UDP timeouts.
95+ [GL #4396]
96+
97+6282. [func] Deprecate AES-based DNS cookies. [GL #4421]
98+
99+ --- 9.18.20 released ---
100+
101+6280. [bug] Fix missing newlines in the output of "rndc nta -dump".
102+ [GL !8454]
103+
104+6277. [bug] Take into account local authoritative zones when
105+ falling back to serve-stale. [GL #4355]
106+
107+6275. [bug] Fix assertion failure when using lock-file configuration
108+ option together -X argument to named. [GL #4386]
109+
110+6274. [bug] The 'lock-file' file was being removed when it
111+ shouldn't have been making it ineffective if named was
112+ started 3 or more times. [GL #4387]
113+
114+6271. [bug] Fix a shutdown race in dns__catz_update_cb(). [GL #4381]
115+
116+6269. [maint] B.ROOT-SERVERS.NET addresses are now 170.247.170.2 and
117+ 2801:1b8:10::b. [GL #4101]
118+
119+6267. [func] The timeouts for resending zone refresh queries over UDP
120+ were lowered to enable named to more quickly determine
121+ that a primary is down. [GL #4260]
122+
123+6265. [bug] Don't schedule resign operations on the raw version
124+ of an inline-signing zone. [GL #4350]
125+
126+6261. [bug] Fix a possible assertion failure on an error path in
127+ resolver.c:fctx_query(), when using an uninitialized
128+ link. [GL #4331]
129+
130+6254. [cleanup] Add semantic patch to do an explicit cast from char
131+ to unsigned char in ctype.h class of functions.
132+ [GL #4327]
133+
134+6252. [test] Python system tests have to be executed by invoking
135+ pytest directly. Executing them with the legacy test
136+ runner is no longer supported. [GL #4250]
137+
138+6250. [bug] The wrong covered value was being set by
139+ dns_ncache_current for RRSIG records in the returned
140+ rdataset structure. This resulted in TYPE0 being
141+ reported as the covered value of the RRSIG when dumping
142+ the cache contents. [GL #4314]
143+
144+ --- 9.18.19 released ---
145+
146+6246. [security] Fix use-after-free error in TLS DNS code when sending
147+ data. (CVE-2023-4236) [GL #4242]
148+
149+6245. [security] Limit the amount of recursion that can be performed
150+ by isccc_cc_fromwire. (CVE-2023-3341) [GL #4152]
151+
152+6244. [bug] Adjust log levels on malformed messages to NOTICE when
153+ transferring in a zone. [GL #4290]
154+
155+6241. [bug] Take into account the possibility of partial TLS writes
156+ in TLS DNS code. That helps to prevent DNS messages
157+ corruption on long DNS over TLS streams. [GL #4255]
158+
159+6240. [bug] Use dedicated per-worker thread jemalloc memory
160+ arenas for send buffers allocation to reduce memory
161+ consumption and avoid lock contention. [GL #4038]
162+
163+6239. [func] Deprecate the 'dnssec-must-be-secure' option.
164+ [GL #3700]
165+
166+6237. [bug] Address memory leaks due to not clearing OpenSSL error
167+ stack. [GL #4159]
168+
169+6235. [doc] Clarify BIND 9 time formats. [GL #4266]
170+
171+6234. [bug] Restore stale-refresh-time value after flushing the
172+ cache. [GL #4278]
173+
174+6232. [bug] Following the introduction of krb5-subdomain-self-rhs
175+ and ms-subdomain-self-rhs update rules, removal of
176+ nonexistent PTR and SRV records via UPDATE could fail.
177+ [GL #4280]
178+
179+6231. [func] Make nsupdate honor -v for SOA requests if the server
180+ is specified. [GL #1181]
181+
182+6230. [bug] Prevent an unnecessary query restart if a synthesized
183+ CNAME target points to the CNAME owner. [GL #3835]
184+
185+6227. [bug] Check the statistics-channel HTTP Content-length
186+ to prevent negative or overflowing values from
187+ causing a crash. [GL #4125]
188+
189+6224. [bug] Check the If-Modified-Since value length to prevent
190+ out-of-bounds write. [GL #4124]
191+
192 --- 9.18.18 released ---
193
194 6220. [func] Deprecate the 'dialup' and 'heartbeat-interval'
195diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
196index 4b3db89..c108dbe 100644
197--- a/CONTRIBUTING.md
198+++ b/CONTRIBUTING.md
199@@ -102,22 +102,7 @@ Twitter, or Facebook.
200
201 ### Reporting possible security issues
202
203-If you think you may be seeing a potential security vulnerability in BIND
204-(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
205-report it immediately by emailing to security-officer@isc.org. Plain-text
206-e-mail is not a secure choice for communications concerning undisclosed
207-security issues so please encrypt your communications to us if possible,
208-using the [ISC Security Officer public key](https://www.isc.org/pgpkey/).
209-
210-Do not discuss undisclosed security vulnerabilities on any public mailing list.
211-ISC has a long history of handling reported vulnerabilities promptly and
212-effectively and we respect and acknowledge responsible reporters.
213-
214-ISC's Security Vulnerability Disclosure Policy is documented at
215-[https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
216-
217-If you have a crash, you may want to consult
218-["What to do if your BIND or DHCP server has crashed."](https://kb.isc.org/docs/aa-00340)
219+See `SECURITY.md`.
220
221 ### <a name="contrib"></a>Contributing code
222
223diff --git a/ChangeLog b/ChangeLog
224index 3f4e364..9bd4f51 100644
225--- a/ChangeLog
226+++ b/ChangeLog
227@@ -1,3 +1,189 @@
228+ --- 9.18.24 released ---
229+
230+6343. [bug] Fix case insensitive setting for isc_ht hashtable.
231+ [GL #4568]
232+
233+ --- 9.18.23 released ---
234+
235+6322. [security] Specific DNS answers could cause a denial-of-service
236+ condition due to DNS validation taking a long time.
237+ (CVE-2023-50387) [GL #4424]
238+
239+6321. [security] Change 6315 inadvertently introduced regressions that
240+ could cause named to crash. [GL #4234]
241+
242+6320. [bug] Under some circumstances, the DoT code in client
243+ mode could process more than one message at a time when
244+ that was not expected. That has been fixed. [GL #4487]
245+
246+ --- 9.18.22 released ---
247+
248+6319. [func] Limit isc_task_send() overhead for RBTDB tree pruning.
249+ [GL #4383]
250+
251+6317. [security] Restore DNS64 state when handling a serve-stale timeout.
252+ (CVE-2023-5679) [GL #4334]
253+
254+6316. [security] Specific queries could trigger an assertion check with
255+ nxdomain-redirect enabled. (CVE-2023-5517) [GL #4281]
256+
257+6315. [security] Speed up parsing of DNS messages with many different
258+ names. (CVE-2023-4408) [GL #4234]
259+
260+6314. [bug] Address race conditions in dns_tsigkey_find().
261+ [GL #4182]
262+
263+6312. [bug] Conversion from NSEC3 signed to NSEC signed could
264+ temporarily put the zone into a state where it was
265+ treated as unsigned until the NSEC chain was built.
266+ Additionally conversion from one set of NSEC3 parameters
267+ to another could also temporarily put the zone into a
268+ state where it was treated as unsigned until the new
269+ NSEC3 chain was built. [GL #1794] [GL #4495]
270+
271+6310. [bug] Memory leak in zone.c:sign_zone. When named signed a
272+ zone it could leak dst_keys due to a misplaced
273+ 'continue'. [GL #4488]
274+
275+6306. [func] Log more details about the cause of "not exact" errors.
276+ [GL #4500]
277+
278+6304. [bug] The wrong time was being used to determine what RRSIGs
279+ where to be generated when dnssec-policy was in use.
280+ [GL #4494]
281+
282+6302. [func] The "trust-anchor-telemetry" statement is no longer
283+ marked as experimental. This silences a relevant log
284+ message that was emitted even when the feature was
285+ explicitly disabled. [GL #4497]
286+
287+6300. [bug] Fix statistics export to use full 64 bit signed numbers
288+ instead of truncating values to unsigned 32 bits.
289+ [GL #4467]
290+
291+6299. [port] NetBSD has added 'hmac' to libc which collides with our
292+ use of 'hmac'. [GL #4478]
293+
294+ --- 9.18.21 released ---
295+
296+6297. [bug] Improve LRU cleaning behaviour. [GL #4448]
297+
298+6296. [func] The "resolver-nonbackoff-tries" and
299+ "resolver-retry-interval" options are deprecated;
300+ a warning will be logged if they are used. [GL #4405]
301+
302+6294. [bug] BIND might sometimes crash after startup or
303+ re-configuration when one 'tls' entry is used multiple
304+ times to connect to remote servers due to initialisation
305+ attempts from contexts of multiple threads. That has
306+ been fixed. [GL #4464]
307+
308+6290. [bug] Dig +yaml will now report "no servers could be reached"
309+ also for UDP setup failure when no other servers or
310+ tries are left. [GL #1229]
311+
312+6287. [bug] Recognize escapes when reading the public key from file.
313+ [GL !8502]
314+
315+6286. [bug] Dig +yaml will now report "no servers could be reached"
316+ on TCP connection failure as well as for UDP timeouts.
317+ [GL #4396]
318+
319+6282. [func] Deprecate AES-based DNS cookies. [GL #4421]
320+
321+ --- 9.18.20 released ---
322+
323+6280. [bug] Fix missing newlines in the output of "rndc nta -dump".
324+ [GL !8454]
325+
326+6277. [bug] Take into account local authoritative zones when
327+ falling back to serve-stale. [GL #4355]
328+
329+6275. [bug] Fix assertion failure when using lock-file configuration
330+ option together -X argument to named. [GL #4386]
331+
332+6274. [bug] The 'lock-file' file was being removed when it
333+ shouldn't have been making it ineffective if named was
334+ started 3 or more times. [GL #4387]
335+
336+6271. [bug] Fix a shutdown race in dns__catz_update_cb(). [GL #4381]
337+
338+6269. [maint] B.ROOT-SERVERS.NET addresses are now 170.247.170.2 and
339+ 2801:1b8:10::b. [GL #4101]
340+
341+6267. [func] The timeouts for resending zone refresh queries over UDP
342+ were lowered to enable named to more quickly determine
343+ that a primary is down. [GL #4260]
344+
345+6265. [bug] Don't schedule resign operations on the raw version
346+ of an inline-signing zone. [GL #4350]
347+
348+6261. [bug] Fix a possible assertion failure on an error path in
349+ resolver.c:fctx_query(), when using an uninitialized
350+ link. [GL #4331]
351+
352+6254. [cleanup] Add semantic patch to do an explicit cast from char
353+ to unsigned char in ctype.h class of functions.
354+ [GL #4327]
355+
356+6252. [test] Python system tests have to be executed by invoking
357+ pytest directly. Executing them with the legacy test
358+ runner is no longer supported. [GL #4250]
359+
360+6250. [bug] The wrong covered value was being set by
361+ dns_ncache_current for RRSIG records in the returned
362+ rdataset structure. This resulted in TYPE0 being
363+ reported as the covered value of the RRSIG when dumping
364+ the cache contents. [GL #4314]
365+
366+ --- 9.18.19 released ---
367+
368+6246. [security] Fix use-after-free error in TLS DNS code when sending
369+ data. (CVE-2023-4236) [GL #4242]
370+
371+6245. [security] Limit the amount of recursion that can be performed
372+ by isccc_cc_fromwire. (CVE-2023-3341) [GL #4152]
373+
374+6244. [bug] Adjust log levels on malformed messages to NOTICE when
375+ transferring in a zone. [GL #4290]
376+
377+6241. [bug] Take into account the possibility of partial TLS writes
378+ in TLS DNS code. That helps to prevent DNS messages
379+ corruption on long DNS over TLS streams. [GL #4255]
380+
381+6240. [bug] Use dedicated per-worker thread jemalloc memory
382+ arenas for send buffers allocation to reduce memory
383+ consumption and avoid lock contention. [GL #4038]
384+
385+6239. [func] Deprecate the 'dnssec-must-be-secure' option.
386+ [GL #3700]
387+
388+6237. [bug] Address memory leaks due to not clearing OpenSSL error
389+ stack. [GL #4159]
390+
391+6235. [doc] Clarify BIND 9 time formats. [GL #4266]
392+
393+6234. [bug] Restore stale-refresh-time value after flushing the
394+ cache. [GL #4278]
395+
396+6232. [bug] Following the introduction of krb5-subdomain-self-rhs
397+ and ms-subdomain-self-rhs update rules, removal of
398+ nonexistent PTR and SRV records via UPDATE could fail.
399+ [GL #4280]
400+
401+6231. [func] Make nsupdate honor -v for SOA requests if the server
402+ is specified. [GL #1181]
403+
404+6230. [bug] Prevent an unnecessary query restart if a synthesized
405+ CNAME target points to the CNAME owner. [GL #3835]
406+
407+6227. [bug] Check the statistics-channel HTTP Content-length
408+ to prevent negative or overflowing values from
409+ causing a crash. [GL #4125]
410+
411+6224. [bug] Check the If-Modified-Since value length to prevent
412+ out-of-bounds write. [GL #4124]
413+
414 --- 9.18.18 released ---
415
416 6220. [func] Deprecate the 'dialup' and 'heartbeat-interval'
417diff --git a/Makefile.in b/Makefile.in
418index ff5f0bb..01d583f 100644
419--- a/Makefile.in
420+++ b/Makefile.in
421@@ -1,7 +1,7 @@
422-# Makefile.in generated by automake 1.16.3 from Makefile.am.
423+# Makefile.in generated by automake 1.16.5 from Makefile.am.
424 # @configure_input@
425
426-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
427+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
428
429 # This Makefile.in is free software; the Free Software Foundation
430 # gives unlimited permission to copy and/or distribute it,
431@@ -104,11 +104,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
432 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
433 $(top_srcdir)/m4/ax_jemalloc.m4 \
434 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
435- $(top_srcdir)/m4/ax_perl_module.m4 \
436 $(top_srcdir)/m4/ax_posix_shell.m4 \
437 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
438 $(top_srcdir)/m4/ax_pthread.m4 \
439- $(top_srcdir)/m4/ax_python_module.m4 \
440 $(top_srcdir)/m4/ax_restore_flags.m4 \
441 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
442 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
443@@ -209,16 +207,13 @@ am__define_uniq_tagged_files = \
444 unique=`for i in $$list; do \
445 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
446 done | $(am__uniquify_input)`
447-ETAGS = etags
448-CTAGS = ctags
449-CSCOPE = cscope
450 DIST_SUBDIRS = . lib doc bin fuzz tests
451 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
452 $(top_srcdir)/Makefile.top \
453 $(top_srcdir)/doc/doxygen/doxygen-input-filter.in \
454 $(top_srcdir)/util/check-make-install.in AUTHORS COPYING \
455- ChangeLog NEWS ar-lib compile config.guess config.sub \
456- install-sh ltmain.sh missing
457+ ChangeLog NEWS README.md ar-lib compile config.guess \
458+ config.sub install-sh ltmain.sh missing
459 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
460 distdir = $(PACKAGE)-$(VERSION)
461 top_distdir = $(distdir)
462@@ -284,6 +279,8 @@ CPP = @CPP@
463 CPPFLAGS = @CPPFLAGS@
464 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
465 CPP_FOR_BUILD = @CPP_FOR_BUILD@
466+CSCOPE = @CSCOPE@
467+CTAGS = @CTAGS@
468 CURL = @CURL@
469 CYGPATH_W = @CYGPATH_W@
470 DEFS = @DEFS@
471@@ -299,8 +296,10 @@ ECHO_C = @ECHO_C@
472 ECHO_N = @ECHO_N@
473 ECHO_T = @ECHO_T@
474 EGREP = @EGREP@
475+ETAGS = @ETAGS@
476 EXEEXT = @EXEEXT@
477 FGREP = @FGREP@
478+FILECMD = @FILECMD@
479 FSTRM_CAPTURE = @FSTRM_CAPTURE@
480 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
481 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
482@@ -724,7 +723,6 @@ cscopelist-am: $(am__tagged_files)
483 distclean-tags:
484 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
485 -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
486-
487 distdir: $(BUILT_SOURCES)
488 $(MAKE) $(AM_MAKEFLAGS) distdir-am
489
490diff --git a/NEWS b/NEWS
491index 3f4e364..9bd4f51 100644
492--- a/NEWS
493+++ b/NEWS
494@@ -1,3 +1,189 @@
495+ --- 9.18.24 released ---
496+
497+6343. [bug] Fix case insensitive setting for isc_ht hashtable.
498+ [GL #4568]
499+
500+ --- 9.18.23 released ---
501+
502+6322. [security] Specific DNS answers could cause a denial-of-service
503+ condition due to DNS validation taking a long time.
504+ (CVE-2023-50387) [GL #4424]
505+
506+6321. [security] Change 6315 inadvertently introduced regressions that
507+ could cause named to crash. [GL #4234]
508+
509+6320. [bug] Under some circumstances, the DoT code in client
510+ mode could process more than one message at a time when
511+ that was not expected. That has been fixed. [GL #4487]
512+
513+ --- 9.18.22 released ---
514+
515+6319. [func] Limit isc_task_send() overhead for RBTDB tree pruning.
516+ [GL #4383]
517+
518+6317. [security] Restore DNS64 state when handling a serve-stale timeout.
519+ (CVE-2023-5679) [GL #4334]
520+
521+6316. [security] Specific queries could trigger an assertion check with
522+ nxdomain-redirect enabled. (CVE-2023-5517) [GL #4281]
523+
524+6315. [security] Speed up parsing of DNS messages with many different
525+ names. (CVE-2023-4408) [GL #4234]
526+
527+6314. [bug] Address race conditions in dns_tsigkey_find().
528+ [GL #4182]
529+
530+6312. [bug] Conversion from NSEC3 signed to NSEC signed could
531+ temporarily put the zone into a state where it was
532+ treated as unsigned until the NSEC chain was built.
533+ Additionally conversion from one set of NSEC3 parameters
534+ to another could also temporarily put the zone into a
535+ state where it was treated as unsigned until the new
536+ NSEC3 chain was built. [GL #1794] [GL #4495]
537+
538+6310. [bug] Memory leak in zone.c:sign_zone. When named signed a
539+ zone it could leak dst_keys due to a misplaced
540+ 'continue'. [GL #4488]
541+
542+6306. [func] Log more details about the cause of "not exact" errors.
543+ [GL #4500]
544+
545+6304. [bug] The wrong time was being used to determine what RRSIGs
546+ where to be generated when dnssec-policy was in use.
547+ [GL #4494]
548+
549+6302. [func] The "trust-anchor-telemetry" statement is no longer
550+ marked as experimental. This silences a relevant log
551+ message that was emitted even when the feature was
552+ explicitly disabled. [GL #4497]
553+
554+6300. [bug] Fix statistics export to use full 64 bit signed numbers
555+ instead of truncating values to unsigned 32 bits.
556+ [GL #4467]
557+
558+6299. [port] NetBSD has added 'hmac' to libc which collides with our
559+ use of 'hmac'. [GL #4478]
560+
561+ --- 9.18.21 released ---
562+
563+6297. [bug] Improve LRU cleaning behaviour. [GL #4448]
564+
565+6296. [func] The "resolver-nonbackoff-tries" and
566+ "resolver-retry-interval" options are deprecated;
567+ a warning will be logged if they are used. [GL #4405]
568+
569+6294. [bug] BIND might sometimes crash after startup or
570+ re-configuration when one 'tls' entry is used multiple
571+ times to connect to remote servers due to initialisation
572+ attempts from contexts of multiple threads. That has
573+ been fixed. [GL #4464]
574+
575+6290. [bug] Dig +yaml will now report "no servers could be reached"
576+ also for UDP setup failure when no other servers or
577+ tries are left. [GL #1229]
578+
579+6287. [bug] Recognize escapes when reading the public key from file.
580+ [GL !8502]
581+
582+6286. [bug] Dig +yaml will now report "no servers could be reached"
583+ on TCP connection failure as well as for UDP timeouts.
584+ [GL #4396]
585+
586+6282. [func] Deprecate AES-based DNS cookies. [GL #4421]
587+
588+ --- 9.18.20 released ---
589+
590+6280. [bug] Fix missing newlines in the output of "rndc nta -dump".
591+ [GL !8454]
592+
593+6277. [bug] Take into account local authoritative zones when
594+ falling back to serve-stale. [GL #4355]
595+
596+6275. [bug] Fix assertion failure when using lock-file configuration
597+ option together -X argument to named. [GL #4386]
598+
599+6274. [bug] The 'lock-file' file was being removed when it
600+ shouldn't have been making it ineffective if named was
601+ started 3 or more times. [GL #4387]
602+
603+6271. [bug] Fix a shutdown race in dns__catz_update_cb(). [GL #4381]
604+
605+6269. [maint] B.ROOT-SERVERS.NET addresses are now 170.247.170.2 and
606+ 2801:1b8:10::b. [GL #4101]
607+
608+6267. [func] The timeouts for resending zone refresh queries over UDP
609+ were lowered to enable named to more quickly determine
610+ that a primary is down. [GL #4260]
611+
612+6265. [bug] Don't schedule resign operations on the raw version
613+ of an inline-signing zone. [GL #4350]
614+
615+6261. [bug] Fix a possible assertion failure on an error path in
616+ resolver.c:fctx_query(), when using an uninitialized
617+ link. [GL #4331]
618+
619+6254. [cleanup] Add semantic patch to do an explicit cast from char
620+ to unsigned char in ctype.h class of functions.
621+ [GL #4327]
622+
623+6252. [test] Python system tests have to be executed by invoking
624+ pytest directly. Executing them with the legacy test
625+ runner is no longer supported. [GL #4250]
626+
627+6250. [bug] The wrong covered value was being set by
628+ dns_ncache_current for RRSIG records in the returned
629+ rdataset structure. This resulted in TYPE0 being
630+ reported as the covered value of the RRSIG when dumping
631+ the cache contents. [GL #4314]
632+
633+ --- 9.18.19 released ---
634+
635+6246. [security] Fix use-after-free error in TLS DNS code when sending
636+ data. (CVE-2023-4236) [GL #4242]
637+
638+6245. [security] Limit the amount of recursion that can be performed
639+ by isccc_cc_fromwire. (CVE-2023-3341) [GL #4152]
640+
641+6244. [bug] Adjust log levels on malformed messages to NOTICE when
642+ transferring in a zone. [GL #4290]
643+
644+6241. [bug] Take into account the possibility of partial TLS writes
645+ in TLS DNS code. That helps to prevent DNS messages
646+ corruption on long DNS over TLS streams. [GL #4255]
647+
648+6240. [bug] Use dedicated per-worker thread jemalloc memory
649+ arenas for send buffers allocation to reduce memory
650+ consumption and avoid lock contention. [GL #4038]
651+
652+6239. [func] Deprecate the 'dnssec-must-be-secure' option.
653+ [GL #3700]
654+
655+6237. [bug] Address memory leaks due to not clearing OpenSSL error
656+ stack. [GL #4159]
657+
658+6235. [doc] Clarify BIND 9 time formats. [GL #4266]
659+
660+6234. [bug] Restore stale-refresh-time value after flushing the
661+ cache. [GL #4278]
662+
663+6232. [bug] Following the introduction of krb5-subdomain-self-rhs
664+ and ms-subdomain-self-rhs update rules, removal of
665+ nonexistent PTR and SRV records via UPDATE could fail.
666+ [GL #4280]
667+
668+6231. [func] Make nsupdate honor -v for SOA requests if the server
669+ is specified. [GL #1181]
670+
671+6230. [bug] Prevent an unnecessary query restart if a synthesized
672+ CNAME target points to the CNAME owner. [GL #3835]
673+
674+6227. [bug] Check the statistics-channel HTTP Content-length
675+ to prevent negative or overflowing values from
676+ causing a crash. [GL #4125]
677+
678+6224. [bug] Check the If-Modified-Since value length to prevent
679+ out-of-bounds write. [GL #4124]
680+
681 --- 9.18.18 released ---
682
683 6220. [func] Deprecate the 'dialup' and 'heartbeat-interval'
684diff --git a/README.md b/README.md
685index 07cf1de..6e39de5 100644
686--- a/README.md
687+++ b/README.md
688@@ -74,17 +74,9 @@ contents of your configuration file in a non-confidential issue, it is
689 advisable to obscure key secrets; this can be done automatically by
690 using `named-checkconf -px`.
691
692-If you are reporting a bug that is a potential security issue, such as an
693-assertion failure or other crash in `named`, please do *NOT* use GitLab to
694-report it. Instead, send mail to
695-[security-officer@isc.org](mailto:security-officer@isc.org) using our
696-OpenPGP key to secure your message. (Information about OpenPGP and links
697-to our key can be found at
698-[https://www.isc.org/pgpkey](https://www.isc.org/pgpkey).) Please do not
699-discuss the bug on any public mailing list.
700-
701-For a general overview of ISC security policies, read the Knowledgebase
702-article at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
703+For information about ISC's Security Vulnerability Disclosure Policy and
704+information about reporting potential security issues, please see
705+`SECURITY.md`.
706
707 Professional support and training for BIND are available from
708 ISC. Contact us at [https://www.isc.org/contact](https://www.isc.org/contact)
709diff --git a/SECURITY.md b/SECURITY.md
710new file mode 100644
711index 0000000..2c63605
712--- /dev/null
713+++ b/SECURITY.md
714@@ -0,0 +1,35 @@
715+<!--
716+Copyright (C) Internet Systems Consortium, Inc. ("ISC")
717+
718+SPDX-License-Identifier: MPL-2.0
719+
720+This Source Code Form is subject to the terms of the Mozilla Public
721+License, v. 2.0. If a copy of the MPL was not distributed with this
722+file, you can obtain one at https://mozilla.org/MPL/2.0/.
723+
724+See the COPYRIGHT file distributed with this work for additional
725+information regarding copyright ownership.
726+-->
727+# Security Policy
728+
729+ISC's Security Vulnerability Disclosure Policy is documented in the
730+relevant [ISC Knowledgebase article][1].
731+
732+## Reporting possible security issues
733+
734+If you think you may be seeing a potential security vulnerability in
735+BIND (for example, a crash with a REQUIRE, INSIST, or ASSERT failure),
736+please report it immediately by [opening a confidential GitLab issue][2]
737+(preferred) or emailing bind-security@isc.org.
738+
739+Please do not discuss undisclosed security vulnerabilities on any public
740+mailing list. ISC has a long history of handling reported
741+vulnerabilities promptly and effectively and we respect and acknowledge
742+responsible reporters.
743+
744+If you have a crash, you may want to consult the Knowledgebase article
745+entitled ["What to do if your BIND or DHCP server has crashed"][3].
746+
747+[1]: https://kb.isc.org/docs/aa-00861
748+[2]: https://gitlab.isc.org/isc-projects/bind9/-/issues/new?issue[confidential]=true&issuable_template=Bug
749+[3]: https://kb.isc.org/docs/aa-00340
750diff --git a/aclocal.m4 b/aclocal.m4
751index 6d817df..6e826f5 100644
752--- a/aclocal.m4
753+++ b/aclocal.m4
754@@ -1,6 +1,6 @@
755-# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
756+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
757
758-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
759+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
760
761 # This file is free software; the Free Software Foundation
762 # gives unlimited permission to copy and/or distribute it,
763@@ -14,13 +14,13 @@
764 m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
765 m4_ifndef([AC_AUTOCONF_VERSION],
766 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
767-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
768-[m4_warning([this file was generated for autoconf 2.69.
769+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
770+[m4_warning([this file was generated for autoconf 2.71.
771 You have another version of autoconf. It may work, but is not guaranteed to.
772 If you have problems, you may need to regenerate the build system entirely.
773 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
774
775-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
776+# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*-
777 # serial 12 (pkg-config-0.29.2)
778
779 dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
780@@ -108,7 +108,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
781 dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
782 dnl
783 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
784-dnl only at the first occurence in configure.ac, so if the first place
785+dnl only at the first occurrence in configure.ac, so if the first place
786 dnl it's called might be skipped (such as if it is within an "if", you
787 dnl have to call PKG_CHECK_EXISTS manually
788 AC_DEFUN([PKG_CHECK_EXISTS],
789@@ -177,14 +177,14 @@ if test $pkg_failed = yes; then
790 AC_MSG_RESULT([no])
791 _PKG_SHORT_ERRORS_SUPPORTED
792 if test $_pkg_short_errors_supported = yes; then
793- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
794+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
795 else
796- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
797+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
798 fi
799- # Put the nasty error message in config.log where it belongs
800- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
801+ # Put the nasty error message in config.log where it belongs
802+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
803
804- m4_default([$4], [AC_MSG_ERROR(
805+ m4_default([$4], [AC_MSG_ERROR(
806 [Package requirements ($2) were not met:
807
808 $$1_PKG_ERRORS
809@@ -196,7 +196,7 @@ _PKG_TEXT])[]dnl
810 ])
811 elif test $pkg_failed = untried; then
812 AC_MSG_RESULT([no])
813- m4_default([$4], [AC_MSG_FAILURE(
814+ m4_default([$4], [AC_MSG_FAILURE(
815 [The pkg-config script could not be found or is too old. Make sure it
816 is in your PATH or set the PKG_CONFIG environment variable to the full
817 path to pkg-config.
818@@ -206,10 +206,10 @@ _PKG_TEXT
819 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
820 ])
821 else
822- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
823- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
824+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
825+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
826 AC_MSG_RESULT([yes])
827- $3
828+ $3
829 fi[]dnl
830 ])dnl PKG_CHECK_MODULES
831
832@@ -296,7 +296,75 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
833 AS_VAR_IF([$1], [""], [$5], [$4])dnl
834 ])dnl PKG_CHECK_VAR
835
836-# Copyright (C) 2002-2020 Free Software Foundation, Inc.
837+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
838+dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
839+dnl [DESCRIPTION], [DEFAULT])
840+dnl ------------------------------------------
841+dnl
842+dnl Prepare a "--with-" configure option using the lowercase
843+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
844+dnl PKG_CHECK_MODULES in a single macro.
845+AC_DEFUN([PKG_WITH_MODULES],
846+[
847+m4_pushdef([with_arg], m4_tolower([$1]))
848+
849+m4_pushdef([description],
850+ [m4_default([$5], [build with ]with_arg[ support])])
851+
852+m4_pushdef([def_arg], [m4_default([$6], [auto])])
853+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
854+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
855+
856+m4_case(def_arg,
857+ [yes],[m4_pushdef([with_without], [--without-]with_arg)],
858+ [m4_pushdef([with_without],[--with-]with_arg)])
859+
860+AC_ARG_WITH(with_arg,
861+ AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
862+ [AS_TR_SH([with_]with_arg)=def_arg])
863+
864+AS_CASE([$AS_TR_SH([with_]with_arg)],
865+ [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
866+ [auto],[PKG_CHECK_MODULES([$1],[$2],
867+ [m4_n([def_action_if_found]) $3],
868+ [m4_n([def_action_if_not_found]) $4])])
869+
870+m4_popdef([with_arg])
871+m4_popdef([description])
872+m4_popdef([def_arg])
873+
874+])dnl PKG_WITH_MODULES
875+
876+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
877+dnl [DESCRIPTION], [DEFAULT])
878+dnl -----------------------------------------------
879+dnl
880+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
881+dnl check._[VARIABLE-PREFIX] is exported as make variable.
882+AC_DEFUN([PKG_HAVE_WITH_MODULES],
883+[
884+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
885+
886+AM_CONDITIONAL([HAVE_][$1],
887+ [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
888+])dnl PKG_HAVE_WITH_MODULES
889+
890+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
891+dnl [DESCRIPTION], [DEFAULT])
892+dnl ------------------------------------------------------
893+dnl
894+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
895+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
896+dnl and preprocessor variable.
897+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
898+[
899+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
900+
901+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
902+ [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
903+])dnl PKG_HAVE_DEFINE_WITH_MODULES
904+
905+# Copyright (C) 2002-2021 Free Software Foundation, Inc.
906 #
907 # This file is free software; the Free Software Foundation
908 # gives unlimited permission to copy and/or distribute it,
909@@ -311,7 +379,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
910 [am__api_version='1.16'
911 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
912 dnl require some minimum version. Point them to the right macro.
913-m4_if([$1], [1.16.3], [],
914+m4_if([$1], [1.16.5], [],
915 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
916 ])
917
918@@ -327,12 +395,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
919 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
920 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
921 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
922-[AM_AUTOMAKE_VERSION([1.16.3])dnl
923+[AM_AUTOMAKE_VERSION([1.16.5])dnl
924 m4_ifndef([AC_AUTOCONF_VERSION],
925 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
926 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
927
928-# Copyright (C) 2011-2020 Free Software Foundation, Inc.
929+# Copyright (C) 2011-2021 Free Software Foundation, Inc.
930 #
931 # This file is free software; the Free Software Foundation
932 # gives unlimited permission to copy and/or distribute it,
933@@ -394,7 +462,7 @@ AC_SUBST([AR])dnl
934
935 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
936
937-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
938+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
939 #
940 # This file is free software; the Free Software Foundation
941 # gives unlimited permission to copy and/or distribute it,
942@@ -446,7 +514,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
943
944 # AM_CONDITIONAL -*- Autoconf -*-
945
946-# Copyright (C) 1997-2020 Free Software Foundation, Inc.
947+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
948 #
949 # This file is free software; the Free Software Foundation
950 # gives unlimited permission to copy and/or distribute it,
951@@ -477,7 +545,7 @@ AC_CONFIG_COMMANDS_PRE(
952 Usually this means the macro was only invoked conditionally.]])
953 fi])])
954
955-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
956+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
957 #
958 # This file is free software; the Free Software Foundation
959 # gives unlimited permission to copy and/or distribute it,
960@@ -668,7 +736,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
961
962 # Generate code to set up dependency tracking. -*- Autoconf -*-
963
964-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
965+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
966 #
967 # This file is free software; the Free Software Foundation
968 # gives unlimited permission to copy and/or distribute it,
969@@ -736,7 +804,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
970
971 # AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*-
972
973-# Copyright (C) 2012-2020 Free Software Foundation, Inc.
974+# Copyright (C) 2012-2021 Free Software Foundation, Inc.
975 #
976 # This file is free software; the Free Software Foundation
977 # gives unlimited permission to copy and/or distribute it,
978@@ -753,7 +821,7 @@ AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], [])
979
980 # Do all the work for Automake. -*- Autoconf -*-
981
982-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
983+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
984 #
985 # This file is free software; the Free Software Foundation
986 # gives unlimited permission to copy and/or distribute it,
987@@ -781,6 +849,10 @@ m4_defn([AC_PROG_CC])
988 # release and drop the old call support.
989 AC_DEFUN([AM_INIT_AUTOMAKE],
990 [AC_PREREQ([2.65])dnl
991+m4_ifdef([_$0_ALREADY_INIT],
992+ [m4_fatal([$0 expanded multiple times
993+]m4_defn([_$0_ALREADY_INIT]))],
994+ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
995 dnl Autoconf wants to disallow AM_ names. We explicitly allow
996 dnl the ones we care about.
997 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
998@@ -817,7 +889,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
999 [_AM_SET_OPTIONS([$1])dnl
1000 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
1001 m4_if(
1002- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
1003+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
1004 [ok:ok],,
1005 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
1006 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
1007@@ -869,6 +941,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
1008 [m4_define([AC_PROG_OBJCXX],
1009 m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
1010 ])
1011+# Variables for tags utilities; see am/tags.am
1012+if test -z "$CTAGS"; then
1013+ CTAGS=ctags
1014+fi
1015+AC_SUBST([CTAGS])
1016+if test -z "$ETAGS"; then
1017+ ETAGS=etags
1018+fi
1019+AC_SUBST([ETAGS])
1020+if test -z "$CSCOPE"; then
1021+ CSCOPE=cscope
1022+fi
1023+AC_SUBST([CSCOPE])
1024+
1025 AC_REQUIRE([AM_SILENT_RULES])dnl
1026 dnl The testsuite driver may need to know about EXEEXT, so add the
1027 dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
1028@@ -950,7 +1036,7 @@ for _am_header in $config_headers :; do
1029 done
1030 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
1031
1032-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
1033+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
1034 #
1035 # This file is free software; the Free Software Foundation
1036 # gives unlimited permission to copy and/or distribute it,
1037@@ -971,7 +1057,7 @@ if test x"${install_sh+set}" != xset; then
1038 fi
1039 AC_SUBST([install_sh])])
1040
1041-# Copyright (C) 2003-2020 Free Software Foundation, Inc.
1042+# Copyright (C) 2003-2021 Free Software Foundation, Inc.
1043 #
1044 # This file is free software; the Free Software Foundation
1045 # gives unlimited permission to copy and/or distribute it,
1046@@ -993,7 +1079,7 @@ AC_SUBST([am__leading_dot])])
1047 # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
1048 # From Jim Meyering
1049
1050-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
1051+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
1052 #
1053 # This file is free software; the Free Software Foundation
1054 # gives unlimited permission to copy and/or distribute it,
1055@@ -1028,7 +1114,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
1056
1057 # Check to see how 'make' treats includes. -*- Autoconf -*-
1058
1059-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
1060+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
1061 #
1062 # This file is free software; the Free Software Foundation
1063 # gives unlimited permission to copy and/or distribute it,
1064@@ -1071,7 +1157,7 @@ AC_SUBST([am__quote])])
1065
1066 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
1067
1068-# Copyright (C) 1997-2020 Free Software Foundation, Inc.
1069+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
1070 #
1071 # This file is free software; the Free Software Foundation
1072 # gives unlimited permission to copy and/or distribute it,
1073@@ -1105,7 +1191,7 @@ fi
1074
1075 # Helper functions for option handling. -*- Autoconf -*-
1076
1077-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
1078+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
1079 #
1080 # This file is free software; the Free Software Foundation
1081 # gives unlimited permission to copy and/or distribute it,
1082@@ -1134,7 +1220,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
1083 AC_DEFUN([_AM_IF_OPTION],
1084 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
1085
1086-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
1087+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
1088 #
1089 # This file is free software; the Free Software Foundation
1090 # gives unlimited permission to copy and/or distribute it,
1091@@ -1181,7 +1267,7 @@ AC_LANG_POP([C])])
1092 # For backward compatibility.
1093 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
1094
1095-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
1096+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
1097 #
1098 # This file is free software; the Free Software Foundation
1099 # gives unlimited permission to copy and/or distribute it,
1100@@ -1216,6 +1302,7 @@ AC_DEFUN([AM_PATH_PYTHON],
1101 dnl supported. (2.0 was released on October 16, 2000).
1102 m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
1103 [python python2 python3 dnl
1104+ python3.11 python3.10 dnl
1105 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl
1106 python3.2 python3.1 python3.0 dnl
1107 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl
1108@@ -1260,7 +1347,7 @@ AC_DEFUN([AM_PATH_PYTHON],
1109 ])
1110
1111 if test "$PYTHON" = :; then
1112- dnl Run any user-specified action, or abort.
1113+ dnl Run any user-specified action, or abort.
1114 m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
1115 else
1116
1117@@ -1269,27 +1356,132 @@ AC_DEFUN([AM_PATH_PYTHON],
1118 dnl trailing zero was eliminated. So now we output just the major
1119 dnl and minor version numbers, as numbers. Apparently the tertiary
1120 dnl version is not of interest.
1121-
1122+ dnl
1123 AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
1124- [am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[[:2]])"`])
1125+ [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`])
1126 AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
1127
1128- dnl Use the values of $prefix and $exec_prefix for the corresponding
1129- dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
1130- dnl distinct variables so they can be overridden if need be. However,
1131- dnl general consensus is that you shouldn't need this ability.
1132-
1133- AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
1134- AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
1135-
1136- dnl At times (like when building shared libraries) you may want
1137+ dnl At times, e.g., when building shared libraries, you may want
1138 dnl to know which OS platform Python thinks this is.
1139-
1140+ dnl
1141 AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
1142 [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
1143 AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
1144
1145- # Just factor out some code duplication.
1146+ dnl emacs-page
1147+ dnl If --with-python-sys-prefix is given, use the values of sys.prefix
1148+ dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX
1149+ dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and
1150+ dnl ${exec_prefix} variables.
1151+ dnl
1152+ dnl The two are made distinct variables so they can be overridden if
1153+ dnl need be, although general consensus is that you shouldn't need
1154+ dnl this separation.
1155+ dnl
1156+ dnl Also allow directly setting the prefixes via configure options,
1157+ dnl overriding any default.
1158+ dnl
1159+ if test "x$prefix" = xNONE; then
1160+ am__usable_prefix=$ac_default_prefix
1161+ else
1162+ am__usable_prefix=$prefix
1163+ fi
1164+
1165+ # Allow user to request using sys.* values from Python,
1166+ # instead of the GNU $prefix values.
1167+ AC_ARG_WITH([python-sys-prefix],
1168+ [AS_HELP_STRING([--with-python-sys-prefix],
1169+ [use Python's sys.prefix and sys.exec_prefix values])],
1170+ [am_use_python_sys=:],
1171+ [am_use_python_sys=false])
1172+
1173+ # Allow user to override whatever the default Python prefix is.
1174+ AC_ARG_WITH([python_prefix],
1175+ [AS_HELP_STRING([--with-python_prefix],
1176+ [override the default PYTHON_PREFIX])],
1177+ [am_python_prefix_subst=$withval
1178+ am_cv_python_prefix=$withval
1179+ AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix])
1180+ AC_MSG_RESULT([$am_cv_python_prefix])],
1181+ [
1182+ if $am_use_python_sys; then
1183+ # using python sys.prefix value, not GNU
1184+ AC_CACHE_CHECK([for python default $am_display_PYTHON prefix],
1185+ [am_cv_python_prefix],
1186+ [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`])
1187+
1188+ dnl If sys.prefix is a subdir of $prefix, replace the literal value of
1189+ dnl $prefix with a variable reference so it can be overridden.
1190+ case $am_cv_python_prefix in
1191+ $am__usable_prefix*)
1192+ am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'`
1193+ am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"`
1194+ ;;
1195+ *)
1196+ am_python_prefix_subst=$am_cv_python_prefix
1197+ ;;
1198+ esac
1199+ else # using GNU prefix value, not python sys.prefix
1200+ am_python_prefix_subst='${prefix}'
1201+ am_python_prefix=$am_python_prefix_subst
1202+ AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix])
1203+ AC_MSG_RESULT([$am_python_prefix])
1204+ fi])
1205+ # Substituting python_prefix_subst value.
1206+ AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst])
1207+
1208+ # emacs-page Now do it all over again for Python exec_prefix, but with yet
1209+ # another conditional: fall back to regular prefix if that was specified.
1210+ AC_ARG_WITH([python_exec_prefix],
1211+ [AS_HELP_STRING([--with-python_exec_prefix],
1212+ [override the default PYTHON_EXEC_PREFIX])],
1213+ [am_python_exec_prefix_subst=$withval
1214+ am_cv_python_exec_prefix=$withval
1215+ AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix])
1216+ AC_MSG_RESULT([$am_cv_python_exec_prefix])],
1217+ [
1218+ # no explicit --with-python_exec_prefix, but if
1219+ # --with-python_prefix was given, use its value for python_exec_prefix too.
1220+ AS_IF([test -n "$with_python_prefix"],
1221+ [am_python_exec_prefix_subst=$with_python_prefix
1222+ am_cv_python_exec_prefix=$with_python_prefix
1223+ AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix])
1224+ AC_MSG_RESULT([$am_cv_python_exec_prefix])],
1225+ [
1226+ # Set am__usable_exec_prefix whether using GNU or Python values,
1227+ # since we use that variable for pyexecdir.
1228+ if test "x$exec_prefix" = xNONE; then
1229+ am__usable_exec_prefix=$am__usable_prefix
1230+ else
1231+ am__usable_exec_prefix=$exec_prefix
1232+ fi
1233+ #
1234+ if $am_use_python_sys; then # using python sys.exec_prefix, not GNU
1235+ AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix],
1236+ [am_cv_python_exec_prefix],
1237+ [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`])
1238+ dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the
1239+ dnl literal value of $exec_prefix with a variable reference so it can
1240+ dnl be overridden.
1241+ case $am_cv_python_exec_prefix in
1242+ $am__usable_exec_prefix*)
1243+ am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'`
1244+ am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"`
1245+ ;;
1246+ *)
1247+ am_python_exec_prefix_subst=$am_cv_python_exec_prefix
1248+ ;;
1249+ esac
1250+ else # using GNU $exec_prefix, not python sys.exec_prefix
1251+ am_python_exec_prefix_subst='${exec_prefix}'
1252+ am_python_exec_prefix=$am_python_exec_prefix_subst
1253+ AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix])
1254+ AC_MSG_RESULT([$am_python_exec_prefix])
1255+ fi])])
1256+ # Substituting python_exec_prefix_subst.
1257+ AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst])
1258+
1259+ # Factor out some code duplication into this shell variable.
1260 am_python_setup_sysconfig="\
1261 import sys
1262 # Prefer sysconfig over distutils.sysconfig, for better compatibility
1263@@ -1309,96 +1501,109 @@ try:
1264 except ImportError:
1265 pass"
1266
1267- dnl Set up 4 directories:
1268+ dnl emacs-page Set up 4 directories:
1269
1270- dnl pythondir -- where to install python scripts. This is the
1271- dnl site-packages directory, not the python standard library
1272- dnl directory like in previous automake betas. This behavior
1273- dnl is more consistent with lispdir.m4 for example.
1274+ dnl 1. pythondir: where to install python scripts. This is the
1275+ dnl site-packages directory, not the python standard library
1276+ dnl directory like in previous automake betas. This behavior
1277+ dnl is more consistent with lispdir.m4 for example.
1278 dnl Query distutils for this directory.
1279- AC_CACHE_CHECK([for $am_display_PYTHON script directory],
1280- [am_cv_python_pythondir],
1281- [if test "x$prefix" = xNONE
1282- then
1283- am_py_prefix=$ac_default_prefix
1284- else
1285- am_py_prefix=$prefix
1286- fi
1287- am_cv_python_pythondir=`$PYTHON -c "
1288+ dnl
1289+ AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)],
1290+ [am_cv_python_pythondir],
1291+ [if test "x$am_cv_python_prefix" = x; then
1292+ am_py_prefix=$am__usable_prefix
1293+ else
1294+ am_py_prefix=$am_cv_python_prefix
1295+ fi
1296+ am_cv_python_pythondir=`$PYTHON -c "
1297 $am_python_setup_sysconfig
1298 if can_use_sysconfig:
1299- sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
1300+ if hasattr(sysconfig, 'get_default_scheme'):
1301+ scheme = sysconfig.get_default_scheme()
1302+ else:
1303+ scheme = sysconfig._get_default_scheme()
1304+ if scheme == 'posix_local':
1305+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
1306+ scheme = 'posix_prefix'
1307+ sitedir = sysconfig.get_path('purelib', scheme, vars={'base':'$am_py_prefix'})
1308 else:
1309- from distutils import sysconfig
1310- sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
1311+ from distutils import sysconfig
1312+ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
1313 sys.stdout.write(sitedir)"`
1314- case $am_cv_python_pythondir in
1315- $am_py_prefix*)
1316- am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
1317- am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
1318- ;;
1319- *)
1320- case $am_py_prefix in
1321- /usr|/System*) ;;
1322- *)
1323- am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
1324- ;;
1325- esac
1326- ;;
1327+ #
1328+ case $am_cv_python_pythondir in
1329+ $am_py_prefix*)
1330+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
1331+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"`
1332+ ;;
1333+ *)
1334+ case $am_py_prefix in
1335+ /usr|/System*) ;;
1336+ *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
1337+ ;;
1338 esac
1339- ])
1340+ ;;
1341+ esac
1342+ ])
1343 AC_SUBST([pythondir], [$am_cv_python_pythondir])
1344
1345- dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
1346- dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
1347- dnl more consistent with the rest of automake.
1348-
1349+ dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was
1350+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
1351+ dnl more consistent with the rest of automake.
1352+ dnl
1353 AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
1354
1355- dnl pyexecdir -- directory for installing python extension modules
1356- dnl (shared libraries)
1357+ dnl 3. pyexecdir: directory for installing python extension modules
1358+ dnl (shared libraries).
1359 dnl Query distutils for this directory.
1360- AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
1361- [am_cv_python_pyexecdir],
1362- [if test "x$exec_prefix" = xNONE
1363- then
1364- am_py_exec_prefix=$am_py_prefix
1365- else
1366- am_py_exec_prefix=$exec_prefix
1367- fi
1368- am_cv_python_pyexecdir=`$PYTHON -c "
1369+ dnl
1370+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)],
1371+ [am_cv_python_pyexecdir],
1372+ [if test "x$am_cv_python_exec_prefix" = x; then
1373+ am_py_exec_prefix=$am__usable_exec_prefix
1374+ else
1375+ am_py_exec_prefix=$am_cv_python_exec_prefix
1376+ fi
1377+ am_cv_python_pyexecdir=`$PYTHON -c "
1378 $am_python_setup_sysconfig
1379 if can_use_sysconfig:
1380- sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
1381+ if hasattr(sysconfig, 'get_default_scheme'):
1382+ scheme = sysconfig.get_default_scheme()
1383+ else:
1384+ scheme = sysconfig._get_default_scheme()
1385+ if scheme == 'posix_local':
1386+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
1387+ scheme = 'posix_prefix'
1388+ sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase':'$am_py_exec_prefix'})
1389 else:
1390- from distutils import sysconfig
1391- sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
1392+ from distutils import sysconfig
1393+ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
1394 sys.stdout.write(sitedir)"`
1395- case $am_cv_python_pyexecdir in
1396- $am_py_exec_prefix*)
1397- am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
1398- am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
1399- ;;
1400- *)
1401- case $am_py_exec_prefix in
1402- /usr|/System*) ;;
1403- *)
1404- am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
1405- ;;
1406- esac
1407- ;;
1408+ #
1409+ case $am_cv_python_pyexecdir in
1410+ $am_py_exec_prefix*)
1411+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
1412+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"`
1413+ ;;
1414+ *)
1415+ case $am_py_exec_prefix in
1416+ /usr|/System*) ;;
1417+ *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
1418+ ;;
1419 esac
1420- ])
1421+ ;;
1422+ esac
1423+ ])
1424 AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
1425
1426- dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
1427-
1428+ dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE)
1429+ dnl
1430 AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
1431
1432 dnl Run any user-specified action.
1433 $2
1434 fi
1435-
1436 ])
1437
1438
1439@@ -1421,7 +1626,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
1440 sys.exit(sys.hexversion < minverhex)"
1441 AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
1442
1443-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
1444+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
1445 #
1446 # This file is free software; the Free Software Foundation
1447 # gives unlimited permission to copy and/or distribute it,
1448@@ -1440,7 +1645,7 @@ AC_DEFUN([AM_RUN_LOG],
1449
1450 # Check to make sure that the build environment is sane. -*- Autoconf -*-
1451
1452-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
1453+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
1454 #
1455 # This file is free software; the Free Software Foundation
1456 # gives unlimited permission to copy and/or distribute it,
1457@@ -1521,7 +1726,7 @@ AC_CONFIG_COMMANDS_PRE(
1458 rm -f conftest.file
1459 ])
1460
1461-# Copyright (C) 2009-2020 Free Software Foundation, Inc.
1462+# Copyright (C) 2009-2021 Free Software Foundation, Inc.
1463 #
1464 # This file is free software; the Free Software Foundation
1465 # gives unlimited permission to copy and/or distribute it,
1466@@ -1581,7 +1786,7 @@ AC_SUBST([AM_BACKSLASH])dnl
1467 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1468 ])
1469
1470-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
1471+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
1472 #
1473 # This file is free software; the Free Software Foundation
1474 # gives unlimited permission to copy and/or distribute it,
1475@@ -1609,7 +1814,7 @@ fi
1476 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1477 AC_SUBST([INSTALL_STRIP_PROGRAM])])
1478
1479-# Copyright (C) 2006-2020 Free Software Foundation, Inc.
1480+# Copyright (C) 2006-2021 Free Software Foundation, Inc.
1481 #
1482 # This file is free software; the Free Software Foundation
1483 # gives unlimited permission to copy and/or distribute it,
1484@@ -1628,7 +1833,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1485
1486 # Check how to create a tarball. -*- Autoconf -*-
1487
1488-# Copyright (C) 2004-2020 Free Software Foundation, Inc.
1489+# Copyright (C) 2004-2021 Free Software Foundation, Inc.
1490 #
1491 # This file is free software; the Free Software Foundation
1492 # gives unlimited permission to copy and/or distribute it,
1493@@ -1765,11 +1970,9 @@ m4_include([m4/ax_check_openssl.m4])
1494 m4_include([m4/ax_gcc_func_attribute.m4])
1495 m4_include([m4/ax_jemalloc.m4])
1496 m4_include([m4/ax_lib_lmdb.m4])
1497-m4_include([m4/ax_perl_module.m4])
1498 m4_include([m4/ax_posix_shell.m4])
1499 m4_include([m4/ax_prog_cc_for_build.m4])
1500 m4_include([m4/ax_pthread.m4])
1501-m4_include([m4/ax_python_module.m4])
1502 m4_include([m4/ax_restore_flags.m4])
1503 m4_include([m4/ax_save_flags.m4])
1504 m4_include([m4/ax_tls.m4])
1505diff --git a/ar-lib b/ar-lib
1506index 1e9388e..c349042 100755
1507--- a/ar-lib
1508+++ b/ar-lib
1509@@ -4,7 +4,7 @@
1510 me=ar-lib
1511 scriptversion=2019-07-04.01; # UTC
1512
1513-# Copyright (C) 2010-2020 Free Software Foundation, Inc.
1514+# Copyright (C) 2010-2021 Free Software Foundation, Inc.
1515 # Written by Peter Rosin <peda@lysator.liu.se>.
1516 #
1517 # This program is free software; you can redistribute it and/or modify
1518diff --git a/bin/Makefile.in b/bin/Makefile.in
1519index 3b50ade..d13002c 100644
1520--- a/bin/Makefile.in
1521+++ b/bin/Makefile.in
1522@@ -1,7 +1,7 @@
1523-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1524+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1525 # @configure_input@
1526
1527-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1528+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1529
1530 # This Makefile.in is free software; the Free Software Foundation
1531 # gives unlimited permission to copy and/or distribute it,
1532@@ -96,11 +96,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1533 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1534 $(top_srcdir)/m4/ax_jemalloc.m4 \
1535 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1536- $(top_srcdir)/m4/ax_perl_module.m4 \
1537 $(top_srcdir)/m4/ax_posix_shell.m4 \
1538 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1539 $(top_srcdir)/m4/ax_pthread.m4 \
1540- $(top_srcdir)/m4/ax_python_module.m4 \
1541 $(top_srcdir)/m4/ax_restore_flags.m4 \
1542 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1543 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1544@@ -167,8 +165,6 @@ am__define_uniq_tagged_files = \
1545 unique=`for i in $$list; do \
1546 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1547 done | $(am__uniquify_input)`
1548-ETAGS = etags
1549-CTAGS = ctags
1550 DIST_SUBDIRS = $(SUBDIRS)
1551 am__DIST_COMMON = $(srcdir)/Makefile.in
1552 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1553@@ -218,6 +214,8 @@ CPP = @CPP@
1554 CPPFLAGS = @CPPFLAGS@
1555 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1556 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1557+CSCOPE = @CSCOPE@
1558+CTAGS = @CTAGS@
1559 CURL = @CURL@
1560 CYGPATH_W = @CYGPATH_W@
1561 DEFS = @DEFS@
1562@@ -233,8 +231,10 @@ ECHO_C = @ECHO_C@
1563 ECHO_N = @ECHO_N@
1564 ECHO_T = @ECHO_T@
1565 EGREP = @EGREP@
1566+ETAGS = @ETAGS@
1567 EXEEXT = @EXEEXT@
1568 FGREP = @FGREP@
1569+FILECMD = @FILECMD@
1570 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1571 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1572 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1573@@ -537,7 +537,6 @@ cscopelist-am: $(am__tagged_files)
1574
1575 distclean-tags:
1576 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1577-
1578 distdir: $(BUILT_SOURCES)
1579 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1580
1581diff --git a/bin/check/Makefile.in b/bin/check/Makefile.in
1582index 7bd5132..7926d5f 100644
1583--- a/bin/check/Makefile.in
1584+++ b/bin/check/Makefile.in
1585@@ -1,7 +1,7 @@
1586-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1587+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1588 # @configure_input@
1589
1590-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1591+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1592
1593 # This Makefile.in is free software; the Free Software Foundation
1594 # gives unlimited permission to copy and/or distribute it,
1595@@ -105,11 +105,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1596 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1597 $(top_srcdir)/m4/ax_jemalloc.m4 \
1598 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1599- $(top_srcdir)/m4/ax_perl_module.m4 \
1600 $(top_srcdir)/m4/ax_posix_shell.m4 \
1601 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1602 $(top_srcdir)/m4/ax_pthread.m4 \
1603- $(top_srcdir)/m4/ax_python_module.m4 \
1604 $(top_srcdir)/m4/ax_restore_flags.m4 \
1605 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1606 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1607@@ -208,8 +206,6 @@ am__define_uniq_tagged_files = \
1608 unique=`for i in $$list; do \
1609 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1610 done | $(am__uniquify_input)`
1611-ETAGS = etags
1612-CTAGS = ctags
1613 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1614 $(top_srcdir)/depcomp
1615 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1616@@ -234,6 +230,8 @@ CPP = @CPP@
1617 CPPFLAGS = @CPPFLAGS@
1618 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1619 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1620+CSCOPE = @CSCOPE@
1621+CTAGS = @CTAGS@
1622 CURL = @CURL@
1623 CYGPATH_W = @CYGPATH_W@
1624 DEFS = @DEFS@
1625@@ -249,8 +247,10 @@ ECHO_C = @ECHO_C@
1626 ECHO_N = @ECHO_N@
1627 ECHO_T = @ECHO_T@
1628 EGREP = @EGREP@
1629+ETAGS = @ETAGS@
1630 EXEEXT = @EXEEXT@
1631 FGREP = @FGREP@
1632+FILECMD = @FILECMD@
1633 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1634 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1635 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1636@@ -677,7 +677,6 @@ cscopelist-am: $(am__tagged_files)
1637
1638 distclean-tags:
1639 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1640-
1641 distdir: $(BUILT_SOURCES)
1642 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1643
1644diff --git a/bin/confgen/Makefile.in b/bin/confgen/Makefile.in
1645index c899429..872f567 100644
1646--- a/bin/confgen/Makefile.in
1647+++ b/bin/confgen/Makefile.in
1648@@ -1,7 +1,7 @@
1649-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1650+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1651 # @configure_input@
1652
1653-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1654+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1655
1656 # This Makefile.in is free software; the Free Software Foundation
1657 # gives unlimited permission to copy and/or distribute it,
1658@@ -105,11 +105,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1659 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1660 $(top_srcdir)/m4/ax_jemalloc.m4 \
1661 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1662- $(top_srcdir)/m4/ax_perl_module.m4 \
1663 $(top_srcdir)/m4/ax_posix_shell.m4 \
1664 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1665 $(top_srcdir)/m4/ax_pthread.m4 \
1666- $(top_srcdir)/m4/ax_python_module.m4 \
1667 $(top_srcdir)/m4/ax_restore_flags.m4 \
1668 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1669 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1670@@ -204,8 +202,6 @@ am__define_uniq_tagged_files = \
1671 unique=`for i in $$list; do \
1672 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1673 done | $(am__uniquify_input)`
1674-ETAGS = etags
1675-CTAGS = ctags
1676 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1677 $(top_srcdir)/depcomp
1678 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1679@@ -230,6 +226,8 @@ CPP = @CPP@
1680 CPPFLAGS = @CPPFLAGS@
1681 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1682 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1683+CSCOPE = @CSCOPE@
1684+CTAGS = @CTAGS@
1685 CURL = @CURL@
1686 CYGPATH_W = @CYGPATH_W@
1687 DEFS = @DEFS@
1688@@ -245,8 +243,10 @@ ECHO_C = @ECHO_C@
1689 ECHO_N = @ECHO_N@
1690 ECHO_T = @ECHO_T@
1691 EGREP = @EGREP@
1692+ETAGS = @ETAGS@
1693 EXEEXT = @EXEEXT@
1694 FGREP = @FGREP@
1695+FILECMD = @FILECMD@
1696 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1697 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1698 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1699@@ -677,7 +677,6 @@ cscopelist-am: $(am__tagged_files)
1700
1701 distclean-tags:
1702 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1703-
1704 distdir: $(BUILT_SOURCES)
1705 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1706
1707diff --git a/bin/delv/Makefile.in b/bin/delv/Makefile.in
1708index 18b7204..c46fc52 100644
1709--- a/bin/delv/Makefile.in
1710+++ b/bin/delv/Makefile.in
1711@@ -1,7 +1,7 @@
1712-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1713+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1714 # @configure_input@
1715
1716-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1717+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1718
1719 # This Makefile.in is free software; the Free Software Foundation
1720 # gives unlimited permission to copy and/or distribute it,
1721@@ -104,11 +104,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1722 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1723 $(top_srcdir)/m4/ax_jemalloc.m4 \
1724 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1725- $(top_srcdir)/m4/ax_perl_module.m4 \
1726 $(top_srcdir)/m4/ax_posix_shell.m4 \
1727 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1728 $(top_srcdir)/m4/ax_pthread.m4 \
1729- $(top_srcdir)/m4/ax_python_module.m4 \
1730 $(top_srcdir)/m4/ax_restore_flags.m4 \
1731 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1732 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1733@@ -192,8 +190,6 @@ am__define_uniq_tagged_files = \
1734 unique=`for i in $$list; do \
1735 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1736 done | $(am__uniquify_input)`
1737-ETAGS = etags
1738-CTAGS = ctags
1739 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1740 $(top_srcdir)/depcomp
1741 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1742@@ -218,6 +214,8 @@ CPP = @CPP@
1743 CPPFLAGS = @CPPFLAGS@
1744 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1745 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1746+CSCOPE = @CSCOPE@
1747+CTAGS = @CTAGS@
1748 CURL = @CURL@
1749 CYGPATH_W = @CYGPATH_W@
1750 DEFS = @DEFS@
1751@@ -233,8 +231,10 @@ ECHO_C = @ECHO_C@
1752 ECHO_N = @ECHO_N@
1753 ECHO_T = @ECHO_T@
1754 EGREP = @EGREP@
1755+ETAGS = @ETAGS@
1756 EXEEXT = @EXEEXT@
1757 FGREP = @FGREP@
1758+FILECMD = @FILECMD@
1759 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1760 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1761 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1762@@ -644,7 +644,6 @@ cscopelist-am: $(am__tagged_files)
1763
1764 distclean-tags:
1765 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1766-
1767 distdir: $(BUILT_SOURCES)
1768 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1769
1770diff --git a/bin/dig/Makefile.in b/bin/dig/Makefile.in
1771index f0cc763..9c9fa5d 100644
1772--- a/bin/dig/Makefile.in
1773+++ b/bin/dig/Makefile.in
1774@@ -1,7 +1,7 @@
1775-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1776+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1777 # @configure_input@
1778
1779-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1780+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1781
1782 # This Makefile.in is free software; the Free Software Foundation
1783 # gives unlimited permission to copy and/or distribute it,
1784@@ -111,11 +111,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1785 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1786 $(top_srcdir)/m4/ax_jemalloc.m4 \
1787 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1788- $(top_srcdir)/m4/ax_perl_module.m4 \
1789 $(top_srcdir)/m4/ax_posix_shell.m4 \
1790 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1791 $(top_srcdir)/m4/ax_pthread.m4 \
1792- $(top_srcdir)/m4/ax_python_module.m4 \
1793 $(top_srcdir)/m4/ax_restore_flags.m4 \
1794 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1795 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1796@@ -220,8 +218,6 @@ am__define_uniq_tagged_files = \
1797 unique=`for i in $$list; do \
1798 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1799 done | $(am__uniquify_input)`
1800-ETAGS = etags
1801-CTAGS = ctags
1802 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1803 $(top_srcdir)/depcomp
1804 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1805@@ -246,6 +242,8 @@ CPP = @CPP@
1806 CPPFLAGS = @CPPFLAGS@
1807 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1808 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1809+CSCOPE = @CSCOPE@
1810+CTAGS = @CTAGS@
1811 CURL = @CURL@
1812 CYGPATH_W = @CYGPATH_W@
1813 DEFS = @DEFS@
1814@@ -261,8 +259,10 @@ ECHO_C = @ECHO_C@
1815 ECHO_N = @ECHO_N@
1816 ECHO_T = @ECHO_T@
1817 EGREP = @EGREP@
1818+ETAGS = @ETAGS@
1819 EXEEXT = @EXEEXT@
1820 FGREP = @FGREP@
1821+FILECMD = @FILECMD@
1822 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1823 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1824 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1825@@ -710,7 +710,6 @@ cscopelist-am: $(am__tagged_files)
1826
1827 distclean-tags:
1828 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1829-
1830 distdir: $(BUILT_SOURCES)
1831 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1832
1833diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
1834index 55f7bf2..a8ae79f 100644
1835--- a/bin/dig/dighost.c
1836+++ b/bin/dig/dighost.c
1837@@ -3249,6 +3249,7 @@ udp_ready(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) {
1838 start_udp(next);
1839 check_if_done();
1840 } else {
1841+ dighost_error("no servers could be reached\n");
1842 clear_current_lookup();
1843 }
1844
1845@@ -3654,6 +3655,7 @@ tcp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) {
1846 start_tcp(next);
1847 check_if_done();
1848 } else {
1849+ dighost_error("no servers could be reached\n");
1850 clear_current_lookup();
1851 }
1852
1853diff --git a/bin/dnssec/Makefile.in b/bin/dnssec/Makefile.in
1854index 376e259..879b86d 100644
1855--- a/bin/dnssec/Makefile.in
1856+++ b/bin/dnssec/Makefile.in
1857@@ -1,7 +1,7 @@
1858-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1859+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1860 # @configure_input@
1861
1862-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1863+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1864
1865 # This Makefile.in is free software; the Free Software Foundation
1866 # gives unlimited permission to copy and/or distribute it,
1867@@ -109,11 +109,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1868 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1869 $(top_srcdir)/m4/ax_jemalloc.m4 \
1870 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1871- $(top_srcdir)/m4/ax_perl_module.m4 \
1872 $(top_srcdir)/m4/ax_posix_shell.m4 \
1873 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1874 $(top_srcdir)/m4/ax_pthread.m4 \
1875- $(top_srcdir)/m4/ax_python_module.m4 \
1876 $(top_srcdir)/m4/ax_restore_flags.m4 \
1877 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1878 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1879@@ -253,8 +251,6 @@ am__define_uniq_tagged_files = \
1880 unique=`for i in $$list; do \
1881 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1882 done | $(am__uniquify_input)`
1883-ETAGS = etags
1884-CTAGS = ctags
1885 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1886 $(top_srcdir)/depcomp
1887 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1888@@ -279,6 +275,8 @@ CPP = @CPP@
1889 CPPFLAGS = @CPPFLAGS@
1890 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1891 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1892+CSCOPE = @CSCOPE@
1893+CTAGS = @CTAGS@
1894 CURL = @CURL@
1895 CYGPATH_W = @CYGPATH_W@
1896 DEFS = @DEFS@
1897@@ -294,8 +292,10 @@ ECHO_C = @ECHO_C@
1898 ECHO_N = @ECHO_N@
1899 ECHO_T = @ECHO_T@
1900 EGREP = @EGREP@
1901+ETAGS = @ETAGS@
1902 EXEEXT = @EXEEXT@
1903 FGREP = @FGREP@
1904+FILECMD = @FILECMD@
1905 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1906 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1907 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1908@@ -777,7 +777,6 @@ cscopelist-am: $(am__tagged_files)
1909
1910 distclean-tags:
1911 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1912-
1913 distdir: $(BUILT_SOURCES)
1914 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1915
1916diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c
1917index f52457c..d67ac3d 100644
1918--- a/bin/dnssec/dnssec-signzone.c
1919+++ b/bin/dnssec/dnssec-signzone.c
1920@@ -99,7 +99,7 @@ static int nsec_datatype = dns_rdatatype_nsec;
1921 "dns_dbiterator_current()")
1922
1923 #define IS_NSEC3 (nsec_datatype == dns_rdatatype_nsec3)
1924-#define OPTOUT(x) (((x)&DNS_NSEC3FLAG_OPTOUT) != 0)
1925+#define OPTOUT(x) (((x) & DNS_NSEC3FLAG_OPTOUT) != 0)
1926
1927 #define REVOKE(x) ((dst_key_flags(x) & DNS_KEYFLAG_REVOKE) != 0)
1928
1929diff --git a/bin/named/Makefile.in b/bin/named/Makefile.in
1930index fdd4b33..2b60a43 100644
1931--- a/bin/named/Makefile.in
1932+++ b/bin/named/Makefile.in
1933@@ -1,7 +1,7 @@
1934-# Makefile.in generated by automake 1.16.3 from Makefile.am.
1935+# Makefile.in generated by automake 1.16.5 from Makefile.am.
1936 # @configure_input@
1937
1938-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
1939+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
1940
1941 # This Makefile.in is free software; the Free Software Foundation
1942 # gives unlimited permission to copy and/or distribute it,
1943@@ -125,11 +125,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
1944 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
1945 $(top_srcdir)/m4/ax_jemalloc.m4 \
1946 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
1947- $(top_srcdir)/m4/ax_perl_module.m4 \
1948 $(top_srcdir)/m4/ax_posix_shell.m4 \
1949 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
1950 $(top_srcdir)/m4/ax_pthread.m4 \
1951- $(top_srcdir)/m4/ax_python_module.m4 \
1952 $(top_srcdir)/m4/ax_restore_flags.m4 \
1953 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
1954 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
1955@@ -249,8 +247,6 @@ am__define_uniq_tagged_files = \
1956 unique=`for i in $$list; do \
1957 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1958 done | $(am__uniquify_input)`
1959-ETAGS = etags
1960-CTAGS = ctags
1961 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
1962 $(top_srcdir)/depcomp
1963 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1964@@ -275,6 +271,8 @@ CPP = @CPP@
1965 CPPFLAGS = @CPPFLAGS@
1966 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
1967 CPP_FOR_BUILD = @CPP_FOR_BUILD@
1968+CSCOPE = @CSCOPE@
1969+CTAGS = @CTAGS@
1970 CURL = @CURL@
1971 CYGPATH_W = @CYGPATH_W@
1972 DEFS = @DEFS@
1973@@ -290,8 +288,10 @@ ECHO_C = @ECHO_C@
1974 ECHO_N = @ECHO_N@
1975 ECHO_T = @ECHO_T@
1976 EGREP = @EGREP@
1977+ETAGS = @ETAGS@
1978 EXEEXT = @EXEEXT@
1979 FGREP = @FGREP@
1980+FILECMD = @FILECMD@
1981 FSTRM_CAPTURE = @FSTRM_CAPTURE@
1982 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
1983 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
1984@@ -737,7 +737,6 @@ cscopelist-am: $(am__tagged_files)
1985
1986 distclean-tags:
1987 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1988-
1989 distdir: $(BUILT_SOURCES)
1990 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1991
1992diff --git a/bin/named/config.c b/bin/named/config.c
1993index 7f318a2..f95e433 100644
1994--- a/bin/named/config.c
1995+++ b/bin/named/config.c
1996@@ -337,14 +337,14 @@ dnssec-policy \"insecure\" {\n\
1997 "# END TRUST ANCHORS\n\
1998 \n\
1999 primaries " DEFAULT_IANA_ROOT_ZONE_PRIMARIES " {\n\
2000- 2001:500:200::b; # b.root-servers.net\n\
2001+ 2801:1b8:10::b; # b.root-servers.net\n\
2002 2001:500:2::c; # c.root-servers.net\n\
2003 2001:500:2f::f; # f.root-servers.net\n\
2004 2001:500:12::d0d; # g.root-servers.net\n\
2005 2001:7fd::1; # k.root-servers.net\n\
2006 2620:0:2830:202::132; # xfr.cjr.dns.icann.org\n\
2007 2620:0:2d0:202::132; # xfr.lax.dns.icann.org\n\
2008- 199.9.14.201; # b.root-servers.net\n\
2009+ 170.247.170.2; # b.root-servers.net\n\
2010 192.33.4.12; # c.root-servers.net\n\
2011 192.5.5.241; # f.root-servers.net\n\
2012 192.112.36.4; # g.root-servers.net\n\
2013diff --git a/bin/named/os.c b/bin/named/os.c
2014index 7af4729..0222abb 100644
2015--- a/bin/named/os.c
2016+++ b/bin/named/os.c
2017@@ -552,17 +552,19 @@ cleanup_pidfile(void) {
2018 }
2019
2020 static void
2021-cleanup_lockfile(void) {
2022+cleanup_lockfile(bool unlink_lockfile) {
2023 if (singletonfd != -1) {
2024 close(singletonfd);
2025 singletonfd = -1;
2026 }
2027
2028 if (lockfile != NULL) {
2029- int n = unlink(lockfile);
2030- if (n == -1 && errno != ENOENT) {
2031- named_main_earlywarning("unlink '%s': failed",
2032- lockfile);
2033+ if (unlink_lockfile) {
2034+ int n = unlink(lockfile);
2035+ if (n == -1 && errno != ENOENT) {
2036+ named_main_earlywarning("unlink '%s': failed",
2037+ lockfile);
2038+ }
2039 }
2040 free(lockfile);
2041 lockfile = NULL;
2042@@ -830,7 +832,7 @@ named_os_issingleton(const char *filename) {
2043 if (ret == -1) {
2044 named_main_earlywarning("couldn't create '%s'",
2045 filename);
2046- cleanup_lockfile();
2047+ cleanup_lockfile(false);
2048 return (false);
2049 }
2050 }
2051@@ -842,7 +844,7 @@ named_os_issingleton(const char *filename) {
2052 singletonfd = open(filename, O_WRONLY | O_CREAT,
2053 S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
2054 if (singletonfd == -1) {
2055- cleanup_lockfile();
2056+ cleanup_lockfile(false);
2057 return (false);
2058 }
2059
2060@@ -854,8 +856,7 @@ named_os_issingleton(const char *filename) {
2061
2062 /* Non-blocking (does not wait for lock) */
2063 if (fcntl(singletonfd, F_SETLK, &lock) == -1) {
2064- close(singletonfd);
2065- singletonfd = -1;
2066+ cleanup_lockfile(false);
2067 return (false);
2068 }
2069
2070@@ -866,7 +867,7 @@ void
2071 named_os_shutdown(void) {
2072 closelog();
2073 cleanup_pidfile();
2074- cleanup_lockfile();
2075+ cleanup_lockfile(true);
2076 }
2077
2078 void
2079diff --git a/bin/named/server.c b/bin/named/server.c
2080index 2f21fc5..bfe6df3 100644
2081--- a/bin/named/server.c
2082+++ b/bin/named/server.c
2083@@ -8407,8 +8407,8 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
2084 (void)named_config_get(maps, "lock-file", &obj);
2085
2086 if (!first_time) {
2087- if (obj != NULL && !cfg_obj_isstring(obj) &&
2088- server->lockfile != NULL &&
2089+ if (obj != NULL && cfg_obj_isstring(obj) &&
2090+ server->lockfile != NULL && !named_g_forcelock &&
2091 strcmp(cfg_obj_asstring(obj), server->lockfile) != 0)
2092 {
2093 isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
2094@@ -8422,31 +8422,25 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
2095 }
2096
2097 if (obj != NULL) {
2098- if (cfg_obj_isvoid(obj)) {
2099- isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
2100- NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
2101- "skipping lock-file check ");
2102- return (ISC_R_SUCCESS);
2103- } else if (named_g_forcelock) {
2104+ if (named_g_forcelock) {
2105 isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
2106 NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING,
2107 "'lock-file' has no effect "
2108 "because the server was run with -X");
2109- server->lockfile = isc_mem_strdup(
2110- server->mctx, named_g_defaultlockfile);
2111- } else {
2112+ if (named_g_defaultlockfile != NULL) {
2113+ server->lockfile = isc_mem_strdup(
2114+ server->mctx, named_g_defaultlockfile);
2115+ }
2116+ } else if (cfg_obj_isvoid(obj)) {
2117+ isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
2118+ NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
2119+ "skipping lock-file check");
2120+ } else if (cfg_obj_isstring(obj)) {
2121 filename = cfg_obj_asstring(obj);
2122 server->lockfile = isc_mem_strdup(server->mctx,
2123 filename);
2124 }
2125-
2126- if (server->lockfile == NULL) {
2127- return (ISC_R_NOMEMORY);
2128- }
2129- }
2130-
2131- if (named_g_forcelock && named_g_defaultlockfile != NULL) {
2132- INSIST(server->lockfile == NULL);
2133+ } else if (named_g_forcelock && named_g_defaultlockfile != NULL) {
2134 server->lockfile = isc_mem_strdup(server->mctx,
2135 named_g_defaultlockfile);
2136 }
2137@@ -15850,6 +15844,8 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly,
2138 * If -dump was specified, list NTA's and return
2139 */
2140 if (dump) {
2141+ size_t last = 0;
2142+
2143 for (view = ISC_LIST_HEAD(server->viewlist); view != NULL;
2144 view = ISC_LIST_NEXT(view, link))
2145 {
2146@@ -15861,6 +15857,12 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly,
2147 continue;
2148 }
2149
2150+ if (last != isc_buffer_usedlength(*text)) {
2151+ CHECK(putstr(text, "\n"));
2152+ }
2153+
2154+ last = isc_buffer_usedlength(*text);
2155+
2156 CHECK(dns_ntatable_totext(ntatable, view->name, text));
2157 }
2158 CHECK(putnull(text));
2159diff --git a/bin/nsupdate/Makefile.in b/bin/nsupdate/Makefile.in
2160index 4180e9d..2cda13d 100644
2161--- a/bin/nsupdate/Makefile.in
2162+++ b/bin/nsupdate/Makefile.in
2163@@ -1,7 +1,7 @@
2164-# Makefile.in generated by automake 1.16.3 from Makefile.am.
2165+# Makefile.in generated by automake 1.16.5 from Makefile.am.
2166 # @configure_input@
2167
2168-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
2169+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
2170
2171 # This Makefile.in is free software; the Free Software Foundation
2172 # gives unlimited permission to copy and/or distribute it,
2173@@ -107,11 +107,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2174 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
2175 $(top_srcdir)/m4/ax_jemalloc.m4 \
2176 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
2177- $(top_srcdir)/m4/ax_perl_module.m4 \
2178 $(top_srcdir)/m4/ax_posix_shell.m4 \
2179 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
2180 $(top_srcdir)/m4/ax_pthread.m4 \
2181- $(top_srcdir)/m4/ax_python_module.m4 \
2182 $(top_srcdir)/m4/ax_restore_flags.m4 \
2183 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
2184 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
2185@@ -200,8 +198,6 @@ am__define_uniq_tagged_files = \
2186 unique=`for i in $$list; do \
2187 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2188 done | $(am__uniquify_input)`
2189-ETAGS = etags
2190-CTAGS = ctags
2191 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
2192 $(top_srcdir)/depcomp
2193 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
2194@@ -226,6 +222,8 @@ CPP = @CPP@
2195 CPPFLAGS = @CPPFLAGS@
2196 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
2197 CPP_FOR_BUILD = @CPP_FOR_BUILD@
2198+CSCOPE = @CSCOPE@
2199+CTAGS = @CTAGS@
2200 CURL = @CURL@
2201 CYGPATH_W = @CYGPATH_W@
2202 DEFS = @DEFS@
2203@@ -241,8 +239,10 @@ ECHO_C = @ECHO_C@
2204 ECHO_N = @ECHO_N@
2205 ECHO_T = @ECHO_T@
2206 EGREP = @EGREP@
2207+ETAGS = @ETAGS@
2208 EXEEXT = @EXEEXT@
2209 FGREP = @FGREP@
2210+FILECMD = @FILECMD@
2211 FSTRM_CAPTURE = @FSTRM_CAPTURE@
2212 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
2213 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
2214@@ -649,7 +649,6 @@ cscopelist-am: $(am__tagged_files)
2215
2216 distclean-tags:
2217 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
2218-
2219 distdir: $(BUILT_SOURCES)
2220 $(MAKE) $(AM_MAKEFLAGS) distdir-am
2221
2222diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c
2223index 1f06dab..980d543 100644
2224--- a/bin/nsupdate/nsupdate.c
2225+++ b/bin/nsupdate/nsupdate.c
2226@@ -369,13 +369,13 @@ reset_system(void) {
2227 }
2228
2229 static bool
2230-parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2231+parse_hmac(const dns_name_t **hmacp, const char *hmacstr, size_t len,
2232 uint16_t *digestbitsp) {
2233 uint16_t digestbits = 0;
2234 isc_result_t result;
2235 char buf[20];
2236
2237- REQUIRE(hmac != NULL && *hmac == NULL);
2238+ REQUIRE(hmacp != NULL && *hmacp == NULL);
2239 REQUIRE(hmacstr != NULL);
2240
2241 if (len >= sizeof(buf)) {
2242@@ -387,9 +387,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2243 strlcpy(buf, hmacstr, ISC_MIN(len + 1, sizeof(buf)));
2244
2245 if (strcasecmp(buf, "hmac-md5") == 0) {
2246- *hmac = DNS_TSIG_HMACMD5_NAME;
2247+ *hmacp = DNS_TSIG_HMACMD5_NAME;
2248 } else if (strncasecmp(buf, "hmac-md5-", 9) == 0) {
2249- *hmac = DNS_TSIG_HMACMD5_NAME;
2250+ *hmacp = DNS_TSIG_HMACMD5_NAME;
2251 result = isc_parse_uint16(&digestbits, &buf[9], 10);
2252 if (result != ISC_R_SUCCESS || digestbits > 128) {
2253 error("digest-bits out of range [0..128]");
2254@@ -397,9 +397,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2255 }
2256 *digestbitsp = (digestbits + 7) & ~0x7U;
2257 } else if (strcasecmp(buf, "hmac-sha1") == 0) {
2258- *hmac = DNS_TSIG_HMACSHA1_NAME;
2259+ *hmacp = DNS_TSIG_HMACSHA1_NAME;
2260 } else if (strncasecmp(buf, "hmac-sha1-", 10) == 0) {
2261- *hmac = DNS_TSIG_HMACSHA1_NAME;
2262+ *hmacp = DNS_TSIG_HMACSHA1_NAME;
2263 result = isc_parse_uint16(&digestbits, &buf[10], 10);
2264 if (result != ISC_R_SUCCESS || digestbits > 160) {
2265 error("digest-bits out of range [0..160]");
2266@@ -407,9 +407,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2267 }
2268 *digestbitsp = (digestbits + 7) & ~0x7U;
2269 } else if (strcasecmp(buf, "hmac-sha224") == 0) {
2270- *hmac = DNS_TSIG_HMACSHA224_NAME;
2271+ *hmacp = DNS_TSIG_HMACSHA224_NAME;
2272 } else if (strncasecmp(buf, "hmac-sha224-", 12) == 0) {
2273- *hmac = DNS_TSIG_HMACSHA224_NAME;
2274+ *hmacp = DNS_TSIG_HMACSHA224_NAME;
2275 result = isc_parse_uint16(&digestbits, &buf[12], 10);
2276 if (result != ISC_R_SUCCESS || digestbits > 224) {
2277 error("digest-bits out of range [0..224]");
2278@@ -417,9 +417,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2279 }
2280 *digestbitsp = (digestbits + 7) & ~0x7U;
2281 } else if (strcasecmp(buf, "hmac-sha256") == 0) {
2282- *hmac = DNS_TSIG_HMACSHA256_NAME;
2283+ *hmacp = DNS_TSIG_HMACSHA256_NAME;
2284 } else if (strncasecmp(buf, "hmac-sha256-", 12) == 0) {
2285- *hmac = DNS_TSIG_HMACSHA256_NAME;
2286+ *hmacp = DNS_TSIG_HMACSHA256_NAME;
2287 result = isc_parse_uint16(&digestbits, &buf[12], 10);
2288 if (result != ISC_R_SUCCESS || digestbits > 256) {
2289 error("digest-bits out of range [0..256]");
2290@@ -427,9 +427,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2291 }
2292 *digestbitsp = (digestbits + 7) & ~0x7U;
2293 } else if (strcasecmp(buf, "hmac-sha384") == 0) {
2294- *hmac = DNS_TSIG_HMACSHA384_NAME;
2295+ *hmacp = DNS_TSIG_HMACSHA384_NAME;
2296 } else if (strncasecmp(buf, "hmac-sha384-", 12) == 0) {
2297- *hmac = DNS_TSIG_HMACSHA384_NAME;
2298+ *hmacp = DNS_TSIG_HMACSHA384_NAME;
2299 result = isc_parse_uint16(&digestbits, &buf[12], 10);
2300 if (result != ISC_R_SUCCESS || digestbits > 384) {
2301 error("digest-bits out of range [0..384]");
2302@@ -437,9 +437,9 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len,
2303 }
2304 *digestbitsp = (digestbits + 7) & ~0x7U;
2305 } else if (strcasecmp(buf, "hmac-sha512") == 0) {
2306- *hmac = DNS_TSIG_HMACSHA512_NAME;
2307+ *hmacp = DNS_TSIG_HMACSHA512_NAME;
2308 } else if (strncasecmp(buf, "hmac-sha512-", 12) == 0) {
2309- *hmac = DNS_TSIG_HMACSHA512_NAME;
2310+ *hmacp = DNS_TSIG_HMACSHA512_NAME;
2311 result = isc_parse_uint16(&digestbits, &buf[12], 10);
2312 if (result != ISC_R_SUCCESS || digestbits > 512) {
2313 error("digest-bits out of range [0..512]");
2314@@ -2594,6 +2594,8 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
2315 result = dns_request_getresponse(request, rcvmsg,
2316 DNS_MESSAGEPARSE_PRESERVEORDER);
2317 if (result == DNS_R_TSIGERRORSET && servers != NULL) {
2318+ unsigned int options = 0;
2319+
2320 dns_message_detach(&rcvmsg);
2321 ddebug("Destroying request [%p]", request);
2322 dns_request_destroy(&request);
2323@@ -2603,6 +2605,10 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
2324 dns_message_renderreset(soaquery);
2325 ddebug("retrying soa request without TSIG");
2326
2327+ if (!default_servers && usevc) {
2328+ options |= DNS_REQUESTOPT_TCP;
2329+ }
2330+
2331 if (isc_sockaddr_pf(addr) == AF_INET6) {
2332 srcaddr = localaddr6;
2333 } else {
2334@@ -2610,7 +2616,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
2335 }
2336
2337 result = dns_request_create(requestmgr, soaquery, srcaddr, addr,
2338- 0, NULL, timeout, udp_timeout,
2339+ options, NULL, timeout, udp_timeout,
2340 udp_retries, global_task, recvsoa,
2341 reqinfo, &request);
2342 check_result(result, "dns_request_create");
2343@@ -2825,6 +2831,11 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
2344 isc_result_t result;
2345 nsu_requestinfo_t *reqinfo;
2346 isc_sockaddr_t *srcaddr;
2347+ unsigned int options = 0;
2348+
2349+ if (!default_servers && usevc) {
2350+ options |= DNS_REQUESTOPT_TCP;
2351+ }
2352
2353 reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
2354 reqinfo->msg = msg;
2355@@ -2836,7 +2847,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
2356 srcaddr = localaddr4;
2357 }
2358
2359- result = dns_request_create(requestmgr, msg, srcaddr, destaddr, 0,
2360+ result = dns_request_create(requestmgr, msg, srcaddr, destaddr, options,
2361 default_servers ? NULL : tsigkey, timeout,
2362 udp_timeout, udp_retries, global_task,
2363 recvsoa, reqinfo, request);
2364diff --git a/bin/plugins/Makefile.in b/bin/plugins/Makefile.in
2365index 33a0766..535ef2e 100644
2366--- a/bin/plugins/Makefile.in
2367+++ b/bin/plugins/Makefile.in
2368@@ -1,7 +1,7 @@
2369-# Makefile.in generated by automake 1.16.3 from Makefile.am.
2370+# Makefile.in generated by automake 1.16.5 from Makefile.am.
2371 # @configure_input@
2372
2373-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
2374+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
2375
2376 # This Makefile.in is free software; the Free Software Foundation
2377 # gives unlimited permission to copy and/or distribute it,
2378@@ -103,11 +103,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2379 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
2380 $(top_srcdir)/m4/ax_jemalloc.m4 \
2381 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
2382- $(top_srcdir)/m4/ax_perl_module.m4 \
2383 $(top_srcdir)/m4/ax_posix_shell.m4 \
2384 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
2385 $(top_srcdir)/m4/ax_pthread.m4 \
2386- $(top_srcdir)/m4/ax_python_module.m4 \
2387 $(top_srcdir)/m4/ax_restore_flags.m4 \
2388 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
2389 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
2390@@ -228,8 +226,6 @@ am__define_uniq_tagged_files = \
2391 unique=`for i in $$list; do \
2392 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2393 done | $(am__uniquify_input)`
2394-ETAGS = etags
2395-CTAGS = ctags
2396 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
2397 $(top_srcdir)/depcomp
2398 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
2399@@ -254,6 +250,8 @@ CPP = @CPP@
2400 CPPFLAGS = @CPPFLAGS@
2401 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
2402 CPP_FOR_BUILD = @CPP_FOR_BUILD@
2403+CSCOPE = @CSCOPE@
2404+CTAGS = @CTAGS@
2405 CURL = @CURL@
2406 CYGPATH_W = @CYGPATH_W@
2407 DEFS = @DEFS@
2408@@ -269,8 +267,10 @@ ECHO_C = @ECHO_C@
2409 ECHO_N = @ECHO_N@
2410 ECHO_T = @ECHO_T@
2411 EGREP = @EGREP@
2412+ETAGS = @ETAGS@
2413 EXEEXT = @EXEEXT@
2414 FGREP = @FGREP@
2415+FILECMD = @FILECMD@
2416 FSTRM_CAPTURE = @FSTRM_CAPTURE@
2417 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
2418 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
2419@@ -664,7 +664,6 @@ cscopelist-am: $(am__tagged_files)
2420
2421 distclean-tags:
2422 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
2423-
2424 distdir: $(BUILT_SOURCES)
2425 $(MAKE) $(AM_MAKEFLAGS) distdir-am
2426
2427diff --git a/bin/rndc/Makefile.in b/bin/rndc/Makefile.in
2428index f1c7acd..2778f58 100644
2429--- a/bin/rndc/Makefile.in
2430+++ b/bin/rndc/Makefile.in
2431@@ -1,7 +1,7 @@
2432-# Makefile.in generated by automake 1.16.3 from Makefile.am.
2433+# Makefile.in generated by automake 1.16.5 from Makefile.am.
2434 # @configure_input@
2435
2436-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
2437+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
2438
2439 # This Makefile.in is free software; the Free Software Foundation
2440 # gives unlimited permission to copy and/or distribute it,
2441@@ -104,11 +104,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2442 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
2443 $(top_srcdir)/m4/ax_jemalloc.m4 \
2444 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
2445- $(top_srcdir)/m4/ax_perl_module.m4 \
2446 $(top_srcdir)/m4/ax_posix_shell.m4 \
2447 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
2448 $(top_srcdir)/m4/ax_pthread.m4 \
2449- $(top_srcdir)/m4/ax_python_module.m4 \
2450 $(top_srcdir)/m4/ax_restore_flags.m4 \
2451 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
2452 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
2453@@ -192,8 +190,6 @@ am__define_uniq_tagged_files = \
2454 unique=`for i in $$list; do \
2455 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2456 done | $(am__uniquify_input)`
2457-ETAGS = etags
2458-CTAGS = ctags
2459 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
2460 $(top_srcdir)/depcomp
2461 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
2462@@ -218,6 +214,8 @@ CPP = @CPP@
2463 CPPFLAGS = @CPPFLAGS@
2464 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
2465 CPP_FOR_BUILD = @CPP_FOR_BUILD@
2466+CSCOPE = @CSCOPE@
2467+CTAGS = @CTAGS@
2468 CURL = @CURL@
2469 CYGPATH_W = @CYGPATH_W@
2470 DEFS = @DEFS@
2471@@ -233,8 +231,10 @@ ECHO_C = @ECHO_C@
2472 ECHO_N = @ECHO_N@
2473 ECHO_T = @ECHO_T@
2474 EGREP = @EGREP@
2475+ETAGS = @ETAGS@
2476 EXEEXT = @EXEEXT@
2477 FGREP = @FGREP@
2478+FILECMD = @FILECMD@
2479 FSTRM_CAPTURE = @FSTRM_CAPTURE@
2480 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
2481 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
2482@@ -649,7 +649,6 @@ cscopelist-am: $(am__tagged_files)
2483
2484 distclean-tags:
2485 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
2486-
2487 distdir: $(BUILT_SOURCES)
2488 $(MAKE) $(AM_MAKEFLAGS) distdir-am
2489
2490diff --git a/bin/rndc/rndc.rst b/bin/rndc/rndc.rst
2491index 35a4f31..f34975b 100644
2492--- a/bin/rndc/rndc.rst
2493+++ b/bin/rndc/rndc.rst
2494@@ -428,6 +428,7 @@ Currently supported commands are:
2495 .. option:: zone [class [view]]
2496
2497 If a zone is specified, this command reloads only the given zone.
2498+ If no zone is specified, the reloading happens asynchronously.
2499
2500 .. program:: rndc
2501
2502@@ -594,7 +595,8 @@ Currently supported commands are:
2503 refused. If the zone has changed and the ``ixfr-from-differences``
2504 option is in use, the journal file is updated to reflect
2505 changes in the zone. Otherwise, if the zone has changed, any existing
2506- journal file is removed.
2507+ journal file is removed. If no zone is specified, the reloading happens
2508+ asynchronously.
2509
2510 See also :option:`rndc freeze`.
2511
2512diff --git a/bin/tests/Makefile.in b/bin/tests/Makefile.in
2513index dad6a21..bb0b392 100644
2514--- a/bin/tests/Makefile.in
2515+++ b/bin/tests/Makefile.in
2516@@ -1,7 +1,7 @@
2517-# Makefile.in generated by automake 1.16.3 from Makefile.am.
2518+# Makefile.in generated by automake 1.16.5 from Makefile.am.
2519 # @configure_input@
2520
2521-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
2522+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
2523
2524 # This Makefile.in is free software; the Free Software Foundation
2525 # gives unlimited permission to copy and/or distribute it,
2526@@ -105,11 +105,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2527 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
2528 $(top_srcdir)/m4/ax_jemalloc.m4 \
2529 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
2530- $(top_srcdir)/m4/ax_perl_module.m4 \
2531 $(top_srcdir)/m4/ax_posix_shell.m4 \
2532 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
2533 $(top_srcdir)/m4/ax_pthread.m4 \
2534- $(top_srcdir)/m4/ax_python_module.m4 \
2535 $(top_srcdir)/m4/ax_restore_flags.m4 \
2536 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
2537 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
2538@@ -215,8 +213,6 @@ am__define_uniq_tagged_files = \
2539 unique=`for i in $$list; do \
2540 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2541 done | $(am__uniquify_input)`
2542-ETAGS = etags
2543-CTAGS = ctags
2544 DIST_SUBDIRS = $(SUBDIRS)
2545 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \
2546 $(top_srcdir)/depcomp
2547@@ -267,6 +263,8 @@ CPP = @CPP@
2548 CPPFLAGS = @CPPFLAGS@
2549 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
2550 CPP_FOR_BUILD = @CPP_FOR_BUILD@
2551+CSCOPE = @CSCOPE@
2552+CTAGS = @CTAGS@
2553 CURL = @CURL@
2554 CYGPATH_W = @CYGPATH_W@
2555 DEFS = @DEFS@
2556@@ -282,8 +280,10 @@ ECHO_C = @ECHO_C@
2557 ECHO_N = @ECHO_N@
2558 ECHO_T = @ECHO_T@
2559 EGREP = @EGREP@
2560+ETAGS = @ETAGS@
2561 EXEEXT = @EXEEXT@
2562 FGREP = @FGREP@
2563+FILECMD = @FILECMD@
2564 FSTRM_CAPTURE = @FSTRM_CAPTURE@
2565 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
2566 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
2567@@ -769,7 +769,6 @@ cscopelist-am: $(am__tagged_files)
2568
2569 distclean-tags:
2570 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
2571-
2572 distdir: $(BUILT_SOURCES)
2573 $(MAKE) $(AM_MAKEFLAGS) distdir-am
2574
2575diff --git a/bin/tests/system/Makefile.am b/bin/tests/system/Makefile.am
2576index f98be0b..befd512 100644
2577--- a/bin/tests/system/Makefile.am
2578+++ b/bin/tests/system/Makefile.am
2579@@ -18,8 +18,10 @@ LDADD += \
2580 $(LIBISC_LIBS)
2581
2582 if HAVE_PERL
2583+if HAVE_PYTHON
2584+if HAVE_PYTEST
2585
2586-check_PROGRAMS = \
2587+noinst_PROGRAMS = \
2588 feature-test \
2589 makejournal \
2590 pipelined/pipequeries \
2591@@ -81,23 +83,14 @@ tkey_keydelete_LDADD = \
2592 $(LDADD) \
2593 $(LIBDNS_LIBS)
2594
2595-TESTS =
2596-
2597-if HAVE_PERLMOD_TIME_HIRES
2598-TESTS += serve-stale
2599-endif HAVE_PERLMOD_TIME_HIRES
2600-
2601-if HAVE_PERLMOD_NET_DNS
2602-TESTS += \
2603- rpzrecurse
2604-endif HAVE_PERLMOD_NET_DNS
2605-
2606-if HAVE_LIBNGHTTP2
2607-TESTS += \
2608- doth
2609-endif
2610-
2611-TESTS += \
2612+# Longer running tests are listed (and executed) first to take the most
2613+# advantage of parallel execution.
2614+TESTS = \
2615+ rpz \
2616+ rpzrecurse \
2617+ serve-stale \
2618+ timeouts \
2619+ upforwd \
2620 acl \
2621 additional \
2622 addzone \
2623@@ -109,13 +102,21 @@ TESTS += \
2624 case \
2625 catz \
2626 cds \
2627+ chain \
2628 checkconf \
2629+ checkds \
2630 checknames \
2631 checkzone \
2632+ cookie \
2633 database \
2634 dialup \
2635+ digdelv \
2636+ dispatch \
2637 dlzexternal \
2638 dns64 \
2639+ dnssec \
2640+ dnstap \
2641+ doth \
2642 dsdigest \
2643 dupsigs \
2644 dyndb \
2645@@ -125,18 +126,23 @@ TESTS += \
2646 emptyzones \
2647 enginepkcs11 \
2648 filter-aaaa \
2649+ fetchlimit \
2650 formerr \
2651+ forward \
2652 geoip2 \
2653 glue \
2654 idna \
2655 include-multiplecfg \
2656 inline \
2657 integrity \
2658+ ixfr \
2659 hooks \
2660 host \
2661 journal \
2662+ kasp \
2663 keepalive \
2664 keyfromlabel \
2665+ keymgr2kasp \
2666 legacy \
2667 limits \
2668 logfileconfig \
2669@@ -149,24 +155,35 @@ TESTS += \
2670 notify \
2671 nsec3 \
2672 nslookup \
2673+ nsupdate \
2674+ nzd2nzf \
2675 padding \
2676 pending \
2677+ pipelined \
2678+ qmin \
2679+ reclimit \
2680 redirect \
2681+ resolver \
2682 rndc \
2683 rootkeysentinel \
2684- rpz \
2685+ rpzextra \
2686 rrchecker \
2687 rrl \
2688 rrsetorder \
2689 rsabigexponent \
2690 runtime \
2691 sfcache \
2692+ shutdown \
2693 smartsign \
2694 sortlist \
2695 spf \
2696 staticstub \
2697+ statistics \
2698+ statschannel \
2699+ stress \
2700 stub \
2701 synthfromdnssec \
2702+ tcp \
2703 tkey \
2704 tools \
2705 transport-acl \
2706@@ -177,62 +194,21 @@ TESTS += \
2707 verify \
2708 views \
2709 wildcard \
2710+ xfer \
2711 xferquota \
2712+ zero \
2713 zonechecks
2714
2715-if HAVE_LMDB
2716-TESTS += nzd2nzf
2717-endif # HAVE_LMDB
2718-
2719-if HAVE_PERLMOD_NET_DNS
2720-
2721-TESTS += \
2722- fetchlimit \
2723- ixfr \
2724- nsupdate \
2725- resolver \
2726- statistics \
2727- stress \
2728- upforwd \
2729- zero
2730-
2731-if HAVE_DNSTAP
2732-TESTS += dnstap
2733-endif
2734-
2735-if HAVE_PERLMOD_FILE_FETCH
2736-TESTS += statschannel
2737-endif HAVE_PERLMOD_FILE_FETCH
2738-
2739-if HAVE_PERLMOD_DIGEST_HMAC
2740-TESTS += xfer
2741-endif HAVE_PERLMOD_DIGEST_HMAC
2742-
2743-if HAVE_PERLMOD_NET_DNS_NAMESERVER
2744-TESTS += reclimit
2745-endif HAVE_PERLMOD_NET_DNS_NAMESERVER
2746-
2747-endif HAVE_PERLMOD_NET_DNS
2748-
2749-if HAVE_PYTHON
2750-TESTS += kasp keymgr2kasp tcp pipelined
2751-
2752-if HAVE_PYTEST
2753-TESTS += checkds dispatch rpzextra shutdown timeouts
2754-endif
2755-
2756-if HAVE_PYMOD_DNS
2757-TESTS += qmin cookie
2758-if HAVE_PERLMOD_NET_DNS
2759-TESTS += digdelv dnssec forward
2760-if HAVE_PERLMOD_NET_DNS_NAMESERVER
2761-TESTS += chain
2762-endif HAVE_PERLMOD_NET_DNS_NAMESERVER
2763-endif HAVE_PERLMOD_NET_DNS
2764-endif HAVE_PYMOD_DNS
2765-
2766-endif HAVE_PYTHON
2767-
2768+else !HAVE_PYTEST
2769+check:
2770+ echo pytest is not available, no tests were ran
2771+ exit 1
2772+endif !HAVE_PYTEST
2773+else !HAVE_PYTHON
2774+check:
2775+ echo Python is not available, no tests were ran
2776+ exit 1
2777+endif !HAVE_PYTHON
2778 else !HAVE_PERL
2779 check:
2780 echo Perl is not available, no tests were ran
2781@@ -247,9 +223,9 @@ LOG_DRIVER_V_1 = --verbose yes
2782 LOG_DRIVER = $(srcdir)/custom-test-driver
2783 AM_LOG_DRIVER_FLAGS = $(LOG_DRIVER_V)
2784
2785-LOG_COMPILER = $(builddir)/legacy.run.sh
2786-AM_LOG_FLAGS = -r
2787-
2788-$(TESTS): legacy.run.sh
2789+LOG_COMPILER = $(srcdir)/run.sh
2790
2791 test-local: check
2792+
2793+clean-local::
2794+ -find -L . -mindepth 1 -maxdepth 1 -type d -name "*_*" -and -not -name "_common" -exec rm -rf {} \;
2795diff --git a/bin/tests/system/Makefile.in b/bin/tests/system/Makefile.in
2796index ba4feab..b907194 100644
2797--- a/bin/tests/system/Makefile.in
2798+++ b/bin/tests/system/Makefile.in
2799@@ -1,7 +1,7 @@
2800-# Makefile.in generated by automake 1.16.3 from Makefile.am.
2801+# Makefile.in generated by automake 1.16.5 from Makefile.am.
2802 # @configure_input@
2803
2804-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
2805+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
2806
2807 # This Makefile.in is free software; the Free Software Foundation
2808 # gives unlimited permission to copy and/or distribute it,
2809@@ -16,6 +16,7 @@
2810
2811 # Hey Emacs, this is -*- makefile-automake -*- file!
2812 # vim: filetype=automake
2813+
2814 VPATH = @srcdir@
2815 am__is_gnu_make = { \
2816 if test -z '$(MAKELEVEL)'; then \
2817@@ -94,39 +95,14 @@ target_triplet = @target@
2818 @HOST_MACOS_TRUE@am__append_1 = \
2819 @HOST_MACOS_TRUE@ -Wl,-flat_namespace
2820
2821-@HAVE_PERL_TRUE@check_PROGRAMS = feature-test$(EXEEXT) \
2822-@HAVE_PERL_TRUE@ makejournal$(EXEEXT) \
2823-@HAVE_PERL_TRUE@ pipelined/pipequeries$(EXEEXT) \
2824-@HAVE_PERL_TRUE@ resolve$(EXEEXT) rndc/gencheck$(EXEEXT) \
2825-@HAVE_PERL_TRUE@ rpz/dnsrps$(EXEEXT) tkey/keycreate$(EXEEXT) \
2826-@HAVE_PERL_TRUE@ tkey/keydelete$(EXEEXT)
2827-@HAVE_PERLMOD_TIME_HIRES_TRUE@@HAVE_PERL_TRUE@am__append_2 = serve-stale
2828-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_3 = \
2829-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ rpzrecurse
2830-
2831-@HAVE_LIBNGHTTP2_TRUE@@HAVE_PERL_TRUE@am__append_4 = \
2832-@HAVE_LIBNGHTTP2_TRUE@@HAVE_PERL_TRUE@ doth
2833-
2834-@HAVE_LMDB_TRUE@@HAVE_PERL_TRUE@am__append_5 = nzd2nzf
2835-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_6 = \
2836-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ fetchlimit \
2837-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ ixfr \
2838-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ nsupdate \
2839-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ resolver \
2840-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ statistics \
2841-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ stress \
2842-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ upforwd \
2843-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@ zero
2844-
2845-@HAVE_DNSTAP_TRUE@@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_7 = dnstap
2846-@HAVE_PERLMOD_FILE_FETCH_TRUE@@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_8 = statschannel
2847-@HAVE_PERLMOD_DIGEST_HMAC_TRUE@@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_9 = xfer
2848-@HAVE_PERLMOD_NET_DNS_NAMESERVER_TRUE@@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@am__append_10 = reclimit
2849-@HAVE_PERL_TRUE@@HAVE_PYTHON_TRUE@am__append_11 = kasp keymgr2kasp tcp pipelined
2850-@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@am__append_12 = checkds dispatch rpzextra shutdown timeouts
2851-@HAVE_PERL_TRUE@@HAVE_PYMOD_DNS_TRUE@@HAVE_PYTHON_TRUE@am__append_13 = qmin cookie
2852-@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@@HAVE_PYMOD_DNS_TRUE@@HAVE_PYTHON_TRUE@am__append_14 = digdelv dnssec forward
2853-@HAVE_PERLMOD_NET_DNS_NAMESERVER_TRUE@@HAVE_PERLMOD_NET_DNS_TRUE@@HAVE_PERL_TRUE@@HAVE_PYMOD_DNS_TRUE@@HAVE_PYTHON_TRUE@am__append_15 = chain
2854+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@noinst_PROGRAMS = feature-test$(EXEEXT) \
2855+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ makejournal$(EXEEXT) \
2856+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ pipelined/pipequeries$(EXEEXT) \
2857+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ resolve$(EXEEXT) \
2858+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rndc/gencheck$(EXEEXT) \
2859+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rpz/dnsrps$(EXEEXT) \
2860+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tkey/keycreate$(EXEEXT) \
2861+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tkey/keydelete$(EXEEXT)
2862 subdir = bin/tests/system
2863 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
2864 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2865@@ -135,11 +111,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
2866 $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \
2867 $(top_srcdir)/m4/ax_jemalloc.m4 \
2868 $(top_srcdir)/m4/ax_lib_lmdb.m4 \
2869- $(top_srcdir)/m4/ax_perl_module.m4 \
2870 $(top_srcdir)/m4/ax_posix_shell.m4 \
2871 $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
2872 $(top_srcdir)/m4/ax_pthread.m4 \
2873- $(top_srcdir)/m4/ax_python_module.m4 \
2874 $(top_srcdir)/m4/ax_restore_flags.m4 \
2875 $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \
2876 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
2877@@ -153,6 +127,7 @@ CONFIG_HEADER = $(top_builddir)/config.h
2878 CONFIG_CLEAN_FILES = conf.sh ifconfig.sh legacy.run.sh start.sh \
2879 stop.sh
2880 CONFIG_CLEAN_VPATH_FILES =
2881+PROGRAMS = $(noinst_PROGRAMS)
2882 feature_test_SOURCES = feature-test.c
2883 feature_test_OBJECTS = feature_test-feature-test.$(OBJEXT)
2884 feature_test_LDADD = $(LDADD)
2885@@ -163,30 +138,40 @@ am__v_lt_0 = --silent
2886 am__v_lt_1 =
2887 makejournal_SOURCES = makejournal.c
2888 makejournal_OBJECTS = makejournal-makejournal.$(OBJEXT)
2889-@HAVE_PERL_TRUE@makejournal_DEPENDENCIES = $(LDADD) $(LIBDNS_LIBS)
2890+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@makejournal_DEPENDENCIES = \
2891+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
2892+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2893 pipelined_pipequeries_SOURCES = pipelined/pipequeries.c
2894 am__dirstamp = $(am__leading_dot)dirstamp
2895 pipelined_pipequeries_OBJECTS = \
2896 pipelined/pipequeries-pipequeries.$(OBJEXT)
2897-@HAVE_PERL_TRUE@pipelined_pipequeries_DEPENDENCIES = $(LDADD) \
2898-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
2899+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@pipelined_pipequeries_DEPENDENCIES = \
2900+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
2901+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2902 resolve_SOURCES = resolve.c
2903 resolve_OBJECTS = resolve-resolve.$(OBJEXT)
2904-@HAVE_PERL_TRUE@resolve_DEPENDENCIES = $(LIBISC_LIBS) $(LIBIRS_LIBS) \
2905-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
2906+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@resolve_DEPENDENCIES = $(LIBISC_LIBS) \
2907+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBIRS_LIBS) \
2908+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2909 rndc_gencheck_SOURCES = rndc/gencheck.c
2910 rndc_gencheck_OBJECTS = rndc/gencheck.$(OBJEXT)
2911 rndc_gencheck_LDADD = $(LDADD)
2912 rndc_gencheck_DEPENDENCIES = $(LIBISC_LIBS)
2913 rpz_dnsrps_SOURCES = rpz/dnsrps.c
2914 rpz_dnsrps_OBJECTS = rpz/dnsrps-dnsrps.$(OBJEXT)
2915-@HAVE_PERL_TRUE@rpz_dnsrps_DEPENDENCIES = $(LDADD) $(LIBDNS_LIBS)
2916+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@rpz_dnsrps_DEPENDENCIES = \
2917+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
2918+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2919 tkey_keycreate_SOURCES = tkey/keycreate.c
2920 tkey_keycreate_OBJECTS = tkey/keycreate-keycreate.$(OBJEXT)
2921-@HAVE_PERL_TRUE@tkey_keycreate_DEPENDENCIES = $(LDADD) $(LIBDNS_LIBS)
2922+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keycreate_DEPENDENCIES = \
2923+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
2924+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2925 tkey_keydelete_SOURCES = tkey/keydelete.c
2926 tkey_keydelete_OBJECTS = tkey/keydelete-keydelete.$(OBJEXT)
2927-@HAVE_PERL_TRUE@tkey_keydelete_DEPENDENCIES = $(LDADD) $(LIBDNS_LIBS)
2928+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keydelete_DEPENDENCIES = \
2929+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
2930+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
2931 AM_V_P = $(am__v_P_@AM_V@)
2932 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
2933 am__v_P_0 = false
2934@@ -274,8 +259,6 @@ am__define_uniq_tagged_files = \
2935 unique=`for i in $$list; do \
2936 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2937 done | $(am__uniquify_input)`
2938-ETAGS = etags
2939-CTAGS = ctags
2940 am__tty_colors_dummy = \
2941 mgn= red= grn= lgn= blu= brg= std=; \
2942 am__color_tests=no
2943@@ -532,6 +515,8 @@ CPP = @CPP@
2944 CPPFLAGS = @CPPFLAGS@
2945 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
2946 CPP_FOR_BUILD = @CPP_FOR_BUILD@
2947+CSCOPE = @CSCOPE@
2948+CTAGS = @CTAGS@
2949 CURL = @CURL@
2950 CYGPATH_W = @CYGPATH_W@
2951 DEFS = @DEFS@
2952@@ -547,8 +532,10 @@ ECHO_C = @ECHO_C@
2953 ECHO_N = @ECHO_N@
2954 ECHO_T = @ECHO_T@
2955 EGREP = @EGREP@
2956+ETAGS = @ETAGS@
2957 EXEEXT = @EXEEXT@
2958 FGREP = @FGREP@
2959+FILECMD = @FILECMD@
2960 FSTRM_CAPTURE = @FSTRM_CAPTURE@
2961 FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
2962 FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@
2963@@ -763,88 +750,181 @@ LIBBIND9_LIBS = \
2964
2965 EXTRA_DIST = .
2966 SUBDIRS = dyndb/driver dlzexternal/driver hooks/driver
2967-@HAVE_PERL_TRUE@feature_test_CPPFLAGS = \
2968-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
2969-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
2970-
2971-@HAVE_PERL_TRUE@makejournal_CPPFLAGS = \
2972-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
2973-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
2974-
2975-@HAVE_PERL_TRUE@makejournal_LDADD = \
2976-@HAVE_PERL_TRUE@ $(LDADD) \
2977-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
2978-
2979-@HAVE_PERL_TRUE@pipelined_pipequeries_CPPFLAGS = \
2980-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
2981-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
2982-
2983-@HAVE_PERL_TRUE@pipelined_pipequeries_LDADD = \
2984-@HAVE_PERL_TRUE@ $(LDADD) \
2985-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
2986-
2987-@HAVE_PERL_TRUE@resolve_CPPFLAGS = \
2988-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
2989-@HAVE_PERL_TRUE@ $(LIBISC_CFLAGS) \
2990-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS) \
2991-@HAVE_PERL_TRUE@ $(LIBIRS_CFLAGS)
2992-
2993-@HAVE_PERL_TRUE@resolve_LDADD = $(LIBISC_LIBS) $(LIBIRS_LIBS) $(LIBDNS_LIBS)
2994-@HAVE_PERL_TRUE@rpz_dnsrps_CPPFLAGS = \
2995-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
2996-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
2997-
2998-@HAVE_PERL_TRUE@rpz_dnsrps_LDADD = \
2999-@HAVE_PERL_TRUE@ $(LDADD) \
3000-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
3001-
3002-@HAVE_PERL_TRUE@tkey_keycreate_CPPFLAGS = \
3003-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
3004-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
3005-
3006-@HAVE_PERL_TRUE@tkey_keycreate_LDADD = \
3007-@HAVE_PERL_TRUE@ $(LDADD) \
3008-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
3009-
3010-@HAVE_PERL_TRUE@tkey_keydelete_CPPFLAGS = \
3011-@HAVE_PERL_TRUE@ $(AM_CPPFLAGS) \
3012-@HAVE_PERL_TRUE@ $(LIBDNS_CFLAGS)
3013-
3014-@HAVE_PERL_TRUE@tkey_keydelete_LDADD = \
3015-@HAVE_PERL_TRUE@ $(LDADD) \
3016-@HAVE_PERL_TRUE@ $(LIBDNS_LIBS)
3017-
3018-@HAVE_PERL_TRUE@TESTS = $(am__append_2) $(am__append_3) \
3019-@HAVE_PERL_TRUE@ $(am__append_4) acl additional addzone \
3020-@HAVE_PERL_TRUE@ allow-query auth autosign builtin cacheclean \
3021-@HAVE_PERL_TRUE@ case catz cds checkconf checknames checkzone \
3022-@HAVE_PERL_TRUE@ database dialup dlzexternal dns64 dsdigest \
3023-@HAVE_PERL_TRUE@ dupsigs dyndb ecdsa eddsa ednscompliance \
3024-@HAVE_PERL_TRUE@ emptyzones enginepkcs11 filter-aaaa formerr \
3025-@HAVE_PERL_TRUE@ geoip2 glue idna include-multiplecfg inline \
3026-@HAVE_PERL_TRUE@ integrity hooks host journal keepalive \
3027-@HAVE_PERL_TRUE@ keyfromlabel legacy limits logfileconfig \
3028-@HAVE_PERL_TRUE@ masterfile masterformat metadata mirror mkeys \
3029-@HAVE_PERL_TRUE@ names notify nsec3 nslookup padding pending \
3030-@HAVE_PERL_TRUE@ redirect rndc rootkeysentinel rpz rrchecker \
3031-@HAVE_PERL_TRUE@ rrl rrsetorder rsabigexponent runtime sfcache \
3032-@HAVE_PERL_TRUE@ smartsign sortlist spf staticstub stub \
3033-@HAVE_PERL_TRUE@ synthfromdnssec tkey tools transport-acl tsig \
3034-@HAVE_PERL_TRUE@ tsiggss ttl unknown verify views wildcard \
3035-@HAVE_PERL_TRUE@ xferquota zonechecks $(am__append_5) \
3036-@HAVE_PERL_TRUE@ $(am__append_6) $(am__append_7) \
3037-@HAVE_PERL_TRUE@ $(am__append_8) $(am__append_9) \
3038-@HAVE_PERL_TRUE@ $(am__append_10) $(am__append_11) \
3039-@HAVE_PERL_TRUE@ $(am__append_12) $(am__append_13) \
3040-@HAVE_PERL_TRUE@ $(am__append_14) $(am__append_15)
3041+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@feature_test_CPPFLAGS = \
3042+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3043+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3044+
3045+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@makejournal_CPPFLAGS = \
3046+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3047+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3048+
3049+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@makejournal_LDADD = \
3050+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
3051+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
3052+
3053+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@pipelined_pipequeries_CPPFLAGS = \
3054+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3055+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3056+
3057+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@pipelined_pipequeries_LDADD = \
3058+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
3059+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
3060+
3061+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@resolve_CPPFLAGS = \
3062+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3063+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBISC_CFLAGS) \
3064+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS) \
3065+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBIRS_CFLAGS)
3066+
3067+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@resolve_LDADD = $(LIBISC_LIBS) $(LIBIRS_LIBS) $(LIBDNS_LIBS)
3068+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@rpz_dnsrps_CPPFLAGS = \
3069+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3070+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3071+
3072+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@rpz_dnsrps_LDADD = \
3073+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
3074+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
3075+
3076+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keycreate_CPPFLAGS = \
3077+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3078+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3079+
3080+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keycreate_LDADD = \
3081+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
3082+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
3083+
3084+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keydelete_CPPFLAGS = \
3085+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(AM_CPPFLAGS) \
3086+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_CFLAGS)
3087+
3088+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@tkey_keydelete_LDADD = \
3089+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LDADD) \
3090+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ $(LIBDNS_LIBS)
3091+
3092+
3093+# Longer running tests are listed (and executed) first to take the most
3094+# advantage of parallel execution.
3095+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@TESTS = \
3096+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rpz \
3097+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rpzrecurse \
3098+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ serve-stale \
3099+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ timeouts \
3100+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ upforwd \
3101+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ acl \
3102+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ additional \
3103+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ addzone \
3104+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ allow-query \
3105+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ auth \
3106+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ autosign \
3107+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ builtin \
3108+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ cacheclean \
3109+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ case \
3110+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ catz \
3111+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ cds \
3112+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ chain \
3113+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ checkconf \
3114+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ checkds \
3115+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ checknames \
3116+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ checkzone \
3117+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ cookie \
3118+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ database \
3119+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dialup \
3120+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ digdelv \
3121+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dispatch \
3122+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dlzexternal \
3123+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dns64 \
3124+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dnssec \
3125+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dnstap \
3126+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ doth \
3127+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dsdigest \
3128+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dupsigs \
3129+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ dyndb \
3130+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ ecdsa \
3131+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ eddsa \
3132+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ ednscompliance \
3133+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ emptyzones \
3134+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ enginepkcs11 \
3135+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ filter-aaaa \
3136+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ fetchlimit \
3137+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ formerr \
3138+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ forward \
3139+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ geoip2 \
3140+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ glue \
3141+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ idna \
3142+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ include-multiplecfg \
3143+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ inline \
3144+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ integrity \
3145+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ ixfr \
3146+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ hooks \
3147+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ host \
3148+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ journal \
3149+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ kasp \
3150+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ keepalive \
3151+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ keyfromlabel \
3152+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ keymgr2kasp \
3153+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ legacy \
3154+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ limits \
3155+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ logfileconfig \
3156+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ masterfile \
3157+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ masterformat \
3158+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ metadata \
3159+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ mirror \
3160+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ mkeys \
3161+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ names \
3162+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ notify \
3163+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ nsec3 \
3164+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ nslookup \
3165+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ nsupdate \
3166+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ nzd2nzf \
3167+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ padding \
3168+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ pending \
3169+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ pipelined \
3170+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ qmin \
3171+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ reclimit \
3172+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ redirect \
3173+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ resolver \
3174+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rndc \
3175+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rootkeysentinel \
3176+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rpzextra \
3177+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rrchecker \
3178+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rrl \
3179+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rrsetorder \
3180+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ rsabigexponent \
3181+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ runtime \
3182+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ sfcache \
3183+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ shutdown \
3184+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ smartsign \
3185+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ sortlist \
3186+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ spf \
3187+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ staticstub \
3188+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ statistics \
3189+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ statschannel \
3190+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ stress \
3191+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ stub \
3192+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ synthfromdnssec \
3193+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tcp \
3194+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tkey \
3195+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tools \
3196+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ transport-acl \
3197+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tsig \
3198+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ tsiggss \
3199+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ ttl \
3200+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ unknown \
3201+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ verify \
3202+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ views \
3203+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ wildcard \
3204+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ xfer \
3205+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ xferquota \
3206+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ zero \
3207+@HAVE_PERL_TRUE@@HAVE_PYTEST_TRUE@@HAVE_PYTHON_TRUE@ zonechecks
3208+
3209 LOG_DRIVER_V = $(LOG_DRIVER_V_@AM_V@)
3210 LOG_DRIVER_V_ = $(LOG_DRIVER_V_@AM_DEFAULT_V@)
3211 LOG_DRIVER_V_0 = --verbose no
3212 LOG_DRIVER_V_1 = --verbose yes
3213 LOG_DRIVER = $(srcdir)/custom-test-driver
3214 AM_LOG_DRIVER_FLAGS = $(LOG_DRIVER_V)
3215-LOG_COMPILER = $(builddir)/legacy.run.sh
3216-AM_LOG_FLAGS = -r
3217+LOG_COMPILER = $(srcdir)/run.sh
3218 all: all-recursive
3219
3220 .SUFFIXES:
3221@@ -890,8 +970,8 @@ start.sh: $(top_builddir)/config.status $(srcdir)/start.sh.in
3222 stop.sh: $(top_builddir)/config.status $(srcdir)/stop.sh.in
3223 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
3224
3225-clean-checkPROGRAMS:
3226- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
3227+clean-noinstPROGRAMS:
3228+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
3229 echo " rm -f" $$list; \
3230 rm -f $$list || exit $$?; \
3231 test -n "$(EXEEXT)" || exit 0; \
3232@@ -1344,7 +1424,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
3233 fi; \
3234 $$success || exit 1
3235
3236-check-TESTS: $(check_PROGRAMS)
3237+check-TESTS:
3238 @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
3239 @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
3240 @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
3241@@ -1354,7 +1434,7 @@ check-TESTS: $(check_PROGRAMS)
3242 log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
3243 $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
3244 exit $$?;
3245-recheck: all $(check_PROGRAMS)
3246+recheck: all
3247 @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
3248 @set +e; $(am__set_TESTS_bases); \
3249 bases=`for i in $$bases; do echo $$i; done \
3250@@ -1365,9 +1445,9 @@ recheck: all $(check_PROGRAMS)
3251 am__force_recheck=am--force-recheck \
3252 TEST_LOGS="$$log_list"; \
3253 exit $$?
3254-serve-stale.log: serve-stale
3255- @p='serve-stale'; \
3256- b='serve-stale'; \
3257+rpz.log: rpz
3258+ @p='rpz'; \
3259+ b='rpz'; \
3260 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3261 --log-file $$b.log --trs-file $$b.trs \
3262 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3263@@ -1379,9 +1459,23 @@ rpzrecurse.log: rpzrecurse
3264 --log-file $$b.log --trs-file $$b.trs \
3265 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3266 "$$tst" $(AM_TESTS_FD_REDIRECT)
3267-doth.log: doth
3268- @p='doth'; \
3269- b='doth'; \
3270+serve-stale.log: serve-stale
3271+ @p='serve-stale'; \
3272+ b='serve-stale'; \
3273+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3274+ --log-file $$b.log --trs-file $$b.trs \
3275+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3276+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3277+timeouts.log: timeouts
3278+ @p='timeouts'; \
3279+ b='timeouts'; \
3280+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3281+ --log-file $$b.log --trs-file $$b.trs \
3282+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3283+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3284+upforwd.log: upforwd
3285+ @p='upforwd'; \
3286+ b='upforwd'; \
3287 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3288 --log-file $$b.log --trs-file $$b.trs \
3289 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3290@@ -1463,6 +1557,13 @@ cds.log: cds
3291 --log-file $$b.log --trs-file $$b.trs \
3292 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3293 "$$tst" $(AM_TESTS_FD_REDIRECT)
3294+chain.log: chain
3295+ @p='chain'; \
3296+ b='chain'; \
3297+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3298+ --log-file $$b.log --trs-file $$b.trs \
3299+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3300+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3301 checkconf.log: checkconf
3302 @p='checkconf'; \
3303 b='checkconf'; \
3304@@ -1470,6 +1571,13 @@ checkconf.log: checkconf
3305 --log-file $$b.log --trs-file $$b.trs \
3306 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3307 "$$tst" $(AM_TESTS_FD_REDIRECT)
3308+checkds.log: checkds
3309+ @p='checkds'; \
3310+ b='checkds'; \
3311+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3312+ --log-file $$b.log --trs-file $$b.trs \
3313+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3314+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3315 checknames.log: checknames
3316 @p='checknames'; \
3317 b='checknames'; \
3318@@ -1484,6 +1592,13 @@ checkzone.log: checkzone
3319 --log-file $$b.log --trs-file $$b.trs \
3320 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3321 "$$tst" $(AM_TESTS_FD_REDIRECT)
3322+cookie.log: cookie
3323+ @p='cookie'; \
3324+ b='cookie'; \
3325+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3326+ --log-file $$b.log --trs-file $$b.trs \
3327+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3328+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3329 database.log: database
3330 @p='database'; \
3331 b='database'; \
3332@@ -1498,6 +1613,20 @@ dialup.log: dialup
3333 --log-file $$b.log --trs-file $$b.trs \
3334 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3335 "$$tst" $(AM_TESTS_FD_REDIRECT)
3336+digdelv.log: digdelv
3337+ @p='digdelv'; \
3338+ b='digdelv'; \
3339+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3340+ --log-file $$b.log --trs-file $$b.trs \
3341+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3342+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3343+dispatch.log: dispatch
3344+ @p='dispatch'; \
3345+ b='dispatch'; \
3346+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3347+ --log-file $$b.log --trs-file $$b.trs \
3348+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3349+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3350 dlzexternal.log: dlzexternal
3351 @p='dlzexternal'; \
3352 b='dlzexternal'; \
3353@@ -1512,6 +1641,27 @@ dns64.log: dns64
3354 --log-file $$b.log --trs-file $$b.trs \
3355 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3356 "$$tst" $(AM_TESTS_FD_REDIRECT)
3357+dnssec.log: dnssec
3358+ @p='dnssec'; \
3359+ b='dnssec'; \
3360+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3361+ --log-file $$b.log --trs-file $$b.trs \
3362+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3363+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3364+dnstap.log: dnstap
3365+ @p='dnstap'; \
3366+ b='dnstap'; \
3367+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3368+ --log-file $$b.log --trs-file $$b.trs \
3369+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3370+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3371+doth.log: doth
3372+ @p='doth'; \
3373+ b='doth'; \
3374+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3375+ --log-file $$b.log --trs-file $$b.trs \
3376+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3377+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3378 dsdigest.log: dsdigest
3379 @p='dsdigest'; \
3380 b='dsdigest'; \
3381@@ -1575,6 +1725,13 @@ filter-aaaa.log: filter-aaaa
3382 --log-file $$b.log --trs-file $$b.trs \
3383 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3384 "$$tst" $(AM_TESTS_FD_REDIRECT)
3385+fetchlimit.log: fetchlimit
3386+ @p='fetchlimit'; \
3387+ b='fetchlimit'; \
3388+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3389+ --log-file $$b.log --trs-file $$b.trs \
3390+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3391+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3392 formerr.log: formerr
3393 @p='formerr'; \
3394 b='formerr'; \
3395@@ -1582,6 +1739,13 @@ formerr.log: formerr
3396 --log-file $$b.log --trs-file $$b.trs \
3397 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3398 "$$tst" $(AM_TESTS_FD_REDIRECT)
3399+forward.log: forward
3400+ @p='forward'; \
3401+ b='forward'; \
3402+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3403+ --log-file $$b.log --trs-file $$b.trs \
3404+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3405+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3406 geoip2.log: geoip2
3407 @p='geoip2'; \
3408 b='geoip2'; \
3409@@ -1624,6 +1788,13 @@ integrity.log: integrity
3410 --log-file $$b.log --trs-file $$b.trs \
3411 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3412 "$$tst" $(AM_TESTS_FD_REDIRECT)
3413+ixfr.log: ixfr
3414+ @p='ixfr'; \
3415+ b='ixfr'; \
3416+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3417+ --log-file $$b.log --trs-file $$b.trs \
3418+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3419+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3420 hooks.log: hooks
3421 @p='hooks'; \
3422 b='hooks'; \
3423@@ -1645,6 +1816,13 @@ journal.log: journal
3424 --log-file $$b.log --trs-file $$b.trs \
3425 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3426 "$$tst" $(AM_TESTS_FD_REDIRECT)
3427+kasp.log: kasp
3428+ @p='kasp'; \
3429+ b='kasp'; \
3430+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3431+ --log-file $$b.log --trs-file $$b.trs \
3432+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3433+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3434 keepalive.log: keepalive
3435 @p='keepalive'; \
3436 b='keepalive'; \
3437@@ -1659,6 +1837,13 @@ keyfromlabel.log: keyfromlabel
3438 --log-file $$b.log --trs-file $$b.trs \
3439 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3440 "$$tst" $(AM_TESTS_FD_REDIRECT)
3441+keymgr2kasp.log: keymgr2kasp
3442+ @p='keymgr2kasp'; \
3443+ b='keymgr2kasp'; \
3444+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3445+ --log-file $$b.log --trs-file $$b.trs \
3446+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3447+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3448 legacy.log: legacy
3449 @p='legacy'; \
3450 b='legacy'; \
3451@@ -1743,6 +1928,20 @@ nslookup.log: nslookup
3452 --log-file $$b.log --trs-file $$b.trs \
3453 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3454 "$$tst" $(AM_TESTS_FD_REDIRECT)
3455+nsupdate.log: nsupdate
3456+ @p='nsupdate'; \
3457+ b='nsupdate'; \
3458+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3459+ --log-file $$b.log --trs-file $$b.trs \
3460+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3461+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3462+nzd2nzf.log: nzd2nzf
3463+ @p='nzd2nzf'; \
3464+ b='nzd2nzf'; \
3465+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3466+ --log-file $$b.log --trs-file $$b.trs \
3467+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3468+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3469 padding.log: padding
3470 @p='padding'; \
3471 b='padding'; \
3472@@ -1757,6 +1956,27 @@ pending.log: pending
3473 --log-file $$b.log --trs-file $$b.trs \
3474 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3475 "$$tst" $(AM_TESTS_FD_REDIRECT)
3476+pipelined.log: pipelined
3477+ @p='pipelined'; \
3478+ b='pipelined'; \
3479+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3480+ --log-file $$b.log --trs-file $$b.trs \
3481+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3482+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3483+qmin.log: qmin
3484+ @p='qmin'; \
3485+ b='qmin'; \
3486+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3487+ --log-file $$b.log --trs-file $$b.trs \
3488+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3489+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3490+reclimit.log: reclimit
3491+ @p='reclimit'; \
3492+ b='reclimit'; \
3493+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3494+ --log-file $$b.log --trs-file $$b.trs \
3495+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3496+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3497 redirect.log: redirect
3498 @p='redirect'; \
3499 b='redirect'; \
3500@@ -1764,6 +1984,13 @@ redirect.log: redirect
3501 --log-file $$b.log --trs-file $$b.trs \
3502 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3503 "$$tst" $(AM_TESTS_FD_REDIRECT)
3504+resolver.log: resolver
3505+ @p='resolver'; \
3506+ b='resolver'; \
3507+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3508+ --log-file $$b.log --trs-file $$b.trs \
3509+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3510+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3511 rndc.log: rndc
3512 @p='rndc'; \
3513 b='rndc'; \
3514@@ -1778,9 +2005,9 @@ rootkeysentinel.log: rootkeysentinel
3515 --log-file $$b.log --trs-file $$b.trs \
3516 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3517 "$$tst" $(AM_TESTS_FD_REDIRECT)
3518-rpz.log: rpz
3519- @p='rpz'; \
3520- b='rpz'; \
3521+rpzextra.log: rpzextra
3522+ @p='rpzextra'; \
3523+ b='rpzextra'; \
3524 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3525 --log-file $$b.log --trs-file $$b.trs \
3526 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3527@@ -1827,6 +2054,13 @@ sfcache.log: sfcache
3528 --log-file $$b.log --trs-file $$b.trs \
3529 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3530 "$$tst" $(AM_TESTS_FD_REDIRECT)
3531+shutdown.log: shutdown
3532+ @p='shutdown'; \
3533+ b='shutdown'; \
3534+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3535+ --log-file $$b.log --trs-file $$b.trs \
3536+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3537+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3538 smartsign.log: smartsign
3539 @p='smartsign'; \
3540 b='smartsign'; \
3541@@ -1855,6 +2089,27 @@ staticstub.log: staticstub
3542 --log-file $$b.log --trs-file $$b.trs \
3543 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3544 "$$tst" $(AM_TESTS_FD_REDIRECT)
3545+statistics.log: statistics
3546+ @p='statistics'; \
3547+ b='statistics'; \
3548+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3549+ --log-file $$b.log --trs-file $$b.trs \
3550+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3551+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3552+statschannel.log: statschannel
3553+ @p='statschannel'; \
3554+ b='statschannel'; \
3555+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3556+ --log-file $$b.log --trs-file $$b.trs \
3557+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3558+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3559+stress.log: stress
3560+ @p='stress'; \
3561+ b='stress'; \
3562+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3563+ --log-file $$b.log --trs-file $$b.trs \
3564+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3565+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3566 stub.log: stub
3567 @p='stub'; \
3568 b='stub'; \
3569@@ -1869,6 +2124,13 @@ synthfromdnssec.log: synthfromdnssec
3570 --log-file $$b.log --trs-file $$b.trs \
3571 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3572 "$$tst" $(AM_TESTS_FD_REDIRECT)
3573+tcp.log: tcp
3574+ @p='tcp'; \
3575+ b='tcp'; \
3576+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3577+ --log-file $$b.log --trs-file $$b.trs \
3578+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3579+ "$$tst" $(AM_TESTS_FD_REDIRECT)
3580 tkey.log: tkey
3581 @p='tkey'; \
3582 b='tkey'; \
3583@@ -1939,97 +2201,6 @@ wildcard.log: wildcard
3584 --log-file $$b.log --trs-file $$b.trs \
3585 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3586 "$$tst" $(AM_TESTS_FD_REDIRECT)
3587-xferquota.log: xferquota
3588- @p='xferquota'; \
3589- b='xferquota'; \
3590- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3591- --log-file $$b.log --trs-file $$b.trs \
3592- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3593- "$$tst" $(AM_TESTS_FD_REDIRECT)
3594-zonechecks.log: zonechecks
3595- @p='zonechecks'; \
3596- b='zonechecks'; \
3597- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3598- --log-file $$b.log --trs-file $$b.trs \
3599- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3600- "$$tst" $(AM_TESTS_FD_REDIRECT)
3601-nzd2nzf.log: nzd2nzf
3602- @p='nzd2nzf'; \
3603- b='nzd2nzf'; \
3604- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3605- --log-file $$b.log --trs-file $$b.trs \
3606- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3607- "$$tst" $(AM_TESTS_FD_REDIRECT)
3608-fetchlimit.log: fetchlimit
3609- @p='fetchlimit'; \
3610- b='fetchlimit'; \
3611- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3612- --log-file $$b.log --trs-file $$b.trs \
3613- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3614- "$$tst" $(AM_TESTS_FD_REDIRECT)
3615-ixfr.log: ixfr
3616- @p='ixfr'; \
3617- b='ixfr'; \
3618- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3619- --log-file $$b.log --trs-file $$b.trs \
3620- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3621- "$$tst" $(AM_TESTS_FD_REDIRECT)
3622-nsupdate.log: nsupdate
3623- @p='nsupdate'; \
3624- b='nsupdate'; \
3625- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3626- --log-file $$b.log --trs-file $$b.trs \
3627- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3628- "$$tst" $(AM_TESTS_FD_REDIRECT)
3629-resolver.log: resolver
3630- @p='resolver'; \
3631- b='resolver'; \
3632- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3633- --log-file $$b.log --trs-file $$b.trs \
3634- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3635- "$$tst" $(AM_TESTS_FD_REDIRECT)
3636-statistics.log: statistics
3637- @p='statistics'; \
3638- b='statistics'; \
3639- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3640- --log-file $$b.log --trs-file $$b.trs \
3641- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3642- "$$tst" $(AM_TESTS_FD_REDIRECT)
3643-stress.log: stress
3644- @p='stress'; \
3645- b='stress'; \
3646- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3647- --log-file $$b.log --trs-file $$b.trs \
3648- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3649- "$$tst" $(AM_TESTS_FD_REDIRECT)
3650-upforwd.log: upforwd
3651- @p='upforwd'; \
3652- b='upforwd'; \
3653- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3654- --log-file $$b.log --trs-file $$b.trs \
3655- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3656- "$$tst" $(AM_TESTS_FD_REDIRECT)
3657-zero.log: zero
3658- @p='zero'; \
3659- b='zero'; \
3660- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3661- --log-file $$b.log --trs-file $$b.trs \
3662- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3663- "$$tst" $(AM_TESTS_FD_REDIRECT)
3664-dnstap.log: dnstap
3665- @p='dnstap'; \
3666- b='dnstap'; \
3667- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3668- --log-file $$b.log --trs-file $$b.trs \
3669- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3670- "$$tst" $(AM_TESTS_FD_REDIRECT)
3671-statschannel.log: statschannel
3672- @p='statschannel'; \
3673- b='statschannel'; \
3674- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3675- --log-file $$b.log --trs-file $$b.trs \
3676- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3677- "$$tst" $(AM_TESTS_FD_REDIRECT)
3678 xfer.log: xfer
3679 @p='xfer'; \
3680 b='xfer'; \
3681@@ -2037,114 +2208,23 @@ xfer.log: xfer
3682 --log-file $$b.log --trs-file $$b.trs \
3683 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3684 "$$tst" $(AM_TESTS_FD_REDIRECT)
3685-reclimit.log: reclimit
3686- @p='reclimit'; \
3687- b='reclimit'; \
3688- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3689- --log-file $$b.log --trs-file $$b.trs \
3690- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3691- "$$tst" $(AM_TESTS_FD_REDIRECT)
3692-kasp.log: kasp
3693- @p='kasp'; \
3694- b='kasp'; \
3695- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3696- --log-file $$b.log --trs-file $$b.trs \
3697- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3698- "$$tst" $(AM_TESTS_FD_REDIRECT)
3699-keymgr2kasp.log: keymgr2kasp
3700- @p='keymgr2kasp'; \
3701- b='keymgr2kasp'; \
3702- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3703- --log-file $$b.log --trs-file $$b.trs \
3704- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3705- "$$tst" $(AM_TESTS_FD_REDIRECT)
3706-tcp.log: tcp
3707- @p='tcp'; \
3708- b='tcp'; \
3709- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3710- --log-file $$b.log --trs-file $$b.trs \
3711- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3712- "$$tst" $(AM_TESTS_FD_REDIRECT)
3713-pipelined.log: pipelined
3714- @p='pipelined'; \
3715- b='pipelined'; \
3716- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3717- --log-file $$b.log --trs-file $$b.trs \
3718- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3719- "$$tst" $(AM_TESTS_FD_REDIRECT)
3720-checkds.log: checkds
3721- @p='checkds'; \
3722- b='checkds'; \
3723- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3724- --log-file $$b.log --trs-file $$b.trs \
3725- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3726- "$$tst" $(AM_TESTS_FD_REDIRECT)
3727-dispatch.log: dispatch
3728- @p='dispatch'; \
3729- b='dispatch'; \
3730- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3731- --log-file $$b.log --trs-file $$b.trs \
3732- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3733- "$$tst" $(AM_TESTS_FD_REDIRECT)
3734-rpzextra.log: rpzextra
3735- @p='rpzextra'; \
3736- b='rpzextra'; \
3737- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3738- --log-file $$b.log --trs-file $$b.trs \
3739- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3740- "$$tst" $(AM_TESTS_FD_REDIRECT)
3741-shutdown.log: shutdown
3742- @p='shutdown'; \
3743- b='shutdown'; \
3744- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3745- --log-file $$b.log --trs-file $$b.trs \
3746- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3747- "$$tst" $(AM_TESTS_FD_REDIRECT)
3748-timeouts.log: timeouts
3749- @p='timeouts'; \
3750- b='timeouts'; \
3751- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3752- --log-file $$b.log --trs-file $$b.trs \
3753- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3754- "$$tst" $(AM_TESTS_FD_REDIRECT)
3755-qmin.log: qmin
3756- @p='qmin'; \
3757- b='qmin'; \
3758- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3759- --log-file $$b.log --trs-file $$b.trs \
3760- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3761- "$$tst" $(AM_TESTS_FD_REDIRECT)
3762-cookie.log: cookie
3763- @p='cookie'; \
3764- b='cookie'; \
3765- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3766- --log-file $$b.log --trs-file $$b.trs \
3767- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3768- "$$tst" $(AM_TESTS_FD_REDIRECT)
3769-digdelv.log: digdelv
3770- @p='digdelv'; \
3771- b='digdelv'; \
3772- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3773- --log-file $$b.log --trs-file $$b.trs \
3774- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3775- "$$tst" $(AM_TESTS_FD_REDIRECT)
3776-dnssec.log: dnssec
3777- @p='dnssec'; \
3778- b='dnssec'; \
3779+xferquota.log: xferquota
3780+ @p='xferquota'; \
3781+ b='xferquota'; \
3782 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3783 --log-file $$b.log --trs-file $$b.trs \
3784 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3785 "$$tst" $(AM_TESTS_FD_REDIRECT)
3786-forward.log: forward
3787- @p='forward'; \
3788- b='forward'; \
3789+zero.log: zero
3790+ @p='zero'; \
3791+ b='zero'; \
3792 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3793 --log-file $$b.log --trs-file $$b.trs \
3794 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3795 "$$tst" $(AM_TESTS_FD_REDIRECT)
3796-chain.log: chain
3797- @p='chain'; \
3798- b='chain'; \
3799+zonechecks.log: zonechecks
3800+ @p='zonechecks'; \
3801+ b='zonechecks'; \
3802 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
3803 --log-file $$b.log --trs-file $$b.trs \
3804 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
3805@@ -2163,7 +2243,6 @@ chain.log: chain
3806 @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
3807 @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
3808 @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
3809-
3810 distdir: $(BUILT_SOURCES)
3811 $(MAKE) $(AM_MAKEFLAGS) distdir-am
3812
3813@@ -2226,10 +2305,9 @@ distdir-am: $(DISTFILES)
3814 top_distdir="$(top_distdir)" distdir="$(distdir)" \
3815 dist-hook
3816 check-am: all-am
3817- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
3818 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
3819 check: check-recursive
3820-all-am: Makefile
3821+all-am: Makefile $(PROGRAMS)
3822 installdirs: installdirs-recursive
3823 installdirs-am:
3824 install: install-recursive
3825@@ -2275,7 +2353,7 @@ maintainer-clean-generic:
3826 @echo "it deletes files that may require special tools to rebuild."
3827 clean: clean-recursive
3828
3829-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
3830+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
3831 mostlyclean-am
3832
3833 distclean: distclean-recursive
3834@@ -2373,8 +2451,8 @@ unit-am: unit-local
3835 .MAKE: $(am__recursive_targets) check-am install-am install-strip
3836
3837 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
3838- am--depfiles check check-TESTS check-am clean \
3839- clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
3840+ am--depfiles check check-TESTS check-am clean clean-generic \
3841+ clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \
3842 ctags ctags-am dist-hook distclean distclean-compile \
3843 distclean-generic distclean-libtool distclean-tags distdir \
3844 doc-am doc-local dvi dvi-am html html-am info info-am install \
3845@@ -2398,14 +2476,21 @@ dist-hook:
3846 sed -n "s|^Would remove \(.*\)|$(distdir)/\1|p" | \
3847 xargs -I{} rm -rf "{}"
3848
3849+@HAVE_PERL_TRUE@@HAVE_PYTEST_FALSE@@HAVE_PYTHON_TRUE@check:
3850+@HAVE_PERL_TRUE@@HAVE_PYTEST_FALSE@@HAVE_PYTHON_TRUE@ echo pytest is not available, no tests were ran
3851+@HAVE_PERL_TRUE@@HAVE_PYTEST_FALSE@@HAVE_PYTHON_TRUE@ exit 1
3852+@HAVE_PERL_TRUE@@HAVE_PYTHON_FALSE@check:
3853+@HAVE_PERL_TRUE@@HAVE_PYTHON_FALSE@ echo Python is not available, no tests were ran
3854+@HAVE_PERL_TRUE@@HAVE_PYTHON_FALSE@ exit 1
3855 @HAVE_PERL_FALSE@check:
3856 @HAVE_PERL_FALSE@ echo Perl is not available, no tests were ran
3857 @HAVE_PERL_FALSE@ exit 1
3858
3859-$(TESTS): legacy.run.sh
3860-
3861 test-local: check
3862
3863+clean-local::
3864+ -find -L . -mindepth 1 -maxdepth 1 -type d -name "*_*" -and -not -name "_common" -exec rm -rf {} \;
3865+
3866 # Tell versions [3.59,3.63) of GNU make to not export all variables.
3867 # Otherwise a system limit (for SysV at least) may be exceeded.
3868 .NOEXPORT:
3869diff --git a/bin/tests/system/README b/bin/tests/system/README
3870index 265a9ef..cb9f71b 100644
3871--- a/bin/tests/system/README
3872+++ b/bin/tests/system/README
3873@@ -14,10 +14,9 @@ Introduction
3874 This directory holds a simple test environment for running bind9 system tests
3875 involving multiple name servers.
3876
3877-With the exception of "common" (which holds configuration information common to
3878-multiple tests), each directory holds a set of scripts and configuration
3879-files to test different parts of BIND. The directories are named for the
3880-aspect of BIND they test, for example:
3881+Each system test directory holds a set of scripts and configuration files to
3882+test different parts of BIND. The directories are named for the aspect of BIND
3883+they test, for example:
3884
3885 dnssec/ DNSSEC tests
3886 forward/ Forwarding tests
3887@@ -25,6 +24,9 @@ aspect of BIND they test, for example:
3888
3889 etc.
3890
3891+A system test directory must start with an alphabetic character and may not
3892+contain any special characters. Only hyphen may be used as a word separator.
3893+
3894 Typically each set of tests sets up 2-5 name servers and then performs one or
3895 more tests against them. Within the test subdirectory, each name server has a
3896 separate subdirectory containing its configuration data. These subdirectories
3897@@ -323,6 +325,8 @@ setup.sh Run after prereq.sh, this sets up the preconditions for the tests.
3898
3899 tests.sh Runs the actual tests. This file is mandatory.
3900
3901+tests_sh_xyz.py A glue file for the pytest runner for executing shell tests.
3902+
3903 clean.sh Run at the end to clean up temporary files, but only if the test
3904 was completed successfully and its running was not inhibited by the
3905 "-n" switch being passed to "legacy.run.sh". Otherwise the
3906@@ -542,6 +546,17 @@ e. Retain a count of test failures and return this as the exit status from
3907 the script.
3908
3909
3910+tests_sh_xyz.py
3911+---------------
3912+This glue file is required by the pytest runner in order to find and execute
3913+the shell tests in tests.sh.
3914+
3915+Replace the "xyz" with the system test name and create the file with the
3916+following contents.
3917+
3918+ def test_xyz(run_tests_sh):
3919+ run_tests_sh()
3920+
3921 clean.sh
3922 ---
3923 The inverse of "setup.sh", this is invoked by the framework to clean up the
3924@@ -695,13 +710,13 @@ or SEQUENTIAL variables.
3925 need to edit multiple files to add a test.)
3926
3927
3928-Valgrind
3929+rr
3930 ---
3931-When running system tests, named can be run under Valgrind. The output from
3932-Valgrind are sent to per-process files that can be reviewed after the test has
3933-completed. To enable this, set the USE_VALGRIND environment variable to
3934-"helgrind" to run the Helgrind tool, or any other value to run the Memcheck
3935-tool. To use "helgrind" effectively, build BIND with --disable-atomic.
3936+
3937+When running system tests, named can be run under the rr tool. rr records a
3938+trace to the $system_test/nsX/named-Y/ directory, which can be later used to
3939+replay named. To enable this, execute start.pl with the USE_RR environment
3940+variable set.
3941
3942 Developer Notes for pytest runner
3943 ===
3944diff --git a/bin/tests/system/common/controls.conf.in b/bin/tests/system/_common/controls.conf.in
3945similarity index 100%
3946rename from bin/tests/system/common/controls.conf.in
3947rename to bin/tests/system/_common/controls.conf.in
3948diff --git a/bin/tests/system/common/rndc.conf b/bin/tests/system/_common/rndc.conf
3949similarity index 100%
3950rename from bin/tests/system/common/rndc.conf
3951rename to bin/tests/system/_common/rndc.conf
3952diff --git a/bin/tests/system/common/rndc.key b/bin/tests/system/_common/rndc.key
3953similarity index 100%
3954rename from bin/tests/system/common/rndc.key
3955rename to bin/tests/system/_common/rndc.key
3956diff --git a/bin/tests/system/common/root.hint b/bin/tests/system/_common/root.hint
3957similarity index 100%
3958rename from bin/tests/system/common/root.hint
3959rename to bin/tests/system/_common/root.hint
3960diff --git a/bin/tests/system/acl/ns2/named1.conf.in b/bin/tests/system/acl/ns2/named1.conf.in
3961index c3343a3..d87b1a7 100644
3962--- a/bin/tests/system/acl/ns2/named1.conf.in
3963+++ b/bin/tests/system/acl/ns2/named1.conf.in
3964@@ -47,7 +47,7 @@ key two {
3965
3966 zone "." {
3967 type hint;
3968- file "../../common/root.hint";
3969+ file "../../_common/root.hint";
3970 };
3971
3972 zone "example" {
3973diff --git a/bin/tests/system/acl/ns2/named2.conf.in b/bin/tests/system/acl/ns2/named2.conf.in
3974index ac9ac84..2456e99 100644
3975--- a/bin/tests/system/acl/ns2/named2.conf.in
3976+++ b/bin/tests/system/acl/ns2/named2.conf.in
3977@@ -47,7 +47,7 @@ key two {
3978
3979 zone "." {
3980 type hint;
3981- file "../../common/root.hint";
3982+ file "../../_common/root.hint";
3983 };
3984
3985 zone "example" {
3986diff --git a/bin/tests/system/acl/ns2/named3.conf.in b/bin/tests/system/acl/ns2/named3.conf.in
3987index efa73fa..99320a7 100644
3988--- a/bin/tests/system/acl/ns2/named3.conf.in
3989+++ b/bin/tests/system/acl/ns2/named3.conf.in
3990@@ -60,7 +60,7 @@ acl accept {
3991
3992 zone "." {
3993 type hint;
3994- file "../../common/root.hint";
3995+ file "../../_common/root.hint";
3996 };
3997
3998 zone "example" {
3999diff --git a/bin/tests/system/acl/ns2/named4.conf.in b/bin/tests/system/acl/ns2/named4.conf.in
4000index 54c0da3..08bd80c 100644
4001--- a/bin/tests/system/acl/ns2/named4.conf.in
4002+++ b/bin/tests/system/acl/ns2/named4.conf.in
4003@@ -59,7 +59,7 @@ acl check2 { !key two; 10.53.0.2; };
4004
4005 zone "." {
4006 type hint;
4007- file "../../common/root.hint";
4008+ file "../../_common/root.hint";
4009 };
4010
4011 zone "example" {
4012diff --git a/bin/tests/system/acl/ns2/named5.conf.in b/bin/tests/system/acl/ns2/named5.conf.in
4013index e5b57f0..94371d0 100644
4014--- a/bin/tests/system/acl/ns2/named5.conf.in
4015+++ b/bin/tests/system/acl/ns2/named5.conf.in
4016@@ -49,7 +49,7 @@ key two {
4017
4018 zone "." {
4019 type hint;
4020- file "../../common/root.hint";
4021+ file "../../_common/root.hint";
4022 };
4023
4024 zone "example" {
4025diff --git a/bin/tests/system/acl/tests.sh b/bin/tests/system/acl/tests.sh
4026index 48536da..4e6c241 100644
4027--- a/bin/tests/system/acl/tests.sh
4028+++ b/bin/tests/system/acl/tests.sh
4029@@ -16,7 +16,7 @@ set -e
4030 . ../conf.sh
4031
4032 DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
4033-RNDCCMD="$RNDC -c ../common/rndc.conf -p ${CONTROLPORT} -s"
4034+RNDCCMD="$RNDC -c ../_common/rndc.conf -p ${CONTROLPORT} -s"
4035
4036 status=0
4037 t=0
4038@@ -25,15 +25,20 @@ echo_i "testing basic ACL processing"
4039 # key "one" should fail
4040 t=$((t + 1))
4041 $DIG $DIGOPTS tsigzone. \
4042- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
4043-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4044-
4045+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 >dig.out.${t}
4046+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4047+ echo_i "test $t failed"
4048+ status=1
4049+}
4050
4051 # any other key should be fine
4052 t=$((t + 1))
4053 $DIG $DIGOPTS tsigzone. \
4054- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
4055-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4056+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 >dig.out.${t}
4057+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4058+ echo_i "test $t failed"
4059+ status=1
4060+}
4061
4062 copy_setports ns2/named2.conf.in ns2/named.conf
4063 rndc_reload ns2 10.53.0.2
4064@@ -42,19 +47,28 @@ sleep 5
4065 # prefix 10/8 should fail
4066 t=$((t + 1))
4067 $DIG $DIGOPTS tsigzone. \
4068- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
4069-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4070+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 >dig.out.${t}
4071+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4072+ echo_i "test $t failed"
4073+ status=1
4074+}
4075
4076 # any other address should work, as long as it sends key "one"
4077 t=$((t + 1))
4078 $DIG $DIGOPTS tsigzone. \
4079- @10.53.0.2 -b 127.0.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
4080-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4081+ @10.53.0.2 -b 127.0.0.1 axfr -y two:1234abcd8765 >dig.out.${t}
4082+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4083+ echo_i "test $t failed"
4084+ status=1
4085+}
4086
4087 t=$((t + 1))
4088 $DIG $DIGOPTS tsigzone. \
4089- @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
4090-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4091+ @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 >dig.out.${t}
4092+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4093+ echo_i "test $t failed"
4094+ status=1
4095+}
4096
4097 echo_i "testing nested ACL processing"
4098 # all combinations of 10.53.0.{1|2} with key {one|two}, should succeed
4099@@ -65,43 +79,64 @@ sleep 5
4100 # should succeed
4101 t=$((t + 1))
4102 $DIG $DIGOPTS tsigzone. \
4103- @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 > dig.out.${t}
4104-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4105+ @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 >dig.out.${t}
4106+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4107+ echo_i "test $t failed"
4108+ status=1
4109+}
4110
4111 # should succeed
4112 t=$((t + 1))
4113 $DIG $DIGOPTS tsigzone. \
4114- @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 > dig.out.${t}
4115-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4116+ @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 >dig.out.${t}
4117+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4118+ echo_i "test $t failed"
4119+ status=1
4120+}
4121
4122 # should succeed
4123 t=$((t + 1))
4124 $DIG $DIGOPTS tsigzone. \
4125- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
4126-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4127+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 >dig.out.${t}
4128+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4129+ echo_i "test $t failed"
4130+ status=1
4131+}
4132
4133 # should succeed
4134 t=$((t + 1))
4135 $DIG $DIGOPTS tsigzone. \
4136- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
4137-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4138+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 >dig.out.${t}
4139+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4140+ echo_i "test $t failed"
4141+ status=1
4142+}
4143
4144 # but only one or the other should fail
4145 t=$((t + 1))
4146 $DIG $DIGOPTS tsigzone. \
4147- @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
4148-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4149+ @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 >dig.out.${t}
4150+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4151+ echo_i "test $t failed"
4152+ status=1
4153+}
4154
4155 t=$((t + 1))
4156 $DIG $DIGOPTS tsigzone. \
4157- @10.53.0.2 -b 10.53.0.2 axfr > dig.out.${t}
4158-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $tt failed" ; status=1; }
4159+ @10.53.0.2 -b 10.53.0.2 axfr >dig.out.${t}
4160+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4161+ echo_i "test $tt failed"
4162+ status=1
4163+}
4164
4165 # and other values? right out
4166 t=$((t + 1))
4167 $DIG $DIGOPTS tsigzone. \
4168- @10.53.0.2 -b 127.0.0.1 axfr -y "${DEFAULT_HMAC}:three:1234abcd8765" > dig.out.${t}
4169-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4170+ @10.53.0.2 -b 127.0.0.1 axfr -y "${DEFAULT_HMAC}:three:1234abcd8765" >dig.out.${t}
4171+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4172+ echo_i "test $t failed"
4173+ status=1
4174+}
4175
4176 # now we only allow 10.53.0.1 *and* key one, or 10.53.0.2 *and* key two
4177 copy_setports ns2/named4.conf.in ns2/named.conf
4178@@ -111,32 +146,47 @@ sleep 5
4179 # should succeed
4180 t=$((t + 1))
4181 $DIG $DIGOPTS tsigzone. \
4182- @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 > dig.out.${t}
4183-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4184+ @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 >dig.out.${t}
4185+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4186+ echo_i "test $t failed"
4187+ status=1
4188+}
4189
4190 # should succeed
4191 t=$((t + 1))
4192 $DIG $DIGOPTS tsigzone. \
4193- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
4194-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
4195+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 >dig.out.${t}
4196+grep "^;" dig.out.${t} >/dev/null 2>&1 && {
4197+ echo_i "test $t failed"
4198+ status=1
4199+}
4200
4201 # should fail
4202 t=$((t + 1))
4203 $DIG $DIGOPTS tsigzone. \
4204- @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 > dig.out.${t}
4205-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4206+ @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 >dig.out.${t}
4207+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4208+ echo_i "test $t failed"
4209+ status=1
4210+}
4211
4212 # should fail
4213 t=$((t + 1))
4214 $DIG $DIGOPTS tsigzone. \
4215- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
4216-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4217+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 >dig.out.${t}
4218+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4219+ echo_i "test $t failed"
4220+ status=1
4221+}
4222
4223 # should fail
4224 t=$((t + 1))
4225 $DIG $DIGOPTS tsigzone. \
4226- @10.53.0.2 -b 10.53.0.3 axfr -y one:1234abcd8765 > dig.out.${t}
4227-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4228+ @10.53.0.2 -b 10.53.0.3 axfr -y one:1234abcd8765 >dig.out.${t}
4229+grep "^;" dig.out.${t} >/dev/null 2>&1 || {
4230+ echo_i "test $t failed"
4231+ status=1
4232+}
4233
4234 echo_i "testing allow-query-on ACL processing"
4235 copy_setports ns2/named5.conf.in ns2/named.conf
4236@@ -144,27 +194,30 @@ rndc_reload ns2 10.53.0.2
4237 sleep 5
4238 t=$((t + 1))
4239 $DIG -p ${PORT} +tcp soa example. \
4240- @10.53.0.2 -b 10.53.0.3 > dig.out.${t}
4241-grep "status: NOERROR" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
4242+ @10.53.0.2 -b 10.53.0.3 >dig.out.${t}
4243+grep "status: NOERROR" dig.out.${t} >/dev/null 2>&1 || {
4244+ echo_i "test $t failed"
4245+ status=1
4246+}
4247
4248 echo_i "testing blackhole ACL processing"
4249 t=$((t + 1))
4250 ret=0
4251 $DIG -p ${PORT} +tcp soa example. \
4252- @10.53.0.2 -b 10.53.0.3 > dig.out.1.${t}
4253-grep "status: NOERROR" dig.out.1.${t} > /dev/null 2>&1 || ret=1
4254+ @10.53.0.2 -b 10.53.0.3 >dig.out.1.${t}
4255+grep "status: NOERROR" dig.out.1.${t} >/dev/null 2>&1 || ret=1
4256 $DIG -p ${PORT} +tcp soa example. \
4257- @10.53.0.2 -b 10.53.0.8 > dig.out.2.${t} && ret=1
4258-grep "status: NOERROR" dig.out.2.${t} > /dev/null 2>&1 && ret=1
4259-grep "communications error" dig.out.2.${t} > /dev/null 2>&1 || ret=1
4260+ @10.53.0.2 -b 10.53.0.8 >dig.out.2.${t} && ret=1
4261+grep "status: NOERROR" dig.out.2.${t} >/dev/null 2>&1 && ret=1
4262+grep "communications error" dig.out.2.${t} >/dev/null 2>&1 || ret=1
4263 $DIG -p ${PORT} soa example. \
4264- @10.53.0.2 -b 10.53.0.3 > dig.out.3.${t}
4265-grep "status: NOERROR" dig.out.3.${t} > /dev/null 2>&1 || ret=1
4266+ @10.53.0.2 -b 10.53.0.3 >dig.out.3.${t}
4267+grep "status: NOERROR" dig.out.3.${t} >/dev/null 2>&1 || ret=1
4268 $DIG -p ${PORT} soa example. \
4269- @10.53.0.2 -b 10.53.0.8 > dig.out.4.${t} && ret=1
4270-grep "status: NOERROR" dig.out.4.${t} > /dev/null 2>&1 && ret=1
4271-grep "timed out" dig.out.4.${t} > /dev/null 2>&1 || ret=1
4272-grep ";; no servers could be reached" dig.out.4.${t} > /dev/null 2>&1 || ret=1
4273+ @10.53.0.2 -b 10.53.0.8 >dig.out.4.${t} && ret=1
4274+grep "status: NOERROR" dig.out.4.${t} >/dev/null 2>&1 && ret=1
4275+grep "timed out" dig.out.4.${t} >/dev/null 2>&1 || ret=1
4276+grep ";; no servers could be reached" dig.out.4.${t} >/dev/null 2>&1 || ret=1
4277 [ $ret -eq 0 ] || echo_i "failed"
4278 status=$((status + ret))
4279
4280@@ -179,7 +232,7 @@ sleep 1
4281 t=$((t + 1))
4282 ret=0
4283 echo_i "checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
4284-$DIG -p ${PORT} @10.53.0.3 example.com axfr > dig.out.${t} 2>&1
4285+$DIG -p ${PORT} @10.53.0.3 example.com axfr >dig.out.${t} 2>&1
4286 grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
4287 [ $ret -eq 0 ] || echo_i "failed"
4288 status=$((status + ret))
4289@@ -192,7 +245,7 @@ sleep 1
4290 t=$((t + 1))
4291 ret=0
4292 echo_i "re-checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
4293-$DIG -p ${PORT} @10.53.0.3 example.com axfr > dig.out.${t} 2>&1
4294+$DIG -p ${PORT} @10.53.0.3 example.com axfr >dig.out.${t} 2>&1
4295 grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
4296 [ $ret -eq 0 ] || echo_i "failed"
4297 status=$((status + ret))
4298@@ -208,7 +261,7 @@ sleep 1
4299 t=$((t + 1))
4300 ret=0
4301 echo_i "checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
4302-$DIG -p ${PORT} @10.53.0.4 example.com axfr > dig.out.${t} 2>&1
4303+$DIG -p ${PORT} @10.53.0.4 example.com axfr >dig.out.${t} 2>&1
4304 grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
4305 [ $ret -eq 0 ] || echo_i "failed"
4306 status=$((status + ret))
4307@@ -221,7 +274,7 @@ sleep 1
4308 t=$((t + 1))
4309 ret=0
4310 echo_i "re-checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
4311-$DIG -p ${PORT} @10.53.0.4 example.com axfr > dig.out.${t} 2>&1
4312+$DIG -p ${PORT} @10.53.0.4 example.com axfr >dig.out.${t} 2>&1
4313 grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
4314 [ $ret -eq 0 ] || echo_i "failed"
4315 status=$((status + ret))
4316diff --git a/bin/tests/system/additional/ns1/named1.conf.in b/bin/tests/system/additional/ns1/named1.conf.in
4317index d058d1e..0d07e54 100644
4318--- a/bin/tests/system/additional/ns1/named1.conf.in
4319+++ b/bin/tests/system/additional/ns1/named1.conf.in
4320@@ -25,7 +25,7 @@ options {
4321 minimal-responses yes;
4322 };
4323
4324-include "../../common/rndc.key";
4325+include "../../_common/rndc.key";
4326
4327 controls {
4328 inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
4329diff --git a/bin/tests/system/additional/ns1/named2.conf.in b/bin/tests/system/additional/ns1/named2.conf.in
4330index 56c6d4b..efed639 100644
4331--- a/bin/tests/system/additional/ns1/named2.conf.in
4332+++ b/bin/tests/system/additional/ns1/named2.conf.in
4333@@ -25,7 +25,7 @@ options {
4334 minimal-responses no;
4335 };
4336
4337-include "../../common/rndc.key";
4338+include "../../_common/rndc.key";
4339
4340 controls {
4341 inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
4342diff --git a/bin/tests/system/additional/ns1/named3.conf.in b/bin/tests/system/additional/ns1/named3.conf.in
4343index ad453a3..0ff7125 100644
4344--- a/bin/tests/system/additional/ns1/named3.conf.in
4345+++ b/bin/tests/system/additional/ns1/named3.conf.in
4346@@ -26,7 +26,7 @@ options {
4347 minimal-responses no-auth;
4348 };
4349
4350-include "../../common/rndc.key";
4351+include "../../_common/rndc.key";
4352
4353 controls {
4354 inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
4355diff --git a/bin/tests/system/additional/ns1/named4.conf.in b/bin/tests/system/additional/ns1/named4.conf.in
4356index 69479b9..8c53086 100644
4357--- a/bin/tests/system/additional/ns1/named4.conf.in
4358+++ b/bin/tests/system/additional/ns1/named4.conf.in
4359@@ -25,7 +25,7 @@ options {
4360 minimal-responses no-auth-recursive;
4361 };
4362
4363-include "../../common/rndc.key";
4364+include "../../_common/rndc.key";
4365
4366 controls {
4367 inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
4368diff --git a/bin/tests/system/additional/tests.sh b/bin/tests/system/additional/tests.sh
4369index a50004c..193c9f9 100644
4370--- a/bin/tests/system/additional/tests.sh
4371+++ b/bin/tests/system/additional/tests.sh
4372@@ -16,235 +16,251 @@ set -e
4373 . ../conf.sh
4374
4375 DIGOPTS="-p ${PORT}"
4376-RNDCCMD="$RNDC -c ../common/rndc.conf -p ${CONTROLPORT} -s"
4377+RNDCCMD="$RNDC -c ../_common/rndc.conf -p ${CONTROLPORT} -s"
4378
4379 status=0
4380 n=0
4381
4382 dotests() {
4383- n=$((n + 1))
4384- echo_i "test with RT, single zone (+rec) ($n)"
4385- ret=0
4386- $DIG $DIGOPTS +rec -t RT rt.rt.example @10.53.0.1 > dig.out.$n || ret=1
4387- if [ $ret -eq 1 ] ; then
4388- echo_i "failed"; status=$((status+1))
4389- fi
4390-
4391- n=$((n + 1))
4392- echo_i "test with RT, two zones (+rec) ($n)"
4393- ret=0
4394- $DIG $DIGOPTS +rec -t RT rt.rt2.example @10.53.0.1 > dig.out.$n || ret=1
4395- if [ $ret -eq 1 ] ; then
4396- echo_i "failed"; status=$((status+1))
4397- fi
4398-
4399- n=$((n + 1))
4400- echo_i "test with NAPTR, single zone (+rec) ($n)"
4401- ret=0
4402- $DIG $DIGOPTS +rec -t NAPTR nap.naptr.example @10.53.0.1 > dig.out.$n || ret=1
4403- if [ $ret -eq 1 ] ; then
4404- echo_i "failed"; status=$((status+1))
4405- fi
4406-
4407- n=$((n + 1))
4408- echo_i "test with NAPTR, two zones (+rec) ($n)"
4409- ret=0
4410- $DIG $DIGOPTS +rec -t NAPTR nap.hang3b.example @10.53.0.1 > dig.out.$n || ret=1
4411- if [ $ret -eq 1 ] ; then
4412- echo_i "failed"; status=$((status+1))
4413- fi
4414-
4415- n=$((n + 1))
4416- echo_i "test with LP (+rec) ($n)"
4417- ret=0
4418- $DIG $DIGOPTS +rec -t LP nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
4419- case $minimal in
4420+ n=$((n + 1))
4421+ echo_i "test with RT, single zone (+rec) ($n)"
4422+ ret=0
4423+ $DIG $DIGOPTS +rec -t RT rt.rt.example @10.53.0.1 >dig.out.$n || ret=1
4424+ if [ $ret -eq 1 ]; then
4425+ echo_i "failed"
4426+ status=$((status + 1))
4427+ fi
4428+
4429+ n=$((n + 1))
4430+ echo_i "test with RT, two zones (+rec) ($n)"
4431+ ret=0
4432+ $DIG $DIGOPTS +rec -t RT rt.rt2.example @10.53.0.1 >dig.out.$n || ret=1
4433+ if [ $ret -eq 1 ]; then
4434+ echo_i "failed"
4435+ status=$((status + 1))
4436+ fi
4437+
4438+ n=$((n + 1))
4439+ echo_i "test with NAPTR, single zone (+rec) ($n)"
4440+ ret=0
4441+ $DIG $DIGOPTS +rec -t NAPTR nap.naptr.example @10.53.0.1 >dig.out.$n || ret=1
4442+ if [ $ret -eq 1 ]; then
4443+ echo_i "failed"
4444+ status=$((status + 1))
4445+ fi
4446+
4447+ n=$((n + 1))
4448+ echo_i "test with NAPTR, two zones (+rec) ($n)"
4449+ ret=0
4450+ $DIG $DIGOPTS +rec -t NAPTR nap.hang3b.example @10.53.0.1 >dig.out.$n || ret=1
4451+ if [ $ret -eq 1 ]; then
4452+ echo_i "failed"
4453+ status=$((status + 1))
4454+ fi
4455+
4456+ n=$((n + 1))
4457+ echo_i "test with LP (+rec) ($n)"
4458+ ret=0
4459+ $DIG $DIGOPTS +rec -t LP nid2.nid.example @10.53.0.1 >dig.out.$n || ret=1
4460+ case $minimal in
4461 no)
4462- grep -w "NS" dig.out.$n > /dev/null || ret=1
4463- grep -w "L64" dig.out.$n > /dev/null || ret=1
4464- grep -w "L32" dig.out.$n > /dev/null || ret=1
4465+ grep -w "NS" dig.out.$n >/dev/null || ret=1
4466+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4467+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4468 ;;
4469 yes)
4470- grep -w "NS" dig.out.$n > /dev/null && ret=1
4471- grep -w "L64" dig.out.$n > /dev/null && ret=1
4472- grep -w "L32" dig.out.$n > /dev/null && ret=1
4473+ grep -w "NS" dig.out.$n >/dev/null && ret=1
4474+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4475+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4476 ;;
4477 no-auth)
4478- grep -w "NS" dig.out.$n > /dev/null && ret=1
4479- grep -w "L64" dig.out.$n > /dev/null || ret=1
4480- grep -w "L32" dig.out.$n > /dev/null || ret=1
4481+ grep -w "NS" dig.out.$n >/dev/null && ret=1
4482+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4483+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4484 ;;
4485 no-auth-recursive)
4486- grep -w "NS" dig.out.$n > /dev/null && ret=1
4487- grep -w "L64" dig.out.$n > /dev/null || ret=1
4488- grep -w "L32" dig.out.$n > /dev/null || ret=1
4489+ grep -w "NS" dig.out.$n >/dev/null && ret=1
4490+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4491+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4492 ;;
4493- esac
4494- if [ $ret -eq 1 ] ; then
4495- echo_i "failed"; status=$((status+1))
4496- fi
4497-
4498- n=$((n + 1))
4499- echo_i "test with NID (+rec) ($n)"
4500- ret=0
4501- $DIG $DIGOPTS +rec -t NID ns1.nid.example @10.53.0.1 > dig.out.$n || ret=1
4502- if [ $minimal = no ] ; then
4503- # change && to || when we support NID additional processing
4504- grep -w "L64" dig.out.$n > /dev/null && ret=1
4505- grep -w "L32" dig.out.$n > /dev/null && ret=1
4506- else
4507- grep -w "L64" dig.out.$n > /dev/null && ret=1
4508- grep -w "L32" dig.out.$n > /dev/null && ret=1
4509- fi
4510- if [ $ret -eq 1 ] ; then
4511- echo_i "failed"; status=$((status+1))
4512- fi
4513-
4514- n=$((n + 1))
4515- echo_i "test with NID + LP (+rec) ($n)"
4516- ret=0
4517- $DIG $DIGOPTS +rec -t NID nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
4518- if [ $minimal = no ] ; then
4519- # change && to || when we support NID additional processing
4520- grep -w "LP" dig.out.$n > /dev/null && ret=1
4521- grep -w "L64" dig.out.$n > /dev/null && ret=1
4522- grep -w "L32" dig.out.$n > /dev/null && ret=1
4523- else
4524- grep -w "LP" dig.out.$n > /dev/null && ret=1
4525- grep -w "L64" dig.out.$n > /dev/null && ret=1
4526- grep -w "L32" dig.out.$n > /dev/null && ret=1
4527- fi
4528- if [ $ret -eq 1 ] ; then
4529- echo_i "failed"; status=$((status+1))
4530- fi
4531-
4532- n=$((n + 1))
4533- echo_i "test with RT, single zone (+norec) ($n)"
4534- ret=0
4535- $DIG $DIGOPTS +norec -t RT rt.rt.example @10.53.0.1 > dig.out.$n || ret=1
4536- if [ $ret -eq 1 ] ; then
4537- echo_i "failed"; status=$((status+1))
4538- fi
4539-
4540- n=$((n + 1))
4541- echo_i "test with RT, two zones (+norec) ($n)"
4542- ret=0
4543- $DIG $DIGOPTS +norec -t RT rt.rt2.example @10.53.0.1 > dig.out.$n || ret=1
4544- if [ $ret -eq 1 ] ; then
4545- echo_i "failed"; status=$((status+1))
4546- fi
4547-
4548- n=$((n + 1))
4549- echo_i "test with NAPTR, single zone (+norec) ($n)"
4550- ret=0
4551- $DIG $DIGOPTS +norec -t NAPTR nap.naptr.example @10.53.0.1 > dig.out.$n || ret=1
4552- if [ $ret -eq 1 ] ; then
4553- echo_i "failed"; status=$((status+1))
4554- fi
4555-
4556- n=$((n + 1))
4557- echo_i "test with NAPTR, two zones (+norec) ($n)"
4558- ret=0
4559- $DIG $DIGOPTS +norec -t NAPTR nap.hang3b.example @10.53.0.1 > dig.out.$n || ret=1
4560- if [ $ret -eq 1 ] ; then
4561- echo_i "failed"; status=$((status+1))
4562- fi
4563-
4564- n=$((n + 1))
4565- echo_i "test with LP (+norec) ($n)"
4566- ret=0
4567- $DIG $DIGOPTS +norec -t LP nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
4568- case $minimal in
4569+ esac
4570+ if [ $ret -eq 1 ]; then
4571+ echo_i "failed"
4572+ status=$((status + 1))
4573+ fi
4574+
4575+ n=$((n + 1))
4576+ echo_i "test with NID (+rec) ($n)"
4577+ ret=0
4578+ $DIG $DIGOPTS +rec -t NID ns1.nid.example @10.53.0.1 >dig.out.$n || ret=1
4579+ if [ $minimal = no ]; then
4580+ # change && to || when we support NID additional processing
4581+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4582+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4583+ else
4584+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4585+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4586+ fi
4587+ if [ $ret -eq 1 ]; then
4588+ echo_i "failed"
4589+ status=$((status + 1))
4590+ fi
4591+
4592+ n=$((n + 1))
4593+ echo_i "test with NID + LP (+rec) ($n)"
4594+ ret=0
4595+ $DIG $DIGOPTS +rec -t NID nid2.nid.example @10.53.0.1 >dig.out.$n || ret=1
4596+ if [ $minimal = no ]; then
4597+ # change && to || when we support NID additional processing
4598+ grep -w "LP" dig.out.$n >/dev/null && ret=1
4599+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4600+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4601+ else
4602+ grep -w "LP" dig.out.$n >/dev/null && ret=1
4603+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4604+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4605+ fi
4606+ if [ $ret -eq 1 ]; then
4607+ echo_i "failed"
4608+ status=$((status + 1))
4609+ fi
4610+
4611+ n=$((n + 1))
4612+ echo_i "test with RT, single zone (+norec) ($n)"
4613+ ret=0
4614+ $DIG $DIGOPTS +norec -t RT rt.rt.example @10.53.0.1 >dig.out.$n || ret=1
4615+ if [ $ret -eq 1 ]; then
4616+ echo_i "failed"
4617+ status=$((status + 1))
4618+ fi
4619+
4620+ n=$((n + 1))
4621+ echo_i "test with RT, two zones (+norec) ($n)"
4622+ ret=0
4623+ $DIG $DIGOPTS +norec -t RT rt.rt2.example @10.53.0.1 >dig.out.$n || ret=1
4624+ if [ $ret -eq 1 ]; then
4625+ echo_i "failed"
4626+ status=$((status + 1))
4627+ fi
4628+
4629+ n=$((n + 1))
4630+ echo_i "test with NAPTR, single zone (+norec) ($n)"
4631+ ret=0
4632+ $DIG $DIGOPTS +norec -t NAPTR nap.naptr.example @10.53.0.1 >dig.out.$n || ret=1
4633+ if [ $ret -eq 1 ]; then
4634+ echo_i "failed"
4635+ status=$((status + 1))
4636+ fi
4637+
4638+ n=$((n + 1))
4639+ echo_i "test with NAPTR, two zones (+norec) ($n)"
4640+ ret=0
4641+ $DIG $DIGOPTS +norec -t NAPTR nap.hang3b.example @10.53.0.1 >dig.out.$n || ret=1
4642+ if [ $ret -eq 1 ]; then
4643+ echo_i "failed"
4644+ status=$((status + 1))
4645+ fi
4646+
4647+ n=$((n + 1))
4648+ echo_i "test with LP (+norec) ($n)"
4649+ ret=0
4650+ $DIG $DIGOPTS +norec -t LP nid2.nid.example @10.53.0.1 >dig.out.$n || ret=1
4651+ case $minimal in
4652 no)
4653- grep -w "NS" dig.out.$n > /dev/null || ret=1
4654- grep -w "L64" dig.out.$n > /dev/null || ret=1
4655- grep -w "L32" dig.out.$n > /dev/null || ret=1
4656+ grep -w "NS" dig.out.$n >/dev/null || ret=1
4657+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4658+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4659 ;;
4660 yes)
4661- grep -w "NS" dig.out.$n > /dev/null && ret=1
4662- grep -w "L64" dig.out.$n > /dev/null && ret=1
4663- grep -w "L32" dig.out.$n > /dev/null && ret=1
4664+ grep -w "NS" dig.out.$n >/dev/null && ret=1
4665+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4666+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4667 ;;
4668 no-auth)
4669- grep -w "NS" dig.out.$n > /dev/null && ret=1
4670- grep -w "L64" dig.out.$n > /dev/null || ret=1
4671- grep -w "L32" dig.out.$n > /dev/null || ret=1
4672+ grep -w "NS" dig.out.$n >/dev/null && ret=1
4673+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4674+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4675 ;;
4676 no-auth-recursive)
4677- grep -w "NS" dig.out.$n > /dev/null || ret=1
4678- grep -w "L64" dig.out.$n > /dev/null || ret=1
4679- grep -w "L32" dig.out.$n > /dev/null || ret=1
4680+ grep -w "NS" dig.out.$n >/dev/null || ret=1
4681+ grep -w "L64" dig.out.$n >/dev/null || ret=1
4682+ grep -w "L32" dig.out.$n >/dev/null || ret=1
4683 ;;
4684- esac
4685- if [ $ret -eq 1 ] ; then
4686- echo_i "failed"; status=$((status+1))
4687- fi
4688-
4689- n=$((n + 1))
4690- echo_i "test with NID (+norec) ($n)"
4691- ret=0
4692- $DIG $DIGOPTS +norec -t NID ns1.nid.example @10.53.0.1 > dig.out.$n || ret=1
4693- if [ $minimal = no ] ; then
4694- # change && to || when we support NID additional processing
4695- grep -w "L64" dig.out.$n > /dev/null && ret=1
4696- grep -w "L32" dig.out.$n > /dev/null && ret=1
4697- else
4698- grep -w "L64" dig.out.$n > /dev/null && ret=1
4699- grep -w "L32" dig.out.$n > /dev/null && ret=1
4700- fi
4701- if [ $ret -eq 1 ] ; then
4702- echo_i "failed"; status=$((status+1))
4703- fi
4704-
4705- n=$((n + 1))
4706- echo_i "test with NID + LP (+norec) ($n)"
4707- ret=0
4708- $DIG $DIGOPTS +norec -t NID nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
4709- if [ $minimal = no ] ; then
4710- # change && to || when we support NID additional processing
4711- grep -w "LP" dig.out.$n > /dev/null && ret=1
4712- grep -w "L64" dig.out.$n > /dev/null && ret=1
4713- grep -w "L32" dig.out.$n > /dev/null && ret=1
4714- else
4715- grep -w "LP" dig.out.$n > /dev/null && ret=1
4716- grep -w "L64" dig.out.$n > /dev/null && ret=1
4717- grep -w "L32" dig.out.$n > /dev/null && ret=1
4718- fi
4719- if [ $ret -eq 1 ] ; then
4720- echo_i "failed"; status=$((status+1))
4721- fi
4722-
4723- n=$((n + 1))
4724- echo_i "test with NS, root zone ($n)"
4725- ret=0
4726- $DIG $DIGOPTS -t NS . @10.53.0.1 > dig.out.$n || ret=1
4727- # Always expect glue for root priming queries, regardless $minimal
4728- grep 'ADDITIONAL: 3' dig.out.$n > /dev/null || ret=1
4729- if [ $ret -eq 1 ] ; then
4730- echo_i "failed"; status=$((status+1))
4731- fi
4732-
4733- n=$((n + 1))
4734- echo_i "test with NS, non-root zone ($n)"
4735- ret=0
4736- $DIG $DIGOPTS -t NS rt.example @10.53.0.1 > dig.out.$n || ret=1
4737- case $minimal in
4738+ esac
4739+ if [ $ret -eq 1 ]; then
4740+ echo_i "failed"
4741+ status=$((status + 1))
4742+ fi
4743+
4744+ n=$((n + 1))
4745+ echo_i "test with NID (+norec) ($n)"
4746+ ret=0
4747+ $DIG $DIGOPTS +norec -t NID ns1.nid.example @10.53.0.1 >dig.out.$n || ret=1
4748+ if [ $minimal = no ]; then
4749+ # change && to || when we support NID additional processing
4750+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4751+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4752+ else
4753+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4754+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4755+ fi
4756+ if [ $ret -eq 1 ]; then
4757+ echo_i "failed"
4758+ status=$((status + 1))
4759+ fi
4760+
4761+ n=$((n + 1))
4762+ echo_i "test with NID + LP (+norec) ($n)"
4763+ ret=0
4764+ $DIG $DIGOPTS +norec -t NID nid2.nid.example @10.53.0.1 >dig.out.$n || ret=1
4765+ if [ $minimal = no ]; then
4766+ # change && to || when we support NID additional processing
4767+ grep -w "LP" dig.out.$n >/dev/null && ret=1
4768+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4769+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4770+ else
4771+ grep -w "LP" dig.out.$n >/dev/null && ret=1
4772+ grep -w "L64" dig.out.$n >/dev/null && ret=1
4773+ grep -w "L32" dig.out.$n >/dev/null && ret=1
4774+ fi
4775+ if [ $ret -eq 1 ]; then
4776+ echo_i "failed"
4777+ status=$((status + 1))
4778+ fi
4779+
4780+ n=$((n + 1))
4781+ echo_i "test with NS, root zone ($n)"
4782+ ret=0
4783+ $DIG $DIGOPTS -t NS . @10.53.0.1 >dig.out.$n || ret=1
4784+ # Always expect glue for root priming queries, regardless $minimal
4785+ grep 'ADDITIONAL: 3' dig.out.$n >/dev/null || ret=1
4786+ if [ $ret -eq 1 ]; then
4787+ echo_i "failed"
4788+ status=$((status + 1))
4789+ fi
4790+
4791+ n=$((n + 1))
4792+ echo_i "test with NS, non-root zone ($n)"
4793+ ret=0
4794+ $DIG $DIGOPTS -t NS rt.example @10.53.0.1 >dig.out.$n || ret=1
4795+ case $minimal in
4796 yes)
4797- grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1
4798+ grep 'ADDITIONAL: 2' dig.out.$n >/dev/null || ret=1
4799 ;;
4800 no)
4801- grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1
4802+ grep 'ADDITIONAL: 2' dig.out.$n >/dev/null || ret=1
4803 ;;
4804 no-auth)
4805- grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1
4806+ grep 'ADDITIONAL: 2' dig.out.$n >/dev/null || ret=1
4807 ;;
4808 no-auth-recursive)
4809- grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1
4810+ grep 'ADDITIONAL: 2' dig.out.$n >/dev/null || ret=1
4811 ;;
4812- esac
4813- if [ $ret -eq 1 ] ; then
4814- echo_i "failed"; status=$((status+1))
4815- fi
4816+ esac
4817+ if [ $ret -eq 1 ]; then
4818+ echo_i "failed"
4819+ status=$((status + 1))
4820+ fi
4821 }
4822
4823 echo_i "testing with 'minimal-responses yes;'"
4824@@ -262,10 +278,11 @@ dotests
4825 n=$((n + 1))
4826 echo_i "testing with 'minimal-any no;' ($n)"
4827 ret=0
4828-$DIG $DIGOPTS -t ANY www.rt.example @10.53.0.1 > dig.out.$n || ret=1
4829-grep "ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2" dig.out.$n > /dev/null || ret=1
4830-if [ $ret -eq 1 ] ; then
4831- echo_i "failed"; status=$((status+1))
4832+$DIG $DIGOPTS -t ANY www.rt.example @10.53.0.1 >dig.out.$n || ret=1
4833+grep "ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2" dig.out.$n >/dev/null || ret=1
4834+if [ $ret -eq 1 ]; then
4835+ echo_i "failed"
4836+ status=$((status + 1))
4837 fi
4838
4839 echo_i "reconfiguring server: minimal-any yes"
4840@@ -275,28 +292,31 @@ rndc_reconfig ns1 10.53.0.1
4841 n=$((n + 1))
4842 echo_i "testing with 'minimal-any yes;' over UDP ($n)"
4843 ret=0
4844-$DIG $DIGOPTS -t ANY +notcp www.rt.example @10.53.0.1 > dig.out.$n || ret=1
4845-grep "ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n > /dev/null || ret=1
4846-if [ $ret -eq 1 ] ; then
4847- echo_i "failed"; status=$((status+1))
4848+$DIG $DIGOPTS -t ANY +notcp www.rt.example @10.53.0.1 >dig.out.$n || ret=1
4849+grep "ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n >/dev/null || ret=1
4850+if [ $ret -eq 1 ]; then
4851+ echo_i "failed"
4852+ status=$((status + 1))
4853 fi
4854 n=$((n + 1))
4855
4856 echo_i "testing with 'minimal-any yes;' over TCP ($n)"
4857 ret=0
4858-$DIG $DIGOPTS -t ANY +tcp www.rt.example @10.53.0.1 > dig.out.$n || ret=1
4859-grep "ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n > /dev/null || ret=1
4860-if [ $ret -eq 1 ] ; then
4861- echo_i "failed"; status=$((status+1))
4862+$DIG $DIGOPTS -t ANY +tcp www.rt.example @10.53.0.1 >dig.out.$n || ret=1
4863+grep "ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n >/dev/null || ret=1
4864+if [ $ret -eq 1 ]; then
4865+ echo_i "failed"
4866+ status=$((status + 1))
4867 fi
4868
4869 n=$((n + 1))
4870 echo_i "testing with 'minimal-any yes;' over UDP ($n)"
4871 ret=0
4872-$DIG $DIGOPTS -t ANY +notcp www.rt.example @10.53.0.1 > dig.out.$n || ret=1
4873-grep "ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n > /dev/null || ret=1
4874-if [ $ret -eq 1 ] ; then
4875- echo_i "failed"; status=$((status+1))
4876+$DIG $DIGOPTS -t ANY +notcp www.rt.example @10.53.0.1 >dig.out.$n || ret=1
4877+grep "ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1" dig.out.$n >/dev/null || ret=1
4878+if [ $ret -eq 1 ]; then
4879+ echo_i "failed"
4880+ status=$((status + 1))
4881 fi
4882
4883 echo_i "testing with 'minimal-responses no-auth;'"
4884@@ -314,23 +334,25 @@ dotests
4885 n=$((n + 1))
4886 echo_i "testing returning TLSA records with MX query ($n)"
4887 ret=0
4888-$DIG $DIGOPTS -t mx mx.example @10.53.0.1 > dig.out.$n || ret=1
4889-grep "mx\.example\..*MX.0 mail\.mx\.example" dig.out.$n > /dev/null || ret=1
4890-grep "mail\.mx\.example\..*A.1\.2\.3\.4" dig.out.$n > /dev/null || ret=1
4891-grep "_25\._tcp\.mail\.mx\.example\..*TLSA.3 0 1 5B30F9602297D558EB719162C225088184FAA32CA45E1ED15DE58A21 D9FCE383" dig.out.$n > /dev/null || ret=1
4892-if [ $ret -eq 1 ] ; then
4893- echo_i "failed"; status=$((status+1))
4894+$DIG $DIGOPTS -t mx mx.example @10.53.0.1 >dig.out.$n || ret=1
4895+grep "mx\.example\..*MX.0 mail\.mx\.example" dig.out.$n >/dev/null || ret=1
4896+grep "mail\.mx\.example\..*A.1\.2\.3\.4" dig.out.$n >/dev/null || ret=1
4897+grep "_25\._tcp\.mail\.mx\.example\..*TLSA.3 0 1 5B30F9602297D558EB719162C225088184FAA32CA45E1ED15DE58A21 D9FCE383" dig.out.$n >/dev/null || ret=1
4898+if [ $ret -eq 1 ]; then
4899+ echo_i "failed"
4900+ status=$((status + 1))
4901 fi
4902
4903 n=$((n + 1))
4904 echo_i "testing returning TLSA records with SRV query ($n)"
4905 ret=0
4906-$DIG $DIGOPTS -t srv _xmpp-client._tcp.srv.example @10.53.0.1 > dig.out.$n || ret=1
4907-grep "_xmpp-client\._tcp\.srv\.example\..*SRV.1 0 5222 server\.srv\.example" dig.out.$n > /dev/null || ret=1
4908-grep "server\.srv\.example\..*A.1\.2\.3\.4" dig.out.$n > /dev/null || ret=1
4909-grep "_5222\._tcp\.server\.srv\.example\..*TLSA.3 0 1 5B30F9602297D558EB719162C225088184FAA32CA45E1ED15DE58A21 D9FCE383" dig.out.$n > /dev/null || ret=1
4910-if [ $ret -eq 1 ] ; then
4911- echo_i "failed"; status=$((status+1))
4912+$DIG $DIGOPTS -t srv _xmpp-client._tcp.srv.example @10.53.0.1 >dig.out.$n || ret=1
4913+grep "_xmpp-client\._tcp\.srv\.example\..*SRV.1 0 5222 server\.srv\.example" dig.out.$n >/dev/null || ret=1
4914+grep "server\.srv\.example\..*A.1\.2\.3\.4" dig.out.$n >/dev/null || ret=1
4915+grep "_5222\._tcp\.server\.srv\.example\..*TLSA.3 0 1 5B30F9602297D558EB719162C225088184FAA32CA45E1ED15DE58A21 D9FCE383" dig.out.$n >/dev/null || ret=1
4916+if [ $ret -eq 1 ]; then
4917+ echo_i "failed"
4918+ status=$((status + 1))
4919 fi
4920
4921 echo_i "reconfiguring server: minimal-responses no"
4922@@ -340,39 +362,43 @@ rndc_reconfig ns1 10.53.0.1
4923 n=$((n + 1))
4924 echo_i "testing NS handling in ANY responses (authoritative) ($n)"
4925 ret=0
4926-$DIG $DIGOPTS -t ANY rt.example @10.53.0.1 > dig.out.$n || ret=1
4927-grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
4928-grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
4929-if [ $ret -eq 1 ] ; then
4930- echo_i "failed"; status=$((status+1))
4931+$DIG $DIGOPTS -t ANY rt.example @10.53.0.1 >dig.out.$n || ret=1
4932+grep "AUTHORITY: 0" dig.out.$n >/dev/null || ret=1
4933+grep "NS[ ]*ns" dig.out.$n >/dev/null || ret=1
4934+if [ $ret -eq 1 ]; then
4935+ echo_i "failed"
4936+ status=$((status + 1))
4937 fi
4938
4939 n=$((n + 1))
4940 echo_i "testing NS handling in ANY responses (recursive) ($n)"
4941 ret=0
4942-$DIG $DIGOPTS -t ANY rt.example @10.53.0.3 > dig.out.$n || ret=1
4943-grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
4944-grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
4945-if [ $ret -eq 1 ] ; then
4946- echo_i "failed"; status=$((status+1))
4947+$DIG $DIGOPTS -t ANY rt.example @10.53.0.3 >dig.out.$n || ret=1
4948+grep "AUTHORITY: 0" dig.out.$n >/dev/null || ret=1
4949+grep "NS[ ]*ns" dig.out.$n >/dev/null || ret=1
4950+if [ $ret -eq 1 ]; then
4951+ echo_i "failed"
4952+ status=$((status + 1))
4953 fi
4954
4955 n=$((n + 1))
4956 echo_i "testing out-of-zone additional data from auth zones (authoritative) ($n)"
4957 ret=0
4958-$DIG $DIGOPTS -t NS rt.example @10.53.0.1 > dig.out.$n || ret=1
4959-grep "ADDITIONAL: 2" dig.out.$n > /dev/null || ret=1
4960-if [ $ret -eq 1 ] ; then
4961- echo_i "failed"; status=$((status+1))
4962+$DIG $DIGOPTS -t NS rt.example @10.53.0.1 >dig.out.$n || ret=1
4963+grep "ADDITIONAL: 2" dig.out.$n >/dev/null || ret=1
4964+if [ $ret -eq 1 ]; then
4965+ echo_i "failed"
4966+ status=$((status + 1))
4967 fi
4968
4969 n=$((n + 1))
4970 echo_i "testing out-of-zone additional data from auth zones (recursive) ($n)"
4971 ret=0
4972-$DIG $DIGOPTS -t NS ex @10.53.0.3 > dig.out.$n || ret=1
4973-grep "ADDITIONAL: 3" dig.out.$n > /dev/null || ret=1
4974-if [ $ret -eq 1 ] ; then
4975- echo_i "failed"; status=$((status+1))
4976+$DIG $DIGOPTS -t NS ex @10.53.0.3 >dig.out.$n || ret=1
4977+grep "ADDITIONAL: 3" dig.out.$n >/dev/null || ret=1
4978+if [ $ret -eq 1 ]; then
4979+ echo_i "failed"
4980+ status=$((status + 1))
4981 fi
4982
4983 echo_i "exit status: $status"
4984diff --git a/bin/tests/system/addzone/ns1/named.conf.in b/bin/tests/system/addzone/ns1/named.conf.in
4985index 9015e1b..8c94791 100644
4986--- a/bin/tests/system/addzone/ns1/named.conf.in
4987+++ b/bin/tests/system/addzone/ns1/named.conf.in
4988@@ -33,7 +33,7 @@ options {
4989
4990 zone "." {
4991 type hint;
4992- file "../../common/root.hint";
4993+ file "../../_common/root.hint";
4994 };
4995
4996 zone "inlinesec.example" {
4997diff --git a/bin/tests/system/addzone/ns2/named1.conf.in b/bin/tests/system/addzone/ns2/named1.conf.in
4998index 23be60e..bd94f6e 100644
4999--- a/bin/tests/system/addzone/ns2/named1.conf.in
5000+++ b/bin/tests/system/addzone/ns2/named1.conf.in
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches