Skip to content

Commit

Permalink
Merge pull request #1370 from zonemaster/develop
Browse files Browse the repository at this point in the history
Merge develop into master (Engine)
  • Loading branch information
matsduf authored Jul 1, 2024
2 parents 17688f7 + 5d1c98f commit b889bcb
Show file tree
Hide file tree
Showing 70 changed files with 3,420 additions and 1,667 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
- develop
#- latest
perl:
- '5.36'
- '5.30'
- '5.38'
- '5.34'
- '5.26'
runner:
- ubuntu-22.04
Expand Down
29 changes: 29 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,6 +1,35 @@
Release history for Zonemaster component Zonemaster-Engine


v6.0.0 2024-07-01 (part of Zonemaster v2024.1 release)

[Release information]
- Translations have not been fully updated in this release. They will
be updated in an upcoming release.

[Breaking change]
- Removes planned deprecated 'resolver.source' profile property.
Breaks custom profiles using this property. Use 'resolver.source4'
and 'resolver.source6' instead. (#1343)
- Using 'profile.json' that comes with the Zonemaster::Engine
installation as a template for custom profile is no longer supported.
For the new supported way of extracting the default profile, see
https://github.com/zonemaster/zonemaster/blob/master/docs/public/configuration/profiles.md#default-profile (#1339)

[Features]
- Makes it possible to run single testcase via test_zone() (#1312)
- Updates Basic01 implementation (#1357)

[Fixes]
- Makes syntax04 take zone name instead of NS name (#1322, #1369)
- Removes the code dependency on Moose (#1319)
- Fixes Zonemaster::Engine::Translator’s instance() method (#1347)
- Fixes polymorphism in Translator (#1346)
- Adds minor changes to Zone11 msgids (#1348)
- Update minimum Perl version to 5.16.0 and add missing 'warnings' (#1342)
- Fixes undef eq comparison (#1363)


v5.0.0 2024-03-18 (public release version)

[Release information]
Expand Down
4 changes: 1 addition & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ RUN apk add --no-cache \
perl-lwp-protocol-https \
perl-mail-spf \
perl-module-install \
perl-moose \
perl-pod-coverage \
perl-sub-override \
perl-test-differences \
perl-test-exception \
perl-test-fatal \
Expand All @@ -32,7 +32,6 @@ RUN apk add --no-cache \
Locale::PO \
Locale::TextDomain \
Module::Find \
MooseX::Singleton \
Net::IP::XS

ARG version
Expand Down Expand Up @@ -61,6 +60,5 @@ RUN apk add --no-cache \
perl-mail-spf \
perl-mailtools \
perl-module-install \
perl-moose \
perl-net-ip \
perl-text-csv
37 changes: 22 additions & 15 deletions MANIFEST
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Changes
CONTRIBUTING.md
docs/Implementing_Tests.pod
docs/Translation.pod
docs/Translation-translators.md
docs/Translation.pod
inc/Module/Install.pm
inc/Module/Install/Base.pm
inc/Module/Install/Can.pm
Expand Down Expand Up @@ -46,6 +46,7 @@ lib/Zonemaster/Engine/TestMethods.pm
lib/Zonemaster/Engine/TestMethodsV2.pm
lib/Zonemaster/Engine/Translator.pm
lib/Zonemaster/Engine/Util.pm
lib/Zonemaster/Engine/Validation.pm
lib/Zonemaster/Engine/Zone.pm
LICENSE
Makefile.PL
Expand Down Expand Up @@ -81,26 +82,29 @@ t/nameserver.t
t/normalization.t
t/old-bugs.data
t/old-bugs.t
t/packet.t
t/pod-coverage.t
t/pod.t
t/profiles.t
t/profiles/policy.json
t/profiles/profile.json
t/profiles/Test-address-all.json
t/profiles/Test-all.json
t/profiles/Test-all-levels.json
t/profiles/Test-all.json
t/profiles/Test-basic-all.json
t/profiles/Test-connectivity-all.json
t/profiles/Test-connectivity01-only.json
t/profiles/Test-connectivity02-only.json
t/profiles/Test-connectivity03-only.json
t/profiles/Test-connectivity04-only.json
t/profiles/Test-connectivity-all.json
t/profiles/Test-consistency-all.json
t/profiles/Test-consistency01-only.json
t/profiles/Test-consistency02-only.json
t/profiles/Test-consistency03-only.json
t/profiles/Test-consistency04-only.json
t/profiles/Test-consistency-all.json
t/profiles/Test-delegation-all.json
t/profiles/Test-dnssec-all.json
t/profiles/Test-dnssec-more-all.json
t/profiles/Test-dnssec01-only.json
t/profiles/Test-dnssec02-only.json
t/profiles/Test-dnssec03-only.json
Expand All @@ -117,8 +121,7 @@ t/profiles/Test-dnssec14-only.json
t/profiles/Test-dnssec15-only.json
t/profiles/Test-dnssec17-only.json
t/profiles/Test-dnssec18-only.json
t/profiles/Test-dnssec-all.json
t/profiles/Test-dnssec-more-all.json
t/profiles/Test-nameserver-all.json
t/profiles/Test-nameserver01-only.json
t/profiles/Test-nameserver02-only.json
t/profiles/Test-nameserver03-only.json
Expand All @@ -128,7 +131,7 @@ t/profiles/Test-nameserver06-only.json
t/profiles/Test-nameserver07-only.json
t/profiles/Test-nameserver08-only.json
t/profiles/Test-nameserver09-only.json
t/profiles/Test-nameserver-all.json
t/profiles/Test-syntax-all.json
t/profiles/Test-syntax01-only.json
t/profiles/Test-syntax02-only.json
t/profiles/Test-syntax03-only.json
Expand All @@ -137,14 +140,15 @@ t/profiles/Test-syntax05-only.json
t/profiles/Test-syntax06-only.json
t/profiles/Test-syntax07-only.json
t/profiles/Test-syntax08-only.json
t/profiles/Test-syntax-all.json
t/profiles/Test-zone-all.json
t/recursor.data
t/recursor.t
t/Test-address.data
t/Test-address.t
t/Test-basic.data
t/Test-basic.t
t/Test-basic01.data
t/Test-basic01.t
t/Test-basic02-A.data
t/Test-basic02-A.t
t/Test-basic02-B.data
Expand All @@ -157,14 +161,14 @@ t/Test-connectivity04.data
t/Test-connectivity04.t
t/Test-consistency.data
t/Test-consistency.t
t/Test-consistency05.data
t/Test-consistency05.t
t/Test-consistency05-F.data
t/Test-consistency05-F.t
t/Test-consistency06.data
t/Test-consistency06.t
t/Test-consistency05.data
t/Test-consistency05.t
t/Test-consistency06-B.data
t/Test-consistency06-B.t
t/Test-consistency06.data
t/Test-consistency06.t
t/Test-delegation.data
t/Test-delegation.t
t/Test-delegation01-A.data
Expand Down Expand Up @@ -271,23 +275,26 @@ t/Test-syntax06-K.data
t/Test-syntax06-K.t
t/Test-syntax06-L.data
t/Test-syntax06-L.t
t/TestUtil.pm
t/Test-zone.data
t/Test-zone.t
t/Test-zone01-A.t
t/Test-zone01-A.data
t/Test-zone01-B.t
t/Test-zone01-A.t
t/Test-zone01-B.data
t/Test-zone01-B.t
t/Test-zone09-1.data
t/Test-zone09-1.t
t/Test-zone09.data
t/Test-zone09.t
t/Test-zone11.data
t/Test-zone11.t
t/Test.data
t/Test.t
t/TestUtil.pm
t/translator.t
t/undelegated.data
t/undelegated.t
t/util.t
t/validation.t
t/zone.data
t/zone.t
t/zonemaster.data
Expand Down
5 changes: 2 additions & 3 deletions Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,16 @@ requires 'Locale::TextDomain' => 1.20;
requires 'Log::Any' => 0;
requires 'Mail::SPF' => 0;
requires 'Module::Find' => 0.10;
requires 'Moose' => 2.0401;
requires 'MooseX::Singleton' => 0.30;
requires 'Net::DNS' => 0;
requires 'Net::IP::XS' => 0.21;
requires 'Readonly' => 0;
requires 'Text::CSV' => 0;
requires 'YAML::XS' => 0;
requires 'Zonemaster::LDNS' => 4.000000; # For v4.0.0
requires 'Zonemaster::LDNS' => 4.000002; # For v4.0.2

test_requires 'Locale::PO' => 0;
test_requires 'Pod::Coverage' => 0;
test_requires 'Sub::Override' => 0;
test_requires 'Test::Differences' => 0;
test_requires 'Test::Exception' => 0;
test_requires 'Test::Fatal' => 0;
Expand Down
19 changes: 12 additions & 7 deletions lib/Zonemaster/Engine.pm
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package Zonemaster::Engine;

use version; our $VERSION = version->declare("v5.0.0");
use v5.16.0;
use warnings;

use 5.014002;
use version; our $VERSION = version->declare("v6.0.0");

BEGIN {
# Locale::TextDomain (<= 1.20) doesn't know about File::ShareDir so give a helping hand.
Expand All @@ -16,6 +17,7 @@ BEGIN {

use Class::Accessor "antlers";
use Carp;

use Zonemaster::Engine::Nameserver;
use Zonemaster::Engine::Logger;
use Zonemaster::Engine::Profile;
Expand Down Expand Up @@ -80,7 +82,7 @@ sub all_tags {
my ( $class ) = @_;
my @res;

foreach my $module ( 'Basic', sort { $a cmp $b } Zonemaster::Engine::Test->modules ) {
foreach my $module ( sort { $a cmp $b } Zonemaster::Engine::Test->modules ) {
my $full = "Zonemaster::Engine::Test::$module";
my $ref = $full->metadata;
foreach my $list ( values %{$ref} ) {
Expand All @@ -95,7 +97,7 @@ sub all_methods {
my ( $class ) = @_;
my %res;

foreach my $module ( 'Basic', Zonemaster::Engine::Test->modules ) {
foreach my $module ( Zonemaster::Engine::Test->modules ) {
my $full = "Zonemaster::Engine::Test::$module";
my $ref = $full->metadata;
foreach my $method ( sort { $a cmp $b } keys %{$ref} ) {
Expand Down Expand Up @@ -262,9 +264,12 @@ Runs all available tests for the zone with the given name in the specified modul
=item test_method($module, $method, $name)
Run one particular test method in one particular module for one particular zone. The requested module must be in the list of active loaded modules (that is, not the Basic
module and not a module disabled by the current profile), and the method must be listed in the metadata the module exports. If those requirements
are fulfilled, the method will be called with the provided arguments.
Run one particular test method in one particular module for one particular zone.
The requested module must be in the list of currently enabled modules (that is,
not a module disabled by the current profile), and the method must be listed in
the metadata of the module exports.
If those requirements are fulfilled, the method will be called with the provided
arguments.
=item zone($name)
Expand Down
3 changes: 1 addition & 2 deletions lib/Zonemaster/Engine/ASNLookup.pm
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package Zonemaster::Engine::ASNLookup;

use 5.014002;

use v5.16.0;
use warnings;

use version; our $VERSION = version->declare( "v1.0.11" );
Expand Down
13 changes: 4 additions & 9 deletions lib/Zonemaster/Engine/Constants.pm
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package Zonemaster::Engine::Constants;

use version; our $VERSION = version->declare("v1.2.5");

use strict;
use v5.16.0;
use warnings;

use Carp;
use version; our $VERSION = version->declare("v1.2.5");

use Carp;
use English qw( -no_match_vars ) ;

use parent 'Exporter';
use Net::IP::XS;
use Text::CSV;
Expand Down Expand Up @@ -83,7 +81,6 @@ our @EXPORT_OK = qw[
$SERIAL_BITS
$SERIAL_MAX_VARIATION
$MINIMUM_NUMBER_OF_NAMESERVERS
$RESOLVER_SOURCE_OS_DEFAULT
$UDP_PAYLOAD_LIMIT
$UDP_EDNS_QUERY_DEFAULT
$UDP_COMMON_EDNS_LIMIT
Expand All @@ -101,7 +98,7 @@ our %EXPORT_TAGS = (
soa => [
qw($DURATION_5_MINUTES_IN_SECONDS $DURATION_1_HOUR_IN_SECONDS $DURATION_4_HOURS_IN_SECONDS $DURATION_12_HOURS_IN_SECONDS $DURATION_1_DAY_IN_SECONDS $DURATION_1_WEEK_IN_SECONDS $DURATION_180_DAYS_IN_SECONDS $SERIAL_BITS $SERIAL_MAX_VARIATION)
],
misc => [qw($UDP_PAYLOAD_LIMIT $UDP_EDNS_QUERY_DEFAULT $UDP_COMMON_EDNS_LIMIT $MINIMUM_NUMBER_OF_NAMESERVERS $RESOLVER_SOURCE_OS_DEFAULT $BLACKLISTING_ENABLED)]
misc => [qw($UDP_PAYLOAD_LIMIT $UDP_EDNS_QUERY_DEFAULT $UDP_COMMON_EDNS_LIMIT $MINIMUM_NUMBER_OF_NAMESERVERS $BLACKLISTING_ENABLED)]
, # everyting in %EXPORT_OK that isn't included in any of the other tags
addresses => [qw(@IPV4_SPECIAL_ADDRESSES @IPV6_SPECIAL_ADDRESSES)],
);
Expand Down Expand Up @@ -197,8 +194,6 @@ Readonly our $IP_VERSION_6 => 6;

Readonly our $MINIMUM_NUMBER_OF_NAMESERVERS => 2;

Readonly our $RESOLVER_SOURCE_OS_DEFAULT => 'os_default';

Readonly our $SERIAL_BITS => 32;
Readonly our $SERIAL_MAX_VARIATION => 0;

Expand Down
5 changes: 3 additions & 2 deletions lib/Zonemaster/Engine/DNSName.pm
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package Zonemaster::Engine::DNSName;

use v5.16.0;
use warnings;

use version; our $VERSION = version->declare("v1.0.3");

use 5.014002;
use warnings;
use Carp;
use Scalar::Util qw( blessed );

Expand Down
6 changes: 3 additions & 3 deletions lib/Zonemaster/Engine/Exception.pm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package Zonemaster::Engine::Exception;

use version; our $VERSION = version->declare("v1.0.3");

use 5.014002;
use v5.16.0;
use warnings;

use version; our $VERSION = version->declare("v1.0.3");

use Class::Accessor "antlers";

use overload '""' => \&string;
Expand Down
Loading

0 comments on commit b889bcb

Please sign in to comment.