Skip to content

Commit c29b7db

Browse files
authored
Merge pull request #1412 from zonemaster/develop
Merge develop branch into master (Engine)
2 parents b889bcb + 8cb771b commit c29b7db

File tree

137 files changed

+7686
-5750
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+7686
-5750
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ jobs:
5656
- name: Install Zonemaster::LDNS (latest)
5757
if: ${{ matrix.compatibility == 'latest' }}
5858
run: |
59-
cpanm --sudo --notest Module::Install Zonemaster::LDNS
59+
cpanm --sudo --notest Module::Install ExtUtils::PkgConfig Zonemaster::LDNS
6060
6161
- name: Install Zonemaster::LDNS (develop)
6262
if: ${{ matrix.compatibility == 'develop' }}
6363
run: |
64-
cpanm --sudo --notest Devel::CheckLib Module::Install Module::Install::XSUtil
64+
cpanm --sudo --notest Devel::CheckLib Module::Install ExtUtils::PkgConfig Module::Install::XSUtil
6565
git clone --branch=develop --depth=1 https://github.com/zonemaster/zonemaster-ldns.git
6666
perl Makefile.PL # Generate MYMETA.yml to appease cpanm .
6767
( cd zonemaster-ldns ; cpanm --sudo --notest . )

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Contribution to this repository is welcome. Contribution can be either an issue
44
report or a code or a documentation update. Also see the information in the
5-
[main README][Zonemaster/Zonemaster README] in the main Zonemaster respository.
5+
[main README][Zonemaster/Zonemaster README] in the main Zonemaster repository.
66

77
## Issue
88

Changes

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,43 @@
11
Release history for Zonemaster component Zonemaster-Engine
22

33

4+
v7.0.0 2024-12-09 (part of Zonemaster v2024.2 release)
5+
6+
[Release information]
7+
- Translations have not been fully updated in this release. They will
8+
be updated in an upcoming extra release.
9+
10+
[Breaking change]
11+
- Refactors ASNLookup code and documentation (#1257)
12+
13+
[Features]
14+
- Changes default settings of queries (#1397)
15+
- Updates DNSSEC10 implementation (#1396)
16+
- Updates global cache and makes the feature being supported and not
17+
experimental (#1394)
18+
- Lowers the levels of ASN related messages from test case Connectivity03
19+
(#1388)
20+
- Updates MethodsV2 method to match new algorithm in test
21+
case Basic01 (#1373)
22+
- Adds CNAME followage in recursive lookups (#1288)
23+
- Updates profile function (#1356)
24+
25+
[Fixes]
26+
- Fixes abort condition for undelegated tests in the Basic module (#1401)
27+
- Adds Try::Tiny in zonemaster-cli runtime Docker container (#1399)
28+
- Fixes CDS and CDNSKEY RRsets comparison in test case DNSSEC15 (#1383)
29+
- Removes test case Nameserver14 (never implemented) (#1390)
30+
- Updates Connectivity04 implementation (#1393)
31+
- Updates test case Delegation05 to include QNAME and QTYPE in diagnostics for
32+
failed queries (#1392)
33+
- Removes obsolete document (#1359)
34+
- Resolves IP addresses directly from Engine for out-of-bailiwick names in fake
35+
delegations (#1389)
36+
- Fixes spelling errors (external contribution from @emollier) (#1378)
37+
- Fixes barewords (external contribution from @emollier) (#1380)
38+
- Fixes misspellings (external contribution from @jsoref) (#1366)
39+
40+
441
v6.0.0 2024-07-01 (part of Zonemaster v2024.1 release)
542

643
[Release information]
@@ -79,7 +116,7 @@ v4.7.2 2023-08-07 (public fix version)
79116
- Fixes bug (regression) in test case BASIC01 that made all tests of
80117
zone names that start with the same letters as the whole first label
81118
of the parent zone fail, e.g. "NOrid.NO" and "FRance.FR". The bug
82-
was introduced in version v4.7.1 in release v2023.1.1. (#1270)
119+
was introduced in version v4.7.1 in release v2023.1.1. (#1270)
83120

84121

85122
v4.7.1 2023-07-24 (public fix version)
@@ -138,7 +175,7 @@ v4.6.1 2023-01-31 (public fix version)
138175
- Updates translations (#1180, #1167)
139176
- Fixes a bug that made implementation of ADDRESS01 crash (#1181)
140177
- Fixes a bug that made implementation of NAMESERVER11 create false error
141-
when server returned legimate EDNS OPTION-CODE (#1173, #1177)
178+
when server returned legitimate EDNS OPTION-CODE (#1173, #1177)
142179
- Removed unneeded binary dependency from installation instruction for
143180
Ubuntu and Debian (#1176)
144181
- Fixes a bug that made implementation of ZONE01 crash when more than
@@ -388,7 +425,7 @@ v3.1.2 2020-05-22
388425

389426
[Fixes]
390427
- Comparison in Zone10 on SOA owner name was done in case
391-
senstive manner which created false ERRORs for some zones
428+
sensitive manner which created false ERRORs for some zones
392429
and depending on the case of input zone name (#734, #737)
393430

394431

@@ -405,7 +442,7 @@ v3.1.0 2020-04-30
405442
- Allow installation of new LDNS on Debian 9 (#667)
406443
- Add more meaningful message for unsupported algorithms in
407444
DNSSEC test cases (#641, #632)
408-
- Improved the hanling of "fuzzy" PO files (#640, #598, #600, #596)
445+
- Improved the handling of "fuzzy" PO files (#640, #598, #600, #596)
409446
- Implementation of revised version of DNSSEC10 (#633, #618, #632)
410447
- Implementation of revised version of DNSSEC01 (#627, #616, #308)
411448
- Implementation of revised version of DELEGATION05 (#628, #617, #236)
@@ -554,9 +591,9 @@ v3.0.0 2019-01-25 (pre-release version)
554591
support #462
555592
- Various #481, #485
556593
- Fixes
557-
- Uppdated formatting of msgid tables #402
594+
- Updated formatting of msgid tables #402
558595
- Fixed broken tests #412
559-
- All link references on Github now to zonemaster/zonemaster instead
596+
- All link references on GitHub now to zonemaster/zonemaster instead
560597
of old dotse/zonemaster #406
561598
- Updated manifest #422
562599
- Updated travis conf to match supported perl versions (#426, #463)
@@ -628,7 +665,7 @@ v2.0.0
628665
- Updated translations (#127, #196, #216, #248, #249, #291)
629666
- Incremented VERSION of internal packages (98868cb)
630667
- Other changes
631-
- Fixed Commonmark rendering for Github (cc7a28a)
668+
- Fixed Commonmark rendering for GitHub (cc7a28a)
632669
- Switch msgfmt implementation to pure Perl (#223, #224)
633670
- New Unit tests infrastructure. 896 tests kept, 2 removed, will be added back later (#310)
634671

@@ -644,7 +681,7 @@ v1.1.0 2017-04-04 Public pre-release
644681
- Solved Duplicate tag in en.po (#252)
645682
- Solved Update documentation for logfilters (#221)
646683
- add Ed25519 (15) and Ed448 (16) algorithms (#290)
647-
- Solved Not-existent name server doesn't cause a failure (#278)
684+
- Solved Nonexistent name server doesn't cause a failure (#278)
648685

649686
v1.0.16 2016-12-12
650687

@@ -683,7 +720,7 @@ v1.0.14 2016-06-15
683720
- Would be nice to add a count of name servers #453
684721
- Partly resolved "JSON/JSON::XS usage and requirement", see issue #165
685722
- nameserver03 test should not perform network requests, issue #168
686-
- Locale files are not generated nor installed #173
723+
- Locale files are neither generated nor installed #173
687724
- ASN test should only look at authoritative nameservers at the child, issue #441
688725
- Modify the "Notice" information when DNSSEC not signed, issue #193
689726
- Implement updated test case dnssec02, issue #187
@@ -719,7 +756,7 @@ v1.0.8 2015-11-16
719756

720757
v1.0.7 2015-10-01
721758
- ASN in logs are now arrays
722-
- Make test witout IPv6 connectivity works, fixes #121
759+
- Make test without IPv6 connectivity works, fixes #121
723760
- Now requires Net::Socket::IP
724761
- Fixes malformed log messages
725762

@@ -762,7 +799,7 @@ v1.0.3 2015-04-07
762799
- Refer to overview page from Zonemaster page.
763800
- Fix missed corner case in parent-finding algorithm.
764801
- CNAME handling accidentally left outside check for packet existence.
765-
- Clearer message when failling signature checks because GOST support is
802+
- Clearer message when failing signature checks because GOST support is
766803
not present.
767804

768805
v1.0.2 2015-02-24

Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM zonemaster/ldns:local as build
1+
FROM zonemaster/ldns:local AS build
22

33
RUN apk add --no-cache \
44
# Only needed for CPAN deps
@@ -61,4 +61,5 @@ RUN apk add --no-cache \
6161
perl-mailtools \
6262
perl-module-install \
6363
perl-net-ip \
64-
perl-text-csv
64+
perl-text-csv \
65+
perl-try-tiny

MANIFEST

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
Changes
22
CONTRIBUTING.md
33
docs/Implementing_Tests.pod
4-
docs/Translation-translators.md
54
docs/Translation.pod
65
inc/Module/Install.pm
76
inc/Module/Install/Base.pm
@@ -74,7 +73,8 @@ t/asn.data
7473
t/asn.t
7574
t/dnsname.t
7675
t/logger.t
77-
t/manifest.t
76+
t/methodsv2.data
77+
t/methodsv2.t
7878
t/nameserver-axfr.data
7979
t/nameserver-axfr.t
8080
t/nameserver.data
@@ -143,6 +143,8 @@ t/profiles/Test-syntax08-only.json
143143
t/profiles/Test-zone-all.json
144144
t/recursor.data
145145
t/recursor.t
146+
t/recursor-A.data
147+
t/recursor-A.t
146148
t/Test-address.data
147149
t/Test-address.t
148150
t/Test-basic.data
@@ -159,58 +161,22 @@ t/Test-connectivity03.data
159161
t/Test-connectivity03.t
160162
t/Test-connectivity04.data
161163
t/Test-connectivity04.t
164+
t/Test-connectivity04-A.data
165+
t/Test-connectivity04-A.t
162166
t/Test-consistency.data
163167
t/Test-consistency.t
164-
t/Test-consistency05-F.data
165-
t/Test-consistency05-F.t
166168
t/Test-consistency05.data
167169
t/Test-consistency05.t
168-
t/Test-consistency06-B.data
169-
t/Test-consistency06-B.t
170170
t/Test-consistency06.data
171171
t/Test-consistency06.t
172172
t/Test-delegation.data
173173
t/Test-delegation.t
174-
t/Test-delegation01-A.data
175-
t/Test-delegation01-A.t
176-
t/Test-delegation01-B.data
177-
t/Test-delegation01-B.t
178-
t/Test-delegation01-C.data
179-
t/Test-delegation01-C.t
180-
t/Test-delegation01-D.data
181-
t/Test-delegation01-D.t
182-
t/Test-delegation01-E.data
183-
t/Test-delegation01-E.t
184-
t/Test-delegation01-F.data
185-
t/Test-delegation01-F.t
186-
t/Test-delegation01-G.data
187-
t/Test-delegation01-G.t
188-
t/Test-delegation01-H.data
189-
t/Test-delegation01-H.t
190-
t/Test-delegation01-I.data
191-
t/Test-delegation01-I.t
192-
t/Test-delegation01-J.data
193-
t/Test-delegation01-J.t
194-
t/Test-delegation01-K.data
195-
t/Test-delegation01-K.t
196-
t/Test-delegation01-L.data
197-
t/Test-delegation01-L.t
198-
t/Test-delegation01-M.data
199-
t/Test-delegation01-M.t
200-
t/Test-delegation02-A.data
201-
t/Test-delegation02-A.t
202-
t/Test-delegation02-B.data
203-
t/Test-delegation02-B.t
204-
t/Test-delegation02-C.data
205-
t/Test-delegation02-C.t
206-
t/Test-delegation02-D.data
207-
t/Test-delegation02-D.t
208-
t/Test-delegation03-A.data
209-
t/Test-delegation03-A.t
210-
t/Test-delegation03-B.data
211-
t/Test-delegation03-B.t
212-
t/Test-delegation03-C.data
213-
t/Test-delegation03-C.t
174+
t/Test-delegation01.data
175+
t/Test-delegation01.t
176+
t/Test-delegation02.data
177+
t/Test-delegation02.t
178+
t/Test-delegation03.data
179+
t/Test-delegation03.t
214180
t/Test-dnssec-more.data
215181
t/Test-dnssec-more.t
216182
t/Test-dnssec.data
@@ -237,6 +203,8 @@ t/Test-dnssec05-I.data
237203
t/Test-dnssec05-I.t
238204
t/Test-dnssec05-J.data
239205
t/Test-dnssec05-J.t
206+
t/Test-dnssec10.data
207+
t/Test-dnssec10.t
240208
t/Test-dnssec16.data
241209
t/Test-dnssec16.t
242210
t/Test-nameserver.data

MANIFEST.SKIP

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
^\.perltidyrc$
77
^\.travis\.yml$
88
^util/
9-
^share/update-po$ # PO files are exluded from dist, which makes this script meaningless in dist
9+
^share/update-po$ # PO files are excluded from dist, which makes this script meaningless in dist
1010
^share/Zonemaster-Engine.pot$
1111
^t/po-files.t$ # PO files are excluded from dist, so we cannot test them
1212
^Dockerfile$
@@ -71,9 +71,12 @@
7171
^MYMETA\.
7272
#!end included /usr/share/perl/5.20/ExtUtils/MANIFEST.SKIP
7373

74-
# For Github action
74+
# For GitHub action
7575
^\.github/
7676

7777
# Debian packaging
7878
^debian/
7979
^.pc/
80+
81+
# Avoid MANIFEST test
82+
t/manifest.t

Makefile.PL

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ requires 'Email::Valid' => 0;
2323
requires 'File::ShareDir' => 1.00;
2424
requires 'File::Slurp' => 0;
2525
requires 'IO::Socket::INET6' => 2.69;
26+
requires 'List::Compare' => 0;
2627
requires 'List::MoreUtils' => 0;
2728
requires 'Locale::TextDomain' => 1.20;
2829
requires 'Log::Any' => 0;
@@ -33,7 +34,7 @@ requires 'Net::IP::XS' => 0.21;
3334
requires 'Readonly' => 0;
3435
requires 'Text::CSV' => 0;
3536
requires 'YAML::XS' => 0;
36-
requires 'Zonemaster::LDNS' => 4.000002; # For v4.0.2
37+
requires 'Zonemaster::LDNS' => 4.001000; # For v4.1.0
3738

3839
test_requires 'Locale::PO' => 0;
3940
test_requires 'Pod::Coverage' => 0;

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ For participation, contact and bug reporting, please see
5050
## License
5151

5252
This is free software under a 2-clause BSD license. The full text of the license can
53-
be found in the [LICENSE](LICENSE) file included in this respository.
53+
be found in the [LICENSE](LICENSE) file included in this repository.
5454

5555

5656
[CPAN site]: https://metacpan.org/pod/Zonemaster::Engine

docs/Translation-translators.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/Zonemaster/Engine.pm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package Zonemaster::Engine;
33
use v5.16.0;
44
use warnings;
55

6-
use version; our $VERSION = version->declare("v6.0.0");
6+
use version; our $VERSION = version->declare("v7.0.0");
77

88
BEGIN {
99
# Locale::TextDomain (<= 1.20) doesn't know about File::ShareDir so give a helping hand.
@@ -37,7 +37,7 @@ my $init_done = 0;
3737

3838
sub init_engine {
3939
return if $init_done++;
40-
Zonemaster::Engine::Recursor::init_recursor;
40+
Zonemaster::Engine::Recursor::init_recursor();
4141
}
4242

4343
sub logger {
@@ -141,7 +141,7 @@ sub add_fake_delegation {
141141
if ( !@{ $href->{$name} }
142142
&& !$class->zone( $domain )->is_in_zone( $name ) )
143143
{
144-
my @ips = Zonemaster::LDNS->new->name2addr( $name );
144+
my @ips = map { $_->ip } Zonemaster::Engine::Recursor->get_addresses_for( $name );
145145
push @{ $href->{$name} }, @ips;
146146
if ( !@ips ) {
147147
$incomplete_delegation = 1;
@@ -252,7 +252,7 @@ This manual describes the main L<Zonemaster::Engine> module. If what you're afte
252252
253253
=item init_engine()
254254
255-
Run the inititalization tasks if they have not been run already. This method is called automatically in INIT block.
255+
Run the initialization tasks if they have not been run already. This method is called automatically in INIT block.
256256
257257
=item test_zone($name)
258258
@@ -289,7 +289,7 @@ Returns the global L<Zonemaster::Engine::Logger> object.
289289
290290
=item all_tags()
291291
292-
Returns a list of all the tags that can be logged for all avilable test modules.
292+
Returns a list of all the tags that can be logged for all available test modules.
293293
294294
=item all_methods()
295295

0 commit comments

Comments
 (0)