diff --git a/Changes b/Changes index f3e50c89b..6faedcdc7 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,18 @@ Release history for Zonemaster component Zonemaster-Engine +v4.6.1 2023-01-31 (public fix version) + + [Fixes] + - Updates translations (#1180, #1167) + - Fixes a bug that made implementation of ADDRESS01 crash (#1181) + - Fixes a bug that made implementation of NAMESERVER11 create false error + when server returned legimate EDNS OPTION-CODE (#1173, #1177) + - Removed unneeded binary dependency from installation instruction for + Ubuntu and Debian (#1176) + - Fixes a bug that made implementation of ZONE01 crash when more than + one SOA Serial was returned from the zone's name servers (#1175, #1178) + - Removes unused message tag (#1174) + v4.6.0 2022-12-19 (public release version) diff --git a/MANIFEST b/MANIFEST index f8ee5581f..cbf317a24 100644 --- a/MANIFEST +++ b/MANIFEST @@ -278,6 +278,10 @@ t/Test-syntax06-L.data t/Test-syntax06-L.t 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-B.data t/Test-zone09-A.data t/Test-zone09-A.t t/Test-zone09-B.data diff --git a/Makefile.PL b/Makefile.PL index ee62881f3..4721554f5 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -32,7 +32,7 @@ requires 'Net::DNS' => 0; requires 'Net::IP::XS' => 0.21; requires 'Readonly' => 0; requires 'Text::CSV' => 0; -requires 'Zonemaster::LDNS' => 3.000000; +requires 'Zonemaster::LDNS' => 3.001000; test_requires 'Pod::Coverage' => 0; test_requires 'Test::Differences' => 0; diff --git a/docs/Installation.md b/docs/Installation.md index 22be0be62..5d9869dea 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -108,7 +108,7 @@ Using pre-built packages is the preferred method for Debian and Ubuntu. 2) Install dependencies from binary packages: ```sh - sudo apt install autoconf automake build-essential cpanminus libclass-accessor-perl libclone-perl libdevel-checklib-perl libemail-valid-perl libfile-sharedir-perl libfile-slurp-perl libidn2-dev libintl-perl libio-socket-inet6-perl liblist-moreutils-perl libmodule-find-perl libmodule-install-perl libmodule-install-xsutil-perl libmoose-perl libmoosex-singleton-perl libnet-dns-perl libnet-ip-xs-perl libpod-coverage-perl libreadonly-perl libssl-dev libldns3 libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-nowarnings-perl libtest-pod-perl libtext-csv-perl libtool m4 + sudo apt install autoconf automake build-essential cpanminus libclass-accessor-perl libclone-perl libdevel-checklib-perl libemail-valid-perl libfile-sharedir-perl libfile-slurp-perl libidn2-dev libintl-perl libio-socket-inet6-perl liblist-moreutils-perl libmodule-find-perl libmodule-install-perl libmodule-install-xsutil-perl libmoose-perl libmoosex-singleton-perl libnet-dns-perl libnet-ip-xs-perl libpod-coverage-perl libreadonly-perl libssl-dev libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-nowarnings-perl libtest-pod-perl libtext-csv-perl libtool m4 ``` 3) Install Zonemaster::LDNS and Zonemaster::Engine. diff --git a/lib/Zonemaster/Engine.pm b/lib/Zonemaster/Engine.pm index 8a3d7b004..2cf556cec 100644 --- a/lib/Zonemaster/Engine.pm +++ b/lib/Zonemaster/Engine.pm @@ -1,6 +1,6 @@ package Zonemaster::Engine; -use version; our $VERSION = version->declare("v4.6.0"); +use version; our $VERSION = version->declare("v4.6.1"); use 5.014002; diff --git a/lib/Zonemaster/Engine/Constants.pm b/lib/Zonemaster/Engine/Constants.pm index c0e797197..00540f2e5 100644 --- a/lib/Zonemaster/Engine/Constants.pm +++ b/lib/Zonemaster/Engine/Constants.pm @@ -36,7 +36,8 @@ our @EXPORT_OK = qw[ $IP_VERSION_4 $IP_VERSION_6 $LABEL_MAX_LENGTH - $MAX_SERIAL_VARIATION + $SERIAL_BITS + $SERIAL_MAX_VARIATION $MINIMUM_NUMBER_OF_NAMESERVERS $RESOLVER_SOURCE_OS_DEFAULT $UDP_PAYLOAD_LIMIT @@ -53,7 +54,7 @@ our %EXPORT_TAGS = ( name => [qw($FQDN_MAX_LENGTH $LABEL_MAX_LENGTH)], ip => [qw($IP_VERSION_4 $IP_VERSION_6)], 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 $MAX_SERIAL_VARIATION) + 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_COMMON_EDNS_LIMIT $MINIMUM_NUMBER_OF_NAMESERVERS $RESOLVER_SOURCE_OS_DEFAULT $BLACKLISTING_ENABLED)] , # everyting in %EXPORT_OK that isn't included in any of the other tags @@ -85,12 +86,13 @@ Readonly our $LABEL_MAX_LENGTH => 63; Readonly our $IP_VERSION_4 => 4; Readonly our $IP_VERSION_6 => 6; -Readonly our $MAX_SERIAL_VARIATION => 0; - 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; + Readonly our $UDP_PAYLOAD_LIMIT => 512; Readonly our $UDP_COMMON_EDNS_LIMIT => 4_096; @@ -262,7 +264,13 @@ C<$IP_VERSION_6> =item * -C<$MAX_SERIAL_VARIATION> +C<$SERIAL_BITS> + +An integer, used to define the size of the serial number space, as defined in RFC1982, section 2. + +=item * + +C<$SERIAL_MAX_VARIATION> =item * diff --git a/lib/Zonemaster/Engine/Test/Address.pm b/lib/Zonemaster/Engine/Test/Address.pm index 2df95dbec..6c99c773d 100644 --- a/lib/Zonemaster/Engine/Test/Address.pm +++ b/lib/Zonemaster/Engine/Test/Address.pm @@ -173,7 +173,7 @@ sub address01 { NAMESERVER_IP_PRIVATE_NETWORK => { nsname => $local_ns->name->string, ns_ip => $local_ns->address->short, - prefix => ${$ip_details_ref}{ip}->print, + prefix => ${$ip_details_ref}{ip}->short . '/' . ${$ip_details_ref}{ip}->prefixlen, name => ${$ip_details_ref}{name}, reference => ${$ip_details_ref}{reference}, } diff --git a/lib/Zonemaster/Engine/Test/Consistency.pm b/lib/Zonemaster/Engine/Test/Consistency.pm index f0e21fe3c..55a534724 100644 --- a/lib/Zonemaster/Engine/Test/Consistency.pm +++ b/lib/Zonemaster/Engine/Test/Consistency.pm @@ -386,13 +386,13 @@ sub consistency01 { count => scalar( keys %serials ), } ); - if ( $serial_numbers[-1] - $serial_numbers[0] > $MAX_SERIAL_VARIATION ) { + if ( $serial_numbers[-1] - $serial_numbers[0] > $SERIAL_MAX_VARIATION ) { push @results, info( SOA_SERIAL_VARIATION => { serial_min => $serial_numbers[0], serial_max => $serial_numbers[-1], - max_variation => $MAX_SERIAL_VARIATION, + max_variation => $SERIAL_MAX_VARIATION, } ); } diff --git a/lib/Zonemaster/Engine/Test/Nameserver.pm b/lib/Zonemaster/Engine/Test/Nameserver.pm index 7bb51ca29..bfc71c2da 100644 --- a/lib/Zonemaster/Engine/Test/Nameserver.pm +++ b/lib/Zonemaster/Engine/Test/Nameserver.pm @@ -465,10 +465,6 @@ Readonly my %TAG_DESCRIPTIONS => ( __x # NAMESERVER:TEST_CASE_START 'TEST_CASE_START {testcase}.', @_; }, - UNKNOWN_OPTION_CODE => sub { - __x # NAMESERVER:UNKNOWN_OPTION_CODE - 'Nameserver {ns} responds with an unknown ENDS OPTION-CODE.', @_; - }, UPWARD_REFERRAL => sub { __x # NAMESERVER:UPWARD_REFERRAL 'Nameserver {ns} returns an upward referral.', @_; @@ -1181,32 +1177,49 @@ sub nameserver11 { #To be changed to '$ns->query( $zone->name, q{SOA}, { edns_details => { version => 0 } } );' when PR#1147 is merged. my $p = $ns->query( $zone->name, q{SOA}, { edns_details => { udp_size => 512 } } ); - if ( not $p or not $p->has_edns or $p->rcode ne q{NOERROR} or not $p->aa or not $p->get_records_for_name(q{SOA}, $zone->name, q{answer}) ){ + if ( not $p or not $p->has_edns or $p->rcode ne q{NOERROR} or not $p->aa or not $p->get_records_for_name(q{SOA}, $zone->name, q{answer}) ) { next; } - + #To be changed to '$ns->query( $zone->name, q{SOA}, { edns_details => { data => $rdata } } );' when PR#1147 is merged. $p = $ns->query( $zone->name, q{SOA}, { edns_details => { data => $rdata, udp_size => 512 } } ); if ( $p ) { - if ( $p->rcode ne q{NOERROR} ){ + if ( $p->rcode ne q{NOERROR} ) { push @{ $unexpected_rcode{$p->rcode} }, $ns->address->short; } - - elsif ( not $p->has_edns ){ + + elsif ( not $p->has_edns ) { push @no_edns, $ns->address->short; } - - elsif ( not $p->get_records_for_name(q{SOA}, $zone->name, q{answer}) ){ + + elsif ( not $p->get_records_for_name(q{SOA}, $zone->name, q{answer}) ) { push @unexpected_answer, $ns->address->short; } - - elsif ( not $p->aa ){ + + elsif ( not $p->aa ) { push @unset_aa, $ns->address->short; } - + elsif ( defined $p->edns_data ) { - push @unknown_opt_code, $ns->address->short; + my $p_opt = $p->edns_data; + + # Unpack the bytes string: + # - OPTION-CODE as unsigned short (16-bit) in "network" (big-endian) order, and + # - OPTION-DATA as a sequence of bytes of length specified by a prefixed unsigned short (16-bit) + # in "network" (big-endian) order (OPTION-LENGTH), and + # - Remaining data, if any (i.e., other OPTIONS) + + my @unpacked_opt = eval { unpack("(n n/a)*", $p_opt) }; + + while ( my ( $p_opt_code, $p_opt_data, @next_data ) = @unpacked_opt ) { + if ( $p_opt_code == $opt_code ) { + push @unknown_opt_code, $ns->address->short; + last; + } + + @unpacked_opt = @next_data; + } } } else{ @@ -1214,11 +1227,11 @@ sub nameserver11 { } } - if ( scalar @no_response ){ + if ( scalar @no_response ) { push @results, info( N11_NO_RESPONSE => { ns_ip_list => join( q{;}, uniq sort @no_response ) } ); } - if ( scalar keys %unexpected_rcode ){ + if ( scalar keys %unexpected_rcode ) { push @results, map { info( N11_UNEXPECTED_RCODE => { @@ -1229,19 +1242,19 @@ sub nameserver11 { } keys %unexpected_rcode; } - if ( scalar @no_edns ){ + if ( scalar @no_edns ) { push @results, info( N11_NO_EDNS => { ns_ip_list => join( q{;}, uniq sort @no_edns ) } ); } - if ( scalar @unexpected_answer ){ + if ( scalar @unexpected_answer ) { push @results, info( N11_UNEXPECTED_ANSWER_SECTION => { ns_ip_list => join( q{;}, uniq sort @unexpected_answer ) } ); } - if ( scalar @unset_aa ){ + if ( scalar @unset_aa ) { push @results, info( N11_UNSET_AA => { ns_ip_list => join( q{;}, uniq sort @unset_aa ) } ); } - if ( scalar @unknown_opt_code ){ + if ( scalar @unknown_opt_code ) { push @results, info( N11_RETURNS_UNKNOWN_OPTION_CODE => { ns_ip_list => join( q{;}, uniq sort @unknown_opt_code ) } ); } diff --git a/lib/Zonemaster/Engine/Test/Zone.pm b/lib/Zonemaster/Engine/Test/Zone.pm index 1705921c9..4c8ccee77 100644 --- a/lib/Zonemaster/Engine/Test/Zone.pm +++ b/lib/Zonemaster/Engine/Test/Zone.pm @@ -11,6 +11,7 @@ use Zonemaster::Engine; use Carp; use List::MoreUtils qw[uniq none]; +use List::Util qw[max]; use Locale::TextDomain qw[Zonemaster-Engine]; use Readonly; use JSON::PP; @@ -532,8 +533,6 @@ sub zone01 { } if ( $found_serial ){ - my $serial_bits = 32; - foreach my $mname ( keys %mname_ns ){ MNAME_IP: foreach my $mname_ip ( keys %{ $mname_ns{$mname} } ){ my $mname_serial = $mname_ns{$mname}{$mname_ip}; @@ -543,7 +542,7 @@ sub zone01 { } foreach my $serial ( uniq @serial_ns ){ - if ( $serial > $mname_serial and ( ($serial - $mname_serial) < 2**($serial_bits - 1) ) ){ + if ( Zonemaster::Engine::Util::serial_gt( $serial, $mname_serial ) ){ $mname_not_master{$mname}{$mname_ip} = $mname_serial; next MNAME_IP; } @@ -557,8 +556,14 @@ sub zone01 { push @results, info( Z01_MNAME_NOT_MASTER => { - ns_list => join( q{;}, sort map { $_ . '/' . %{ $mname_not_master{$_} } } keys %mname_not_master ), - soaserial => max( map { $mname_not_master{$_} } keys %mname_not_master ), + ns_list => join( q{;}, sort map + { + my $mname = $_; + map { "$mname/$_" } keys %{ $mname_not_master{$_} } + } + keys %mname_not_master + ), + soaserial => max( uniq map { values %{ $mname_not_master{$_} } } keys %mname_not_master ), soaserial_list => join( q{;}, uniq @serial_ns ) } ); diff --git a/lib/Zonemaster/Engine/Util.pm b/lib/Zonemaster/Engine/Util.pm index cbcb9a8de..e8db4e4a7 100644 --- a/lib/Zonemaster/Engine/Util.pm +++ b/lib/Zonemaster/Engine/Util.pm @@ -30,7 +30,7 @@ use Net::DNS::ZoneFile; use Pod::Simple::SimpleTree; use Zonemaster::Engine; -use Zonemaster::Engine::Constants qw[:ip]; +use Zonemaster::Engine::Constants qw[:ip :soa]; use Zonemaster::Engine::DNSName; use Zonemaster::Engine::Profile; @@ -236,6 +236,14 @@ sub parse_hints { return \%hints; } +sub serial_gt { + my ( $sa, $sb ) = @_; + + return ( ( $sa < $sb and ( ($sb - $sa) > 2**( $SERIAL_BITS - 1 ) ) ) or + ( $sa > $sb and ( ($sa - $sb) < 2**( $SERIAL_BITS - 1 ) ) ) + ); +} + 1; =head1 NAME @@ -325,6 +333,12 @@ This method blindly assumes that the structure of the POD is exactly like that in the Basic test module. If it's not, the results are undefined. +=item serial_gt($serial_a, $serial_b) +Checks if serial_a is greater than serial_b, according to +serial number arithmetic as defined in RFC1982, section 3.2. + +Return a boolean. + =item scramble_case This routine provides a special effect: sCraMBliNg tHe CaSe diff --git a/share/fr.po b/share/fr.po index a94ca8416..4438d59bd 100644 --- a/share/fr.po +++ b/share/fr.po @@ -2,14 +2,70 @@ msgid "" msgstr "" "Project-Id-Version: 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-24 06:04+0000\n" -"PO-Revision-Date: 2022-05-24 08:50+0200\n" -"Last-Translator: marc.vanderwal@afnic.fr\n" +"POT-Creation-Date: 2023-01-31 10:37+0100\n" +"PO-Revision-Date: 2023-01-31 10:37+0100\n" +"Last-Translator: thomas.green@afnic.fr\n" "Language-Team: Zonemaster Team\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" + +#, perl-brace-format +msgid "" +"Ambiguous downcaseing of character \"{unicode_name}\" in the domain name. " +"Use all lower case instead." +msgstr "" +"Ambiguïté lors du passage en minuscule du caractère \"{unicode_name}\" dans " +"le nom de domaine. Utiliser plutôt seulement des minuscules." + +msgid "Domain name is too long (more than 253 characters with no final dot)." +msgstr "" +"Le nom de domaine est trop long (plus de 253 caractères sans le point final)." + +msgid "Domain name is empty." +msgstr "Le nom de domaine est vide." + +msgid "Domain name starts with dot." +msgstr "Le nom de domaine commence par un point." + +#, perl-brace-format +msgid "" +"Domain name has an ASCII label (\"{label}\") with a character not permitted." +msgstr "" +"Le nom de domaine contient un label (\"{label}\") avec des caractères " +"interdits." + +#, perl-brace-format +msgid "" +"Domain name has a non-ASCII label (\"{label}\") which is not a valid U-label." +msgstr "" +"Le nom de domaine a un label non-ASCII (\"{label}\") qui n'est pas un U-" +"label valide." + +msgid "Domain name has repeated dots." +msgstr "Le nom de domaine contient plusieurs points successifs." + +#, perl-brace-format +msgid "" +"Domain name has a label that is too long (more than 63 characters), " +"\"{label}\"." +msgstr "" +"Le nom de domaine a un label trop long (plus de 63 caractères), \"{label}\"." + +#. ADDRESS:ADDRESS01 +msgid "Name server address must be globally routable" +msgstr "L'adresse du serveur de nom doit être routable globalement" + +#. ADDRESS:ADDRESS02 +msgid "Reverse DNS entry exists for name server IP address" +msgstr "" +"Un enregistrement DNS inverse existe pour l’adresse IP du serveur de noms" + +#. ADDRESS:ADDRESS03 +msgid "Reverse DNS entry matches name server name" +msgstr "L’enregistrement DNS inverse correspond au nom du serveur de noms" #. ADDRESS:NAMESERVER_IP_WITHOUT_REVERSE #, perl-brace-format @@ -85,97 +141,29 @@ msgstr "TEST_CASE_END {testcase}." msgid "TEST_CASE_START {testcase}." msgstr "TEST_CASE_START {testcase}." -#. BASIC:A_QUERY_NO_RESPONSES -msgid "Nameservers did not respond to A query." -msgstr "Aucune réponse des serveurs de noms sur une requête de type \"A\"." +#. BASIC:BASIC00 +msgid "Domain name must be valid" +msgstr "Le nom de domaine doit être valable." -#. BASIC:B04_MISSING_NS_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} reponds to a NS query with no NS records in the answer " -"section." -msgstr "" -"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"NS\" dans " -"la section \"answer\" de la réponse à une requête de type \"NS\"." +#. BASIC:BASIC01 +msgid "The domain must have a parent domain" +msgstr "Le nom de domaine doit avoir un domaine parent" -#. BASIC:B04_MISSING_SOA_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} reponds to a SOA query with no SOA records in the answer " -"section." -msgstr "" -"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"SOA\" " -"dans la section \"answer\" de la réponse à une requête de type \"SOA\"." - -#. BASIC:B04_NO_RESPONSE -#, perl-brace-format -msgid "Nameserver {ns} does not respond over neither UDP nor TCP." -msgstr "Le serveur de noms {ns} ne répond ni en UDP, ni en TCP." +#. BASIC:BASIC02 +msgid "The domain must have at least one working name server" +msgstr "Le nom de domaine doit avoir au moins un serveur de nom fonctionnel" -#. BASIC:B04_NO_RESPONSE_NS_QUERY -#, perl-brace-format -msgid "Nameserver {ns} does not respond to NS queries." -msgstr "Le serveur de noms {ns} ne répond pas à une requête de type \"NS\"." +#. BASIC:BASIC03 +msgid "The Broken but functional test" +msgstr "Le test \"cassé mais fonctionnel\"" -#. BASIC:B04_NO_RESPONSE_SOA_QUERY -#, perl-brace-format -msgid "Nameserver {ns} does not respond to SOA queries." -msgstr "Le serveur de noms {ns} ne répond pas à une requête de type \"SOA\"." +#. BASIC:BASIC04 +msgid "Test of basic nameserver and zone functionality" +msgstr "Test du fonctionnement basique du serveur de nom et de la zone" -#. BASIC:B04_NS_RECORD_NOT_AA -#, perl-brace-format -msgid "Nameserver {ns} does not give an authoritative response on an NS query." -msgstr "" -"La réponse du serveur de noms {ns} à une requête de type \"NS\" ne fait pas " -"autorité." - -#. BASIC:B04_RESPONSE_TCP_NOT_UDP -#, perl-brace-format -msgid "Nameserver {ns} does not respond over UDP." -msgstr "Le serveur de noms {ns} ne répond pas en UDP." - -#. BASIC:B04_SOA_RECORD_NOT_AA -#, perl-brace-format -msgid "" -"Nameserver {ns} does not give an authoritative response on an SOA query." -msgstr "" -"La réponse du serveur de noms {ns} à une requête de type \"SOA\" ne fait pas " -"autorité." - -#. BASIC:B04_UNEXPECTED_RCODE_NS_QUERY -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query." -msgstr "" -"Le serveur de noms {ns} a répondu à une requête de type \"NS\" avec un code " -"retour inattendu ({rcode})." - -#. BASIC:B04_UNEXPECTED_RCODE_SOA_QUERY -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query." -msgstr "" -"Le serveur de noms {ns} a répondu à une requête de type \"SOA\" avec un code " -"retour inattendu ({rcode})." - -#. BASIC:B04_WRONG_NS_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " -"on NS queries." -msgstr "" -"Le serveur de noms {ns} répond aux requêtes de type \"NS\" avec un nom de " -"domaine erroné ({owner} à la place de {name})." - -#. BASIC:B04_WRONG_SOA_RECORD -#. ZONE:WRONG_SOA -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " -"on SOA queries." -msgstr "" -"Le serveur de noms {ns} répond aux requêtes de type \"SOA\" avec un nom de " -"domaine erroné ({owner} à la place de {name})." +#. BASIC:A_QUERY_NO_RESPONSES +msgid "Nameservers did not respond to A query." +msgstr "Aucune réponse des serveurs de noms sur une requête de type \"A\"." #. BASIC:DOMAIN_NAME_LABEL_TOO_LONG #, perl-brace-format @@ -229,6 +217,7 @@ msgstr "" #. DNSSEC:IPV4_DISABLED #. NAMESERVER:IPV4_DISABLED #. SYNTAX:IPV4_DISABLED +#. SYSTEM:SKIP_IPV4_DISABLED #, perl-brace-format msgid "IPv4 is disabled, not sending \"{rrtype}\" query to {ns}." msgstr "" @@ -249,6 +238,7 @@ msgstr "" #. DNSSEC:IPV6_DISABLED #. NAMESERVER:IPV6_DISABLED #. SYNTAX:IPV6_DISABLED +#. SYSTEM:SKIP_IPV6_DISABLED #, perl-brace-format msgid "IPv6 is disabled, not sending \"{rrtype}\" query to {ns}." msgstr "" @@ -291,6 +281,216 @@ msgstr "" msgid "Nameserver {ns} did not respond to NS query." msgstr "Le serveur de noms {ns} ne répond pas à une requête de type \"NS\"." +#. CONNECTIVITY:CONNECTIVITY01 +msgid "UDP connectivity" +msgstr "Connectivité UDP" + +#. CONNECTIVITY:CONNECTIVITY02 +msgid "TCP connectivity" +msgstr "Connectivité TCP" + +#. CONNECTIVITY:CONNECTIVITY03 +msgid "AS Diversity" +msgstr "Diversité des AS" + +#. CONNECTIVITY:CN01_IPV4_DISABLED +#, perl-brace-format +msgid "" +"IPv4 is disabled. No DNS queries are sent to these name servers: " +"\"{ns_list}\"." +msgstr "" +"IPv4 est désactivé. Aucune requête n’est envoyée aux serveurs de noms : " +"\"{ns_list}\"." + +#. CONNECTIVITY:CN01_IPV6_DISABLED +#, perl-brace-format +msgid "" +"IPv6 is disabled. No DNS queries are sent to these name servers: " +"\"{ns_list}\"." +msgstr "" +"IPv6 est désactivé. Aucune requête n’est envoyée aux serveurs de noms : " +"\"{ns_list}\"." + +#. CONNECTIVITY:CN01_MISSING_NS_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a NS query with no NS records in the answer " +"section over UDP." +msgstr "" +"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"NS\" dans " +"la section \"answer\" de la réponse à une requête de type \"NS\" en UDP." + +#. CONNECTIVITY:CN01_MISSING_SOA_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a SOA query with no SOA records in the answer " +"section over UDP." +msgstr "" +"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"SOA\" " +"dans la section \"answer\" de la réponse à une requête de type \"SOA\" en " +"UDP." + +#. CONNECTIVITY:CN01_NO_RESPONSE_NS_QUERY_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to NS queries over UDP." +msgstr "" +"Le serveur de noms {ns} ne répond pas aux requêtes de type \"NS\" en UDP." + +#. CONNECTIVITY:CN01_NO_RESPONSE_SOA_QUERY_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to SOA queries over UDP." +msgstr "" +"Le serveur de noms {ns} ne répond pas aux requêtes de type \"SOA\" en UDP." + +#. CONNECTIVITY:CN01_NO_RESPONSE_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to any queries over UDP." +msgstr "Le serveur de noms {ns} ne répond à aucune requête en UDP." + +#. CONNECTIVITY:CN01_NS_RECORD_NOT_AA_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an NS query over " +"UDP." +msgstr "" +"La réponse du serveur de noms {ns} à une requête de type \"NS\" en UDP ne " +"fait pas autorité." + +#. CONNECTIVITY:CN01_SOA_RECORD_NOT_AA_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an SOA query over " +"UDP." +msgstr "" +"La réponse du serveur de noms {ns} à une requête de type \"SOA\" en UDP ne " +"fait pas autorité." + +#. CONNECTIVITY:CN01_UNEXPECTED_RCODE_NS_QUERY_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query " +"over UDP." +msgstr "" +"Le serveur de noms {ns} a répondu à une requête de type \"NS\" en UDP avec " +"un code retour inattendu ({rcode})." + +#. CONNECTIVITY:CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query " +"over UDP." +msgstr "" +"Le serveur de noms {ns} a répondu à une requête de type \"SOA\" en UDP avec " +"un code retour inattendu ({rcode})." + +#. CONNECTIVITY:CN01_WRONG_NS_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on NS queries over UDP." +msgstr "" +"Le serveur de noms {ns} répond aux requêtes de type \"NS\" en UDP avec un " +"nom de domaine erroné ({domain_found} à la place de {domain_expected})." + +#. CONNECTIVITY:CN01_WRONG_SOA_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on SOA queries over UDP." +msgstr "" +"Le serveur de noms {ns} répond aux requêtes de type \"SOA\" en UDP avec un " +"nom de domaine erroné ({domain_found} à la place de {domain_expected})." + +#. CONNECTIVITY:CN02_MISSING_NS_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a NS query with no NS records in the answer " +"section over TCP." +msgstr "" +"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"NS\" dans " +"la section \"answer\" de la réponse à une requête de type \"NS\" en TCP." + +#. CONNECTIVITY:CN02_MISSING_SOA_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a SOA query with no SOA records in the answer " +"section over TCP." +msgstr "" +"Le serveur de noms {ns} ne retourne aucun enregistrement de type \"SOA\" " +"dans la section \"answer\" de la réponse à une requête de type \"SOA\" en " +"TCP." + +#. CONNECTIVITY:CN02_NO_RESPONSE_NS_QUERY_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to NS queries over TCP." +msgstr "" +"Le serveur de noms {ns} ne répond pas aux requêtes de type \"NS\" en TCP." + +#. CONNECTIVITY:CN02_NO_RESPONSE_SOA_QUERY_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to SOA queries over TCP." +msgstr "" +"Le serveur de noms {ns} ne répond pas aux requêtes de type \"SOA\" en TCP." + +#. CONNECTIVITY:CN02_NO_RESPONSE_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to any queries over TCP." +msgstr "Le serveur de noms {ns} ne répond à aucune requête en TCP." + +#. CONNECTIVITY:CN02_NS_RECORD_NOT_AA_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an NS query over " +"TCP." +msgstr "" +"La réponse du serveur de noms {ns} à une requête de type \"NS\" en TCP ne " +"fait pas autorité." + +#. CONNECTIVITY:CN02_SOA_RECORD_NOT_AA_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an SOA query over " +"TCP." +msgstr "" +"La réponse du serveur de noms {ns} à une requête de type \"SOA\" en TCP ne " +"fait pas autorité." + +#. CONNECTIVITY:CN02_UNEXPECTED_RCODE_NS_QUERY_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query " +"over TCP." +msgstr "" +"Le serveur de noms {ns} a répondu à une requête de type \"NS\" en TCP avec " +"un code retour inattendu ({rcode})." + +#. CONNECTIVITY:CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query " +"over TCP." +msgstr "" +"Le serveur de noms {ns} a répondu à une requête de type \"SOA\" en TCP avec " +"un code retour inattendu ({rcode})." + +#. CONNECTIVITY:CN02_WRONG_NS_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on NS queries over TCP." +msgstr "" +"Le serveur de noms {ns} répond aux requêtes de type \"NS\" en TCP avec un " +"nom de domaine erroné ({domain_found} à la place de {domain_expected})." + +#. CONNECTIVITY:CN02_WRONG_SOA_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on SOA queries over TCP." +msgstr "" +"Le serveur de noms {ns} répond aux requêtes de type \"SOA\" en TCP avec un " +"nom de domaine erroné ({domain_found} à la place de {domain_expected})." + #. CONNECTIVITY:ERROR_ASN_DATABASE #, perl-brace-format msgid "ASN Database error. No data to analyze for {ns_ip}." @@ -357,26 +557,6 @@ msgstr "" "Au moins 2 adresses IPv6 des serveurs faisant autorité sont annoncées par " "des ensembles d'AS différents. Liste de l'ensemble des AS: ({asn_list})." -#. CONNECTIVITY:NAMESERVER_HAS_TCP_53 -#, perl-brace-format -msgid "Nameserver {ns} accessible over TCP on port 53." -msgstr "Le serveur de noms {ns} est accessible via TCP sur le port 53." - -#. CONNECTIVITY:NAMESERVER_HAS_UDP_53 -#, perl-brace-format -msgid "Nameserver {ns} accessible over UDP on port 53." -msgstr "Le serveur de noms {ns} est accessible via UDP sur le port 53." - -#. CONNECTIVITY:NAMESERVER_NO_TCP_53 -#, perl-brace-format -msgid "Nameserver {ns} not accessible over TCP on port 53." -msgstr "Le serveur de noms {ns} n'est pas accessible via TCP sur le port 53." - -#. CONNECTIVITY:NAMESERVER_NO_UDP_53 -#, perl-brace-format -msgid "Nameserver {ns} not accessible over UDP on port 53." -msgstr "Le serveur de noms {ns} n'est pas accessible via UDP sur le port 53." - #. CONNECTIVITY:IPV4_ASN #, perl-brace-format msgid "Name servers have IPv4 addresses in the following ASs: {asn}." @@ -409,6 +589,30 @@ msgstr "" "L'adresse IP du serveur de noms \"{ns_ip}\" est annoncée dans le préfixe " "\"{prefix}\"." +#. CONSISTENCY:CONSISTENCY01 +msgid "SOA serial number consistency" +msgstr "Cohérence du numéro de série du SOA" + +#. CONSISTENCY:CONSISTENCY02 +msgid "SOA RNAME consistency" +msgstr "Cohérence du RNAME du SOA" + +#. CONSISTENCY:CONSISTENCY03 +msgid "SOA timers consistency" +msgstr "Cohérence des intervalles du SOA" + +#. CONSISTENCY:CONSISTENCY04 +msgid "Name server NS consistency" +msgstr "Cohérence des entrées NS des serveurs de noms" + +#. CONSISTENCY:CONSISTENCY05 +msgid "Consistency between glue and authoritative data" +msgstr "Cohérence entre la colle et les données des serveurs faisant autorité" + +#. CONSISTENCY:CONSISTENCY06 +msgid "SOA MNAME consistency" +msgstr "Cohérence du MNAME du SOA" + #. CONSISTENCY:ADDRESSES_MATCH msgid "Glue records are consistent between glue and authoritative data." msgstr "" @@ -513,7 +717,7 @@ msgstr "" #, perl-brace-format msgid "A single SOA mname value was seen ({mname})." msgstr "" -"Un unique serveur maître a été trouvée dans les enregistrements de type \"SOA" +"Un unique serveur maître a été trouvé dans les enregistrements de type \"SOA" "\" de la zone testée ({mname})." #. CONSISTENCY:ONE_SOA_RNAME @@ -584,6 +788,80 @@ msgstr "" "EXPIRE={expire}, MINIMUM={minimum}) a été récupérée sur les serveurs " "suivants : {ns_list}." +#. DNSSEC:DNSSEC01 +msgid "Legal values for the DS hash digest algorithm" +msgstr "Valeurs autorisées pour l'algorithme de calcul de condensat du DS" + +#. DNSSEC:DNSSEC02 +msgid "DS must match a valid DNSKEY in the child zone" +msgstr "Le DS doit avoir un enregistrement DNSKEY valide dans la zone enfant" + +#. DNSSEC:DNSSEC03 +msgid "Check for too many NSEC3 iterations" +msgstr "Recherche d'un nombre d'itérations NSEC3 trop grand" + +#. DNSSEC:DNSSEC04 +msgid "Check for too short or too long RRSIG lifetimes" +msgstr "Recherche de durées de vie de RRSIG trop courtes ou trop longues" + +#. DNSSEC:DNSSEC05 +msgid "Check for invalid DNSKEY algorithms" +msgstr "Recherche d’algorithmes DNSKEY non valables" + +#. DNSSEC:DNSSEC06 +msgid "Verify DNSSEC additional processing" +msgstr "Vérification du traitement des données additionnelles DNSSEC" + +#. DNSSEC:DNSSEC07 +msgid "If DNSKEY at child, parent should have DS" +msgstr "" +"Si un enregistrement DNSKEY est présent dans la zone enfant, la zone parente " +"doit avoir un DS" + +#. DNSSEC:DNSSEC08 +msgid "Valid RRSIG for DNSKEY" +msgstr "RRSIG valide pour DNSKEY" + +#. DNSSEC:DNSSEC09 +msgid "RRSIG(SOA) must be valid and created by a valid DNSKEY" +msgstr "RRSIG(SOA) doit être valide et créé par une clé DNSKEY valide" + +#. DNSSEC:DNSSEC10 +msgid "Zone contains NSEC or NSEC3 records" +msgstr "La zone contient des enregistrements NSEC ou NSEC3" + +#. DNSSEC:DNSSEC11 +msgid "DS in delegation requires signed zone" +msgstr "La présence de DS requiert une zone signée" + +#. DNSSEC:DNSSEC12 +msgid "Test for DNSSEC Algorithm Completeness" +msgstr "Test pour l'exhaustivité des algorithmes DNSSEC" + +#. DNSSEC:DNSSEC13 +msgid "All DNSKEY algorithms used to sign the zone" +msgstr "Tous les algorithmes des DNSKEY sont utilisés pour signer la zone" + +#. DNSSEC:DNSSEC14 +msgid "Check for valid RSA DNSKEY key size" +msgstr "Vérification de la validité de la taille de la clé RSA dans les DNSKEY" + +#. DNSSEC:DNSSEC15 +msgid "Existence of CDS and CDNSKEY" +msgstr "Existence des CDS et CDNSKEY" + +#. DNSSEC:DNSSEC16 +msgid "Validate CDS" +msgstr "Validation des CDS" + +#. DNSSEC:DNSSEC17 +msgid "Validate CDNSKEY" +msgstr "Validation des CDNSKEY" + +#. DNSSEC:DNSSEC18 +msgid "Validate trust from DS to CDS and CDNSKEY " +msgstr "Validation de la chaîne de confiance du DS jusqu'aux CDS et CDNSKEY " + #. DNSSEC:ADDITIONAL_DNSKEY_SKIPPED msgid "No DNSKEYs found. Additional tests skipped." msgstr "" @@ -699,6 +977,66 @@ msgstr "" "({algo_descr}) a une taille ({keysize}) plus grande que la taille maximum " "({keysizemax}) spécifiée pour cet algorithme." +#. DNSSEC:DS01_DIGEST_NOT_SUPPORTED_BY_ZM +#, perl-brace-format +msgid "" +"DS record for zone {domain} with keytag {keytag} was created by digest " +"algorithm {ds_algo_num} ({ds_algo_mnemo}) which cannot be validated by this " +"installation of Zonemaster. Fetched from the nameservers with IP addresses " +"\"{ns_ip_list}\"." +msgstr "" +"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " +"a été créé à partir d'un algorithme de condensat ({ds_algo_num}/" +"{ds_algo_mnemo}) qui ne peut pas être validé par cette installation de " +"Zonemaster. Information retournée par les serveurs de noms ayant une des " +"adresses IP suivantes \"{ns_ip_list}\"." + +#. DNSSEC:DS01_DS_ALGO_DEPRECATED +#, perl-brace-format +msgid "" +"DS record for zone {domain} with keytag {keytag} was created by digest " +"algorithm {ds_algo_num} ({ds_algo_mnemo}) which is deprecated. Fetched from " +"the nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " +"a été créé à partir d'un algorithme de condensat obsolète ({ds_algo_num}/" +"{ds_algo_mnemo}). Information retournée par les serveurs de noms ayant une " +"des adresses IP suivantes \"{ns_ip_list}\"." + +#. DNSSEC:DS01_DS_ALGO_2_MISSING +#, perl-brace-format +msgid "" +"No DS record created by digest algorithm 2 (SHA-256) is present for zone " +"{domain}." +msgstr "" +"Aucune entrée DS créée par l’algorithme de condensat 2 (SHA-256) n’est " +"présente pour la zone {domain}." + +#. DNSSEC:DS01_DS_ALGO_NOT_DS +#, perl-brace-format +msgid "" +"DS record for zone {domain} with keytag {keytag} was created by digest " +"algorithm {ds_algo_num} ({ds_algo_mnemo}) which is not meant for DS. Fetched " +"from the nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " +"a été créé à partir d'un algorithme de condensat ({ds_algo_num}/" +"{ds_algo_mnemo}) qui n'est pas destiné à la signature. Information retournée " +"par les serveurs de noms ayant une des adresses IP suivantes " +"\"{ns_ip_list}\"." + +#. DNSSEC:DS01_DS_ALGO_RESERVED +#, perl-brace-format +msgid "" +"DS record for zone {domain} with keytag {keytag} was created with an " +"unassigned digest algorithm (algorithm number {ds_algo_num}). Fetched from " +"the nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " +"a été créé à partir d'un algorithme de condensat non assigné " +"({ds_algo_num}). Information retournée par les serveurs de noms ayant une " +"des adresses IP suivantes \"{ns_ip_list}\"." + #. DNSSEC:DS02_ALGO_NOT_SUPPORTED_BY_ZM #. DNSSEC:DS08_ALGO_NOT_SUPPORTED_BY_ZM #. DNSSEC:DS09_ALGO_NOT_SUPPORTED_BY_ZM @@ -740,6 +1078,17 @@ msgstr "" "par les serveurs de noms ayant une des adresses IP suivantes " "\"{ns_ip_list}\"." +#. DNSSEC:DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS +#, perl-brace-format +msgid "" +"The DNSKEY RRset has not been signed by any DNSKEY matched by a DS record. " +"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"L'ensemble d'enregistrements de type \"DNSKEY\" n'est signé par aucune des " +"clés (DNSKEY) correspondant à un enregistrement de type \"DS\". Information " +"retournée par les serveurs de noms ayant une des adresses IP suivantes " +"\"{ns_ip_list}\"." + #. DNSSEC:DS02_NO_DNSKEY_FOR_DS #, perl-brace-format msgid "" @@ -773,6 +1122,15 @@ msgstr "" "condensat. Information retournée par les serveurs de noms ayant une des " "adresses IP suivantes \"{ns_ip_list}\"." +#. DNSSEC:DS02_NO_VALID_DNSKEY_FOR_ANY_DS +#, perl-brace-format +msgid "" +"There is no valid DNSKEY matched by any of the DS records. Fetched from the " +"nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"Aucun DNSKEY valable n’a d’entrée DS correspondante. Information retournée " +"par les serveurs de noms dont les adresses IP sont \"{ns_ip_list}\"." + #. DNSSEC:DS02_RRSIG_NOT_VALID_BY_DNSKEY #. DNSSEC:DS08_RRSIG_NOT_VALID_BY_DNSKEY #, perl-brace-format @@ -1284,7 +1642,7 @@ msgid "" "A single \"delete\" CDS record is found on the nameservers with IP addresses " "\"{ns_ip_list}\"." msgstr "" -"Un unique enregitrement de type \"delete CDS\" a été retourné par les " +"Un unique enregistrement de type \"delete CDS\" a été retourné par les " "serveurs de noms ayant une des adresses IP suivantes ({ns_ip_list})." #. DNSSEC:DS16_DNSKEY_NOT_SIGNED_BY_CDS @@ -1389,139 +1747,65 @@ msgstr "" #. DNSSEC:DS17_CDNSKEY_WITHOUT_DNSKEY #, perl-brace-format msgid "" -"A CDNSKEY RRset exists, but no DNSKEY record exists. Fetched from the " -"nameservers with IP addresses \"{ns_ip_list}\"." -msgstr "" -"Il existe un ensemble d'enregistrements de type \"CDNSKEY\" mais aucun " -"enregistrement de type \"DNSKEY\". Information retournée par les serveurs de " -"noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS17_DELETE_CDNSKEY -#, perl-brace-format -msgid "" -"A single \"delete\" CDNSKEY record is found on the nameservers with IP " -"addresses \"{ns_ip_list}\"." -msgstr "" -"Un unique enregitrement de type \"delete CDNSKEY\" a été retourné par les " -"serveurs de noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS17_DNSKEY_NOT_SIGNED_BY_CDNSKEY -#, perl-brace-format -msgid "" -"The DNSKEY RRset is not signed by the DNSKEY that the CDNSKEY record with " -"tag {keytag} points to. Fetched from the nameservers with IP addresses " -"\"{ns_ip_list}\"." -msgstr "" -"L'ensemble d'enregistrements de type \"DNSKEY\" n'est pas signé par la clé " -"correspondant au tag {keytag} de l'enregistrement de type \"CDNSKEY\". " -"Information retournée par les serveurs de noms ayant une des adresses IP " -"suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS17_MIXED_DELETE_CDNSKEY -#, perl-brace-format -msgid "" -"The CDNSKEY RRset is a mixture between \"delete\" record and other records. " -"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." -msgstr "" -"Lorsqu'il est présent, l'enregistrement de type \"delete CDNSKEY\" ne peut " -"pas être combiné avec d'autres enregistrements de type \"CDNSKEY\". " -"Information retournée par les serveurs de noms ayant une des adresses IP " -"suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS18_NO_MATCH_CDS_RRSIG_DS -#, perl-brace-format -msgid "" -"The CDS RRset is not signed with a DNSKEY record that a DS record points to. " -"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." -msgstr "" -"L'ensemble d'enregistrements de type \"CDS\" n'est pas signé par la clé " -"(DNSKEY) correspondant au tag de l'enregistrement de type \"DS\". " -"Information retournée par les serveurs de noms ayant une des adresses IP " -"suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS18_NO_MATCH_CDNSKEY_RRSIG_DS -#, perl-brace-format -msgid "" -"The CDNSKEY RRset is not signed with a DNSKEY record that a DS record points " -"to. Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." -msgstr "" -"L'ensemble d'enregistrements de type \"CDNSKEY\" n'est pas signé par la clé " -"(DNSKEY) correspondant au tag de l'enregistrement de type \"DS\". " -"Information retournée par les serveurs de noms ayant une des adresses IP " -"suivantes \"{ns_ip_list}\"." - -#. DNSSEC:DS01_DIGEST_NOT_SUPPORTED_BY_ZM -#, perl-brace-format -msgid "" -"DS record for zone {domain} with keytag {keytag} was created by digest " -"algorithm {ds_algo_num} ({ds_algo_mnemo}) which cannot be validated by this " -"installation of Zonemaster. Fetched from the nameservers with IP addresses " -"\"{ns_ip_list}\"." +"A CDNSKEY RRset exists, but no DNSKEY record exists. Fetched from the " +"nameservers with IP addresses \"{ns_ip_list}\"." msgstr "" -"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " -"a été créé à partir d'un algorithme de condensé ({ds_algo_num}/" -"{ds_algo_mnemo}) qui ne peut pas être validé par cette installation de " -"Zonemaster. Information retournée par les serveurs de noms ayant une des " -"adresses IP suivantes \"{ns_ip_list}\"." +"Il existe un ensemble d'enregistrements de type \"CDNSKEY\" mais aucun " +"enregistrement de type \"DNSKEY\". Information retournée par les serveurs de " +"noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_NOT_DS +#. DNSSEC:DS17_DELETE_CDNSKEY #, perl-brace-format msgid "" -"DS record for zone {domain} with keytag {keytag} was created by digest " -"algorithm {ds_algo_num} ({ds_algo_mnemo}) which is not meant for DS. Fetched " -"from the nameservers with IP addresses \"{ns_ip_list}\"." +"A single \"delete\" CDNSKEY record is found on the nameservers with IP " +"addresses \"{ns_ip_list}\"." msgstr "" -"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " -"a été créé à partir d'un algorithme de condensé ({ds_algo_num}/" -"{ds_algo_mnemo}) qui n'est pas destiné à la signature. Information retournée " -"par les serveurs de noms ayant une des adresses IP suivantes " -"\"{ns_ip_list}\"." +"Un unique enregistrement CDNSKEY de type \"delete\" a été retourné par les " +"serveurs de noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_DEPRECATED +#. DNSSEC:DS17_DNSKEY_NOT_SIGNED_BY_CDNSKEY #, perl-brace-format msgid "" -"DS record for zone {domain} with keytag {keytag} was created by digest " -"algorithm {ds_algo_num} ({ds_algo_mnemo}) which is deprecated. Fetched from " -"the nameservers with IP addresses \"{ns_ip_list}\"." +"The DNSKEY RRset is not signed by the DNSKEY that the CDNSKEY record with " +"tag {keytag} points to. Fetched from the nameservers with IP addresses " +"\"{ns_ip_list}\"." msgstr "" -"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " -"a été créé à partir d'un algorithme de condensé obsolète ({ds_algo_num}/" -"{ds_algo_mnemo}). Information retournée par les serveurs de noms ayant une " -"des adresses IP suivantes \"{ns_ip_list}\"." +"L'ensemble d'enregistrements de type \"DNSKEY\" n'est pas signé par la clé " +"correspondant au tag {keytag} de l'enregistrement de type \"CDNSKEY\". " +"Information retournée par les serveurs de noms ayant une des adresses IP " +"suivantes \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_2_MISSING +#. DNSSEC:DS17_MIXED_DELETE_CDNSKEY #, perl-brace-format msgid "" -"Digest algorithm 2 (SHA-256) is expected but missing for zone {domain}." +"The CDNSKEY RRset is a mixture between \"delete\" record and other records. " +"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." msgstr "" -"L'algorithme de condensé 2 (SHA-256) est attendu mais manquant pour la zone " -"{domain}." +"Le jeu d'enregistrements CDNSKEY même un enregistrement de type \"delete\" " +"et d'autres enregistrements. Information retournée par les serveurs de noms " +"ayant une des adresses IP suivantes \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_RESERVED +#. DNSSEC:DS18_NO_MATCH_CDS_RRSIG_DS #, perl-brace-format msgid "" -"DS record for zone {domain} with keytag {keytag} was created with an " -"unassigned digest algorithm (algorithm number {ds_algo_num}). Fetched from " -"the nameservers with IP addresses \"{ns_ip_list}\"." +"The CDS RRset is not signed with a DNSKEY record that a DS record points to. " +"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." msgstr "" -"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " -"a été créé à partir d'un algorithme de condensé non assigné ({ds_algo_num}). " +"L'ensemble d'enregistrements de type \"CDS\" n'est pas signé par une clé " +"(DNSKEY) correspondant au tag de l'enregistrement de type \"DS\". " "Information retournée par les serveurs de noms ayant une des adresses IP " "suivantes \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_SHA1_DEPRECATED +#. DNSSEC:DS18_NO_MATCH_CDNSKEY_RRSIG_DS #, perl-brace-format msgid "" -"DS record for zone {domain} with keytag {keytag} was created by digest " -"algorithm {ds_algo_num} ({ds_algo_mnemo}). While still being widely in use, " -"it is deprecated. Fetched from the nameservers with IP addresses " -"\"{ns_ip_list}\"." +"The CDNSKEY RRset is not signed with a DNSKEY record that a DS record points " +"to. Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." msgstr "" -"Un enregistrement de type \"DS\" dans la zone {domain} avec le tag {keytag} " -"a été créé à partir de l'algorithme de condensé {ds_algo_num} " -"({ds_algo_mnemo}). Bien que celui-ci soit encore très largement utilisé, il " -"est obsolète. Information retournée par les serveurs de noms ayant une des " -"adresses IP suivantes \"{ns_ip_list}\"." +"L'ensemble d'enregistrements de type \"CDNSKEY\" n'est pas signé par une clé " +"(DNSKEY) correspondant au tag de l'enregistrement de type \"DS\". " +"Information retournée par les serveurs de noms ayant une des adresses IP " +"suivantes \"{ns_ip_list}\"." #. DNSSEC:DS_BUT_NOT_DNSKEY #, perl-brace-format @@ -1666,6 +1950,35 @@ msgstr "" "Le nombre d'itérations pour \"NSEC3\" est de {count}, ce qui est trop élevé " "pour une clé de cette taille {keylength}." +#. DELEGATION:DELEGATION01 +msgid "Minimum number of name servers" +msgstr "Nombre minimal de serveurs de noms" + +#. DELEGATION:DELEGATION02 +msgid "Name servers must have distinct IP addresses" +msgstr "Les serveurs de noms doivent avoir des adresses IP distinctes" + +#. DELEGATION:DELEGATION03 +msgid "No truncation of referrals" +msgstr "Non-troncature des références" + +#. DELEGATION:DELEGATION04 +msgid "Name server is authoritative" +msgstr "Le serveur de noms fait autorité." + +#. DELEGATION:DELEGATION05 +msgid "Name server must not point at CNAME alias" +msgstr "Le serveur de noms ne doit pas pointer sur un alias (CNAME)" + +#. DELEGATION:DELEGATION06 +msgid "Existence of SOA" +msgstr "Existence du SOA" + +#. DELEGATION:DELEGATION07 +msgid "Parent glue name records present in child" +msgstr "" +"Présence des enregistrements de la colle de la zone parente dans la zone" + #. DELEGATION:ARE_AUTHORITATIVE #, perl-brace-format msgid "" @@ -1952,6 +2265,64 @@ msgstr "" "Le serveur de noms {ns} a répondu à une requête de type \"AAAA\" avec un " "code retour inattendu ({rcode})." +#. NAMESERVER:NAMESERVER01 +msgid "A name server should not be a recursor" +msgstr "Un serveur de noms ne doit pas être un récurseur" + +#. NAMESERVER:NAMESERVER02 +msgid "Test of EDNS0 support" +msgstr "Vérification du support d'EDNS0" + +#. NAMESERVER:NAMESERVER03 +msgid "Test availability of zone transfer (AXFR)" +msgstr "Test de la possibilité du transfert de zone (AXFR)" + +#. NAMESERVER:NAMESERVER04 +msgid "Same source address" +msgstr "Adresse source identique" + +#. NAMESERVER:NAMESERVER05 +msgid "Behaviour against AAAA query" +msgstr "Comportement vis-à-vis des requêtes AAAA" + +#. NAMESERVER:NAMESERVER06 +msgid "NS can be resolved" +msgstr "Les NS peuvent être résolus" + +#. NAMESERVER:NAMESERVER07 +msgid "To check whether authoritative name servers return an upward referral" +msgstr "" +"Vérifier si les serveurs de noms faisant autorité répondent aux requêtes de " +"type \"NS\" sur la racine '.' (upward referral)" + +#. NAMESERVER:NAMESERVER08 +msgid "Testing QNAME case insensitivity" +msgstr "Test de l'insensibilité à la casse du QNAME" + +#. NAMESERVER:NAMESERVER09 +msgid "Testing QNAME case sensitivity" +msgstr "Test de la sensibilité à la casse du QNAME" + +#. NAMESERVER:NAMESERVER10 +msgid "Test for undefined EDNS version" +msgstr "Test d'une version d'EDNS non définie" + +#. NAMESERVER:NAMESERVER11 +msgid "Test for unknown EDNS OPTION-CODE" +msgstr "Test de codes d’option EDNS inconnus." + +#. NAMESERVER:NAMESERVER12 +msgid "Test for unknown EDNS flags" +msgstr "Test d'un drapeau EDNS inconnu" + +#. NAMESERVER:NAMESERVER13 +msgid "Test for truncated response on EDNS query" +msgstr "Test d'une réponse tronquée pour une requête EDNS" + +#. NAMESERVER:NAMESERVER14 +msgid "Test for unknown version with unknown OPTION-CODE" +msgstr "Test de numéro de version inconnue avec code d’option inconnu" + #. NAMESERVER:AAAA_BAD_RDATA #, perl-brace-format msgid "" @@ -2171,7 +2542,17 @@ msgstr "" msgid "Erroneous response from nameserver {ns}." msgstr "Le serveur de noms {ns} n'a pas répondu aux requêtes de type \"NS\"." -#. N10_NO_RESPONSE_EDNS1_QUERY +#. NAMESERVER:N10_EDNS_RESPONSE_ERROR +#, perl-brace-format +msgid "" +"Expected RCODE but received erroneous response to an EDNS version 1 query. " +"Fetched from the nameservers with IP addresses {ns_ip_list}" +msgstr "" +"RCODE attendu, mais réponse erronée reçue à une requête EDNS version 1. " +"Information retournée par les serveurs de noms ayant une des adresses IP " +"suivantes \"{ns_ip_list}\"." + +#. NAMESERVER:N10_NO_RESPONSE_EDNS1_QUERY #, perl-brace-format msgid "" "No response to an EDNS version 1 query. Fetched from the nameservers with IP " @@ -2180,7 +2561,7 @@ msgstr "" "Pas de réponse à une requête EDNS version 1. Information retournée par les " "serveurs de noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." -#. N10_UNEXPECTED_RCODE +#. NAMESERVER:N10_UNEXPECTED_RCODE #, perl-brace-format msgid "" "Erroneous RCODE (\"{rcode}\") in response to an EDNS version 1 query. " @@ -2190,16 +2571,66 @@ msgstr "" "Information retournée par les serveurs de noms ayant une des adresses IP " "suivantes \"{ns_ip_list}\"." -#. N10_EDNS_RESPONSE_ERROR +#. NAMESERVER:N11_N11_NO_EDNS #, perl-brace-format msgid "" -"Expected RCODE but received erroneous response to an EDNS version 1 query. " -"Fetched from the nameservers with IP addresses {ns_ip_list}" +"The DNS response, on query with unknown EDNS option-code, does not contain " +"any EDNS from name servers \"{ns_ip_list}\"." msgstr "" -"RCODE attendu, mais réponse erronée reçue à une requête EDNS version 1. " +"La réponse DNS, suite à une requête avec un code d'option EDNS inconnu, ne " +"contient pas d'EDNS depuis les serveurs de noms \"{ns_ip_list}\"." + +#. NAMESERVER:N11_NO_RESPONSE +#, perl-brace-format +msgid "" +"There is no response on query with unknown EDNS option-code from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"Pas de réponse aux requêtes contenant un code d’option EDNS inconnu de la " +"part des serveurs de noms \"{ns_ip_list}\"." + +#. NAMESERVER:N11_RETURNS_UNKNOWN_OPTION_CODE +#, perl-brace-format +msgid "" +"The DNS response contains an unknown EDNS option-code. Returned from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"La réponse DNS contient un code d’option EDNS inconnu. Information retournée " +"par les serveurs de noms ayant une des adresses IP suivantes " +"\"{ns_ip_list}\"." + +#. NAMESERVER:N11_UNEXPECTED_ANSWER_SECTION +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, does not contain " +"the expected SOA record in the answer section from name servers " +"\"{ns_ip_list}\"." +msgstr "" +"La réponse DNS à une requête contenant un code d’option EDNS inconnu, ne " +"contient pas l’enregistrement SOA attendu dans la section \"answer\". " "Information retournée par les serveurs de noms ayant une des adresses IP " "suivantes \"{ns_ip_list}\"." +#. NAMESERVER:N11_UNEXPECTED_RCODE +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, has unexpected " +"RCODE name \"{rcode}\" from name servers \"{ns_ip_list}\"." +msgstr "" +"La réponse DNS à une requête contenant un code d’option EDNS inconnu, a le " +"code de retour inattendu \"{rcode}\". Information retournée par les serveurs " +"de noms ayant une des adresses IP suivantes \"{ns_ip_list}\"." + +#. NAMESERVER:N11_UNSET_AA +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, is unexpectedly " +"not authoritative from name servers \"{ns_ip_list}\"." +msgstr "" +"La réponse DNS à une requête contenant un code d’option EDNS inconnu ne fait " +"inopinément pas autorité. Information retournée par les serveurs de noms " +"ayant une des adresses IP suivantes \"{ns_ip_list}\"." + #. NAMESERVER:QNAME_CASE_INSENSITIVE #, perl-brace-format msgid "" @@ -2222,11 +2653,6 @@ msgstr "" "Tous les serveurs de noms répondent avec la même adresse IP que celle " "utilisée lors de leur requêtage." -#. NAMESERVER:UNKNOWN_OPTION_CODE -#, perl-brace-format -msgid "Nameserver {ns} responds with an unknown ENDS OPTION-CODE." -msgstr "Le serveur de noms {ns} répond avec un code d'option EDNS inconnu." - #. NAMESERVER:UPWARD_REFERRAL #, perl-brace-format msgid "Nameserver {ns} returns an upward referral." @@ -2246,6 +2672,41 @@ msgstr "" "Le serveur de noms {ns} répond à une requête avec a un ou plusieurs bits \"Z" "\" (EDNS) positionnés." +#. SYNTAX:SYNTAX01 +msgid "No illegal characters in the domain name" +msgstr "Le nom de domaine ne contient aucun caractère interdit" + +#. SYNTAX:SYNTAX02 +msgid "No hyphen ('-') at the start or end of the domain name" +msgstr "Aucun tiret ('-') au début ou à la fin du nom de domaine" + +#. SYNTAX:SYNTAX03 +msgid "" +"There must be no double hyphen ('--') in position 3 and 4 of the domain name" +msgstr "" +"Le double tiret ('--') ne doit pas apparaitre aux positions 3 et 4 du nom de " +"domaine" + +#. SYNTAX:SYNTAX04 +msgid "The NS name must have a valid domain/hostname" +msgstr "Le nom du NS doit être un domaine / nom d'hôte valide" + +#. SYNTAX:SYNTAX05 +msgid "Misuse of '@' character in the SOA RNAME field" +msgstr "Usage erroné du caractère '@' dans le champ RNAME du SOA" + +#. SYNTAX:SYNTAX06 +msgid "No illegal characters in the SOA RNAME field" +msgstr "Absence de caractères interdits dans le champ RNAME du SOA" + +#. SYNTAX:SYNTAX07 +msgid "No illegal characters in the SOA MNAME field" +msgstr "Absence de caractères interdits dans le champ MNAME du SOA" + +#. SYNTAX:SYNTAX08 +msgid "MX name must have a valid hostname" +msgstr "Le nom du MX doit être un nom d'hôte valide" + #. SYNTAX:DISCOURAGED_DOUBLE_DASH #, perl-brace-format msgid "" @@ -2269,9 +2730,9 @@ msgid "" "SOA MNAME ({domain}) has a label ({label}) with a double hyphen ('--') in " "position 3 and 4 (with a prefix which is not 'xn--')." msgstr "" -"Le serveur maître défini dans le SOA, 'mname' ({domain}), contient un label " -"({label}) avec un double tiret ('--') en positions 3 et 4 (avec un préfixe " -"différent de 'xn--')." +"Le serveur maître défini dans le champ MNAME du SOA ({domain}) contient un " +"label ({label}) avec un double tiret ('--') en positions 3 et 4 (avec un " +"préfixe différent de 'xn--')." #. SYNTAX:MNAME_NON_ALLOWED_CHARS #, perl-brace-format @@ -2447,6 +2908,46 @@ msgstr "" "Le nom de domaine '{domain}' contient un label ({label}) se terminant par un " "tiret '-'." +#. ZONE:ZONE01 +msgid "Fully qualified master nameserver in SOA" +msgstr "Le serveur de noms principal est pleinement qualifié dans le SOA" + +#. ZONE:ZONE02 +msgid "SOA 'refresh' minimum value" +msgstr "Valeur minimale du champ 'refresh' du SOA" + +#. ZONE:ZONE03 +msgid "SOA 'retry' lower than 'refresh'" +msgstr "Champ 'retry' du SOA inférieur au champ 'refresh'" + +#. ZONE:ZONE04 +msgid "SOA 'retry' at least 1 hour" +msgstr "Champ 'retry' du SOA supérieur à 1 heure" + +#. ZONE:ZONE05 +msgid "SOA 'expire' minimum value" +msgstr "Valeur minimale du champ 'expire' du SOA" + +#. ZONE:ZONE06 +msgid "SOA 'minimum' maximum value" +msgstr "Valeur maximale du champ 'expire' du SOA" + +#. ZONE:ZONE07 +msgid "SOA master is not an alias" +msgstr "Le nom maître du SOA n’est pas un alias" + +#. ZONE:ZONE08 +msgid "MX is not an alias" +msgstr "Le MX n’est pas un alias" + +#. ZONE:ZONE09 +msgid "MX record present" +msgstr "Présence d’un enregistrement MX" + +#. ZONE:ZONE10 +msgid "No multiple SOA records" +msgstr "Absence d’enregistrements SOA multiples" + #. ZONE:RETRY_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2465,11 +2966,6 @@ msgstr "" "Dans le SOA, la valeur du champ 'retry' ({retry}) est au moins égale à la " "valeur minimale recommandée ({required_retry})." -#. ZONE:MNAME_NO_RESPONSE -#, perl-brace-format -msgid "SOA 'mname' nameserver {ns} does not respond." -msgstr "Le serveur maître défini dans le SOA, 'mname' {ns}, ne répond pas." - #. ZONE:MNAME_IS_CNAME #, perl-brace-format msgid "SOA 'mname' value ({mname}) refers to a NS which is an alias (CNAME)." @@ -2485,18 +2981,6 @@ msgstr "" "Le serveur maître défini dans le SOA, 'mname' ({mname}), fait référence à un " "serveur de noms qui n'est pas un alias (CNAME)." -#. ZONE:NO_MX_RECORD -msgid "No target (MX, A or AAAA record) to deliver e-mail for the domain name." -msgstr "" -"Aucune possibilité (enregistrement de type \"MX\", \"A\" ou \"AAAA\") de " -"faire parvenir un message à ce nom de domaine." - -#. ZONE:MX_RECORD_EXISTS -#, perl-brace-format -msgid "MX with mail target ({mailtarget_list}) exists for the domain name." -msgstr "" -"Un relais de messagerie ({mailtarget_list}) existe pour ce nom de domaine." - #. ZONE:REFRESH_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2551,17 +3035,6 @@ msgstr "" "Dans le SOA, la valeur du champ 'minimum' ({minimum}) est comprise dans " "l'interval de valeurs recommandées ({lowest_minimum}/{highest_minimum})." -#. ZONE:MNAME_NOT_AUTHORITATIVE -#, perl-brace-format -msgid "SOA 'mname' nameserver {ns} is not authoritative for '{zone}' zone." -msgstr "" -"Le serveur maître défini dans le SOA, 'mname' {ns}, ne fait pas autorité " -"pour la zone '{zone}'." - -#. ZONE:MNAME_RECORD_DOES_NOT_EXIST -msgid "SOA 'mname' field does not exist" -msgstr "Le champ 'mname' n'est pas présent dans le SOA." - #. ZONE:EXPIRE_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2571,15 +3044,6 @@ msgstr "" "Dans le SOA, la valeur du champ 'expire' ({expire}) est plus petite que la " "valeur recommandée ({required_expire})." -#. ZONE:MNAME_NOT_IN_GLUE -#, perl-brace-format -msgid "" -"SOA 'mname' nameserver ({mname}) is not listed in \"parent\" NS records for " -"tested zone ({ns_list})." -msgstr "" -"Le serveur maître défini dans le SOA, 'mname' ({mname}), ne fait pas partie " -"des enregistrements de type \"NS\" listés par la zone parente ({ns_list})." - #. ZONE:REFRESH_LOWER_THAN_RETRY #, perl-brace-format msgid "" @@ -2609,13 +3073,6 @@ msgstr "" "L'enregistrement de type \"MX\" pour le domaine ne pointe pas sur un alias " "(CNAME)." -#. ZONE:MNAME_IS_AUTHORITATIVE -#, perl-brace-format -msgid "SOA 'mname' nameserver ({mname}) is authoritative for '{zone}' zone." -msgstr "" -"Le serveur maître défini dans le SOA, 'mname' ({mname}), fait autorité pour " -"la zone '{zone}'." - #. ZONE:MULTIPLE_SOA #, perl-brace-format msgid "" @@ -2655,6 +3112,191 @@ msgstr "" "valeur minimale recommandée ({required_expire}) et pas plus petite que la " "valeur du champ 'refresh' ({refresh})." +#. ZONE:WRONG_SOA +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " +"on SOA queries." +msgstr "" +"Le serveur de noms {ns} répond aux requêtes de type \"SOA\" avec un nom de " +"domaine erroné ({owner} au lieu de {name})." + +#. ZONE:Z01_MNAME_HAS_LOCALHOST_ADDR +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" resolves to a localhost IP address " +"({ns_ip})." +msgstr "" +"La résolution du nom du serveur de noms du SOA MNAME \"{nsname}\" donne " +"une adresse localhost ({ns_ip})." + +#. ZONE:Z01_MNAME_IS_DOT +#, perl-brace-format +msgid "" +"SOA MNAME is specified as \".\" which usually means \"no server\". Fetched " +"from name servers \"{ns_ip_list}\"." +msgstr "" +"Le nom du serveur de noms du SOA MNAME est \".\", ce qui signifie en " +"général \"aucun serveur\". Information retournée par les serveurs de noms " +"dont les adresses IP sont \"{ns_ip_list}\"." + +#. ZONE:Z01_MNAME_IS_LOCALHOST +#, perl-brace-format +msgid "" +"SOA MNAME name server is \"localhost\", which is invalid. Fetched from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"Le champ MNAME du SOA est \"localhost\", ce qui n’est pas valable. " +"Information retournée par les serveurs de noms dont les adresses IP sont " +"\"{ns_ip_list}\"." + +#. ZONE:Z01_MNAME_IS_MASTER +#, perl-brace-format +msgid "SOA MNAME name server(s) \"{ns_list}\" appears to be master." +msgstr "" +"Le(s) serveur(s) de noms \"{ns_list}\" du SOA MNAME semblent être les " +"serveurs maîtres." + +#. ZONE:Z01_MNAME_MISSING_SOA_RECORD +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{ns}\" responds to an SOA query with no SOA records " +"in the answer section." +msgstr "" +"Le serveur de noms du SOA MNAME \"{ns}\" ne retourne aucun enregistrement " +"de type \"SOA\" dans la section \"answer\" de la réponse à une requête de " +"type \"SOA\"." + +#. ZONE:Z01_MNAME_NO_RESPONSE +#, perl-brace-format +msgid "SOA MNAME name server \"{ns}\" does not respond to an SOA query." +msgstr "" +"Le serveur de noms du SOA MNAME \"{ns}\" ne répond pas aux requêtes de " +"type \"SOA\"." + +#. ZONE:Z01_MNAME_NOT_AUTHORITATIVE +#, perl-brace-format +msgid "SOA MNAME name server \"{ns}\" is not authoritative for the zone." +msgstr "" +"Le serveur de noms maître défini dans le SOA MNAME, \"{ns}\", ne fait pas " +"autorité pour la zone." + +#. ZONE:Z01_MNAME_NOT_IN_NS_LIST +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" is not listed as NS record for the zone." +msgstr "" +"Le serveur maître défini dans le SOA MNAME, ({nsname}), ne fait pas partie " +"des enregistrements de type \"NS\" listés par la zone." + +#. ZONE:Z01_MNAME_NOT_MASTER +#, perl-brace-format +msgid "" +"SOA MNAME name server(s) \"{ns_list}\" do not have the highest SOA SERIAL " +"(expected \"{soaserial}\" but got \"{soaserial_list}\")" +msgstr "" +"Le(s) serveur(s) de noms \"{ns_list}\" du SOA MNAME n’ont pas le numéro " +"de série SOA le plus élevé (numéro de série attendu : \"{soaserial}\" ; " +"numéros de série obtenus : \"{soaserial_list}\")." + +#. ZONE:Z01_MNAME_NOT_RESOLVE +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" cannot be resolved into an IP address." +msgstr "" +"Le serveurs de noms maître du SOA MNAME \"{nsname}\" ne peut pas être résolu " +"en une adresse IP." + +#. ZONE:Z01_MNAME_UNEXPECTED_RCODE +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{ns}\" gives unexpected RCODE name (\"{rcode}\") in " +"response to an SOA query." +msgstr "" +"Le serveur de noms du SOA MNAME \"{ns}\" a répondu à une requête de type " +"\"SOA\" avec un code de retour inattendu ({rcode})." + +#. ZONE:Z09_INCONSISTENT_MX +msgid "Some name servers return an MX RRset while others return none." +msgstr "" +"Certains serveurs de noms renvoient un ensemble d’enregistrements MX tandis " +"que d’autres n’en renvoient pas." + +#. ZONE:Z09_INCONSISTENT_MX_DATA +msgid "The MX RRset data is inconsistent between the name servers." +msgstr "" +"Les ensembles d’enregistrements MX renvoyés par les serveurs de noms ne sont " +"pas cohérents entre eux." + +#. ZONE:Z09_MISSING_MAIL_TARGET +msgid "The child zone has no mail target (no MX)." +msgstr "La zone n’a pas de cible de messagerie associée (pas de MX)." + +#. ZONE:Z09_MX_DATA +#, perl-brace-format +msgid "" +"Mail targets in the MX RRset \"{mailtarget_list}\" returned from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"Les cibles de messagerie de l’ensemble d’enregistrements MX " +"\"{mailtarget_list}\" ont été obtenues des serveurs de noms {ns_ip_list}." + +#. ZONE:Z09_MX_FOUND +#, perl-brace-format +msgid "MX RRset was returned by name servers \"{ns_ip_list}\"." +msgstr "" +"Un ensemble d’enregistrements MX a été obtenu des serveurs de noms " +"\"{ns_ip_list}\"." + +#. ZONE:Z09_NON_AUTH_MX_RESPONSE +#, perl-brace-format +msgid "" +"Non-authoritative response on MX query from name servers \"{ns_ip_list}\"." +msgstr "" +"La réponse des serveurs de noms \"{ns_ip_list}\" à une requête de type \"MX" +"\" ne fait pas autorité." + +#. ZONE:Z09_NO_MX_FOUND +#, perl-brace-format +msgid "No MX RRset was returned by name servers \"{ns_ip_list}\"." +msgstr "" +"Aucun enregistrement MX n’a été renvoyé par les serveurs de noms " +"\"{ns_ip_list}\"." + +#. ZONE:Z09_NO_RESPONSE_MX_QUERY +#, perl-brace-format +msgid "No response on MX query from name servers \"{ns_ip_list}\"." +msgstr "" +"Les serveurs de noms \"{ns_ip_list}\" ne répondent pas aux requêtes MX." + +#. ZONE:Z09_NULL_MX_NON_ZERO_PREF +msgid "The zone has a Null MX with non-zero preference." +msgstr "La zone a un « null MX » avec un champ préférence différent de zéro." + +#. ZONE:Z09_NULL_MX_WITH_OTHER_MX +msgid "The zone has a Null MX mixed with other MX records." +msgstr "La zone a un « null MX » mêlé à d’autres enregistrements MX." + +#. ZONE:Z09_ROOT_EMAIL_DOMAIN +msgid "Root zone with an unexpected MX RRset (non-Null MX)." +msgstr "" +"Zone racine contenant un ensemble d’enregistrements MX inattendu, différent " +"de « null MX »." + +#. ZONE:Z09_TLD_EMAIL_DOMAIN +msgid "The zone is a TLD and has an unexpected MX RRset (non-Null MX)." +msgstr "" +"La zone est un domaine de premier niveau et contient un ensemble " +"d’enregistrements MX inattendu, différent de « null MX »." + +#. ZONE:Z09_UNEXPECTED_RCODE_MX +#, perl-brace-format +msgid "" +"Unexpected RCODE value on the MX query from name servers \"{ns_ip_list}\"." +msgstr "" +"Les serveurs de noms \"{ns_ip_list}\" ont répondu à une requête de type \"MX" +"\" avec un code retour inattendu." + #. SYSTEM:CANNOT_CONTINUE #, perl-brace-format msgid "Not enough data about {domain} was found to be able to run tests." @@ -2721,18 +3363,6 @@ msgstr "" "Demande d'exécuter une méthode {testcase} pour le module inconnu {module}. " "Liste des modules connus: {module_list}." -#. SYSTEM:SKIP_IPV4_DISABLED -#, perl-brace-format -msgid "IPv4 is disabled, not sending query to {ns_list}." -msgstr "" -"IPv4 est désactivé, aucune requête envoyée au serveur de noms {ns_list}." - -#. SYSTEM:SKIP_IPV6_DISABLED -#, perl-brace-format -msgid "IPv6 is disabled, not sending query to {ns_list}." -msgstr "" -"IPv6 est désactivé, aucune requête envoyée au serveur de noms {ns_list}." - #. SYSTEM:FAKE_DELEGATION msgid "Followed a fake delegation." msgstr "Utilisation d'une configuration DNS alternative (fake delegation)." diff --git a/share/sv.po b/share/sv.po index d5b9e1283..dada56d1f 100644 --- a/share/sv.po +++ b/share/sv.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-30 14:16+0000\n" -"PO-Revision-Date: 2022-05-30 14:16+0000\n" +"POT-Creation-Date: 2023-01-24 13:17+0000\n" +"PO-Revision-Date: 2023-01-24 13:16+0000\n" "Last-Translator: mats.dufberg@iis.se\n" "Language-Team: Zonemaster Project\n" "Language: sv\n" @@ -11,11 +11,67 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#, perl-brace-format +msgid "" +"Ambiguous downcaseing of character \"{unicode_name}\" in the domain name. " +"Use all lower case instead." +msgstr "" +"Domännamnet innehåller den versala (stora) bokstaven \"{unicode_name}\". Det " +"är oklart hur den ska omvandlas till den motsvarande gemen (lilla) " +"bokstaven. Använd bara gemener (små bokstäver) istället." + +msgid "Domain name is too long (more than 253 characters with no final dot)." +msgstr "Domännamnet är för långt (mer än 253 tecken utan slutpunkt)." + +msgid "Domain name is empty." +msgstr "Domännamnet är tomt." + +msgid "Domain name starts with dot." +msgstr "Domännamnet startar med en punkt" + +#, perl-brace-format +msgid "" +"Domain name has an ASCII label (\"{label}\") with a character not permitted." +msgstr "" +"Domännamnet har domändelen (\"label\") \"{label}\", som bara består av ASCII-" +"tecken, men som innehåller ett otillåtet tecken." + +#, perl-brace-format +msgid "" +"Domain name has a non-ASCII label (\"{label}\") which is not a valid U-label." +msgstr "" +"Domännamnet inkluderar en domändel (\"label\"), som inte bara består av " +"ASCII-tecken, men som inte är en giltig U-label enligt IDN. Domändelen är " +"\"{label}\"." + +msgid "Domain name has repeated dots." +msgstr "Domännamnet har upprepade punkter." + +#, perl-brace-format +msgid "" +"Domain name has a label that is too long (more than 63 characters), " +"\"{label}\"." +msgstr "" +"Domännamnet inkluderar en domändel (\"label\") som är för lång (mer än 63 " +"tecken). Domändelen är \"{label}\"." + +#. ADDRESS:ADDRESS01 +msgid "Name server address must be globally routable" +msgstr "Namnserverns adress måste vara globalt routbar." + +#. ADDRESS:ADDRESS02 +msgid "Reverse DNS entry exists for name server IP address" +msgstr "Bakåtuppslagning (PTR) finns för namnserverns IP-adress." + +#. ADDRESS:ADDRESS03 +msgid "Reverse DNS entry matches name server name" +msgstr "Bakåtuppslagningen (PTR) stämmer med namnservernamnet." + #. ADDRESS:NAMESERVER_IP_WITHOUT_REVERSE #, perl-brace-format msgid "Nameserver {nsname} has an IP address ({ns_ip}) without PTR configured." msgstr "" -"Namnserver {nsname} har en IP-adress ({ns_ip}) utan bakåtuppslagning (PTR)." +"Namnservern {nsname} har en IP-adress ({ns_ip}) utan bakåtuppslagning (PTR)." #. ADDRESS:NAMESERVER_IP_PTR_MISMATCH #, perl-brace-format @@ -79,96 +135,37 @@ msgstr "TEST_CASE_END {testcase}." msgid "TEST_CASE_START {testcase}." msgstr "TEST_CASE_START {testcase}." -#. BASIC:A_QUERY_NO_RESPONSES -msgid "Nameservers did not respond to A query." -msgstr "Namnservern svarade inte på en A-fråga." - -#. BASIC:B04_MISSING_NS_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} reponds to a NS query with no NS records in the answer " -"section." -msgstr "Namnserver {ns} svarar på en NS-fråga utan NS-poster i svarssektionen." - -#. BASIC:B04_MISSING_SOA_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} reponds to a SOA query with no SOA records in the answer " -"section." -msgstr "" -"Namnserver {ns} svarar på en SOA-fråga utan SOA-poster i svarssektionen." - -#. BASIC:B04_NO_RESPONSE -#, perl-brace-format -msgid "Nameserver {ns} does not respond over neither UDP nor TCP." -msgstr "Namnserver {ns} svarar varken över UDP eller TCP." - -#. BASIC:B04_NO_RESPONSE_NS_QUERY -#, perl-brace-format -msgid "Nameserver {ns} does not respond to NS queries." -msgstr "Namnserver {ns} svarar inte på NS-frågor." - -#. BASIC:B04_NO_RESPONSE_SOA_QUERY -#, perl-brace-format -msgid "Nameserver {ns} does not respond to SOA queries." -msgstr "Namnserver {ns} svarar inte på SOA-frågor." - -#. BASIC:B04_NS_RECORD_NOT_AA -#, perl-brace-format -msgid "Nameserver {ns} does not give an authoritative response on an NS query." -msgstr "Namnserver {ns} svarar inte auktoritativt på en NS-fråga." - -#. BASIC:B04_RESPONSE_TCP_NOT_UDP -#, perl-brace-format -msgid "Nameserver {ns} does not respond over UDP." -msgstr "Namnserver {ns} svarar inte över UDP." +#. BASIC:BASIC00 +msgid "Domain name must be valid" +msgstr "Domännamnet måste vara giltigt" -#. BASIC:B04_SOA_RECORD_NOT_AA -#, perl-brace-format -msgid "" -"Nameserver {ns} does not give an authoritative response on an SOA query." -msgstr "Namnserver {ns} svarar inte auktoritativt på en SOA-fråga." +#. BASIC:BASIC01 +msgid "The domain must have a parent domain" +msgstr "Domännamnet måste ha en moderzon" -#. BASIC:B04_UNEXPECTED_RCODE_NS_QUERY -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query." -msgstr "" -"Namnserver {ns} svarar med en oväntad svarskod ({rcode}) på en NS-fråga." +#. BASIC:BASIC02 +msgid "The domain must have at least one working name server" +msgstr "Domännamnet måste ha åtminstone en fungerande namnserver" -#. BASIC:B04_UNEXPECTED_RCODE_SOA_QUERY -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query." -msgstr "" -"Namnserver {ns} svarar med en oväntad svarskod ({rcode}) på en SOA-fråga." +#. BASIC:BASIC03 +msgid "The Broken but functional test" +msgstr "Funktionell test av otestbart namn" -#. BASIC:B04_WRONG_NS_RECORD -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " -"on NS queries." -msgstr "" -"Nameserver {ns} svarar med fel \"owner name\" ({owner} istället för {name}) " -"på en NS-fråga." +#. BASIC:BASIC04 +msgid "Test of basic nameserver and zone functionality" +msgstr "Test av grundläggande namnserver- och zonfunktionalitet" -#. BASIC:B04_WRONG_SOA_RECORD -#. ZONE:WRONG_SOA -#, perl-brace-format -msgid "" -"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " -"on SOA queries." -msgstr "" -"Nameserver {ns} ger fel 'owner name' i svaret ({owner} istället för {name}) " -"på SOA-fråga." +#. BASIC:A_QUERY_NO_RESPONSES +msgid "Nameservers did not respond to A query." +msgstr "Namnservern svarade inte på en A-fråga." #. BASIC:DOMAIN_NAME_LABEL_TOO_LONG #, perl-brace-format msgid "" "Domain name ({domain}) has a label ({label}) too long ({dlength}/{max})." msgstr "" -"Domändelen '{label}' i domännamnet {domain} är för lång ({dlength}). " -"Maximal längd är {max}." +"Domändelen '{label}' i domännamnet {domain} är för lång ({dlength}). Maximal " +"längd är {max}." #. BASIC:DOMAIN_NAME_TOO_LONG #, perl-brace-format @@ -183,7 +180,7 @@ msgstr "Domännamnet '{domain}' har en domändel med längden noll." #. BASIC:HAS_A_RECORDS #, perl-brace-format msgid "Nameserver {ns} returned \"A\" record(s) for {domain}." -msgstr "Namnserver {ns} svarade med A-poster för '{domain}'." +msgstr "Namnservern {ns} svarade med A-poster för '{domain}'." #. BASIC:HAS_NAMESERVER_NO_WWW_A_TEST #, perl-brace-format @@ -195,7 +192,7 @@ msgstr "" #. BASIC:HAS_NAMESERVERS #, perl-brace-format msgid "Nameserver {ns} listed these servers as glue: {nsnlist}." -msgstr "Namnserver {ns} gav dessa servrar som 'glue': {nsnlist}." +msgstr "Namnservern {ns} gav dessa servrar som 'glue': {nsnlist}." #. BASIC:HAS_PARENT #, perl-brace-format @@ -209,6 +206,7 @@ msgstr "Moderdomänen '{pname}' till den testade domänen har identifierats." #. DELEGATION:IPV4_DISABLED #. NAMESERVER:IPV4_DISABLED #. SYNTAX:IPV4_DISABLED +#. SYSTEM:SKIP_IPV4_DISABLED #, perl-brace-format msgid "IPv4 is disabled, not sending \"{rrtype}\" query to {ns}." msgstr "IPv4 är inaktiverat. Skickar ingen fråga om '{rrtype}' till {ns}." @@ -225,6 +223,7 @@ msgstr "IPv4 är aktiverat. Skickar fråga om '{rrtype}' till {ns}." #. DELEGATION:IPV6_DISABLED #. NAMESERVER:IPV6_DISABLED #. SYNTAX:IPV6_DISABLED +#. SYSTEM:SKIP_IPV6_DISABLED #, perl-brace-format msgid "IPv6 is disabled, not sending \"{rrtype}\" query to {ns}." msgstr "IPv6 är inaktiverat. Skickar ingen fråga om '{rrtype}' till {ns}." @@ -237,7 +236,7 @@ msgstr "IPv6 är aktiverat. Skickar fråga om '{rrtype}' till {ns}." #. BASIC:NO_A_RECORDS #, perl-brace-format msgid "Nameserver {ns} did not return \"A\" record(s) for {domain}." -msgstr "Namnserver {ns} svarade inte med några A-poster för '{domain}'." +msgstr "Namnservern {ns} svarade inte med några A-poster för '{domain}'." #. BASIC:NO_GLUE_PREVENTS_NAMESERVER_TESTS msgid "No NS records for tested zone from parent. NS tests skipped." @@ -252,12 +251,206 @@ msgstr "Ingen moderdomän kunde hittas för den testade domänen." #. BASIC:NS_FAILED #, perl-brace-format msgid "Nameserver {ns} did not return NS records. RCODE was {rcode}." -msgstr "Namnserver {ns} svarade inte med några NS-poster. RCODE var '{rcode}'." +msgstr "" +"Namnservern {ns} svarade inte med några NS-poster. Svarskoden (RCODE) var " +"\"{rcode}\"." #. BASIC:NS_NO_RESPONSE #, perl-brace-format msgid "Nameserver {ns} did not respond to NS query." -msgstr "Namnserver {ns} svarade inte på frågan om 'NS'." +msgstr "Namnservern {ns} svarade inte på frågan om 'NS'." + +#. CONNECTIVITY:CONNECTIVITY01 +msgid "UDP connectivity" +msgstr "Nätåtkomst över UDP" + +#. CONNECTIVITY:CONNECTIVITY02 +msgid "TCP connectivity" +msgstr "Nätåtkomst över TCP" + +#. CONNECTIVITY:CONNECTIVITY03 +msgid "AS Diversity" +msgstr "AS-redundans" + +#. CONNECTIVITY:CN01_IPV4_DISABLED +#, perl-brace-format +msgid "" +"IPv4 is disabled. No DNS queries are sent to these name servers: " +"\"{ns_list}\"." +msgstr "IPv4 är inaktiverat. Inga DNS-frågor skickas till \"{ns_list}\"." + +#. CONNECTIVITY:CN01_IPV6_DISABLED +#, perl-brace-format +msgid "" +"IPv6 is disabled. No DNS queries are sent to these name servers: " +"\"{ns_list}\"." +msgstr "IPv6 är inaktiverat. Inga DNS-frågor skickas till \"{ns_list}\"." + +#. CONNECTIVITY:CN01_MISSING_NS_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a NS query with no NS records in the answer " +"section over UDP." +msgstr "" +"Namnservern {ns} svarar på en NS-fråga över UDP utan att inkludera NS-poster " +"i svarssektionen." + +#. CONNECTIVITY:CN01_MISSING_SOA_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a SOA query with no SOA records in the answer " +"section over UDP." +msgstr "" +"Namnservern {ns} svarar på en SOA-fråga över UDP utan att inkludera SOA-" +"poster i svarssektionen." + +#. CONNECTIVITY:CN01_NO_RESPONSE_NS_QUERY_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to NS queries over UDP." +msgstr "Namnservern {ns} svarar inte på NS-frågor över UDP." + +#. CONNECTIVITY:CN01_NO_RESPONSE_SOA_QUERY_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to SOA queries over UDP." +msgstr "Namnservern {ns} svarar inte på SOA-frågor över UDP." + +#. CONNECTIVITY:CN01_NO_RESPONSE_UDP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to any queries over UDP." +msgstr "Namnservern {ns} svarar inte på några DNS-frågor över UDP." + +#. CONNECTIVITY:CN01_NS_RECORD_NOT_AA_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an NS query over " +"UDP." +msgstr "Namnservern {ns} svarar inte auktoritativt på en NS-fråga över UDP." + +#. CONNECTIVITY:CN01_SOA_RECORD_NOT_AA_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an SOA query over " +"UDP." +msgstr "Namnservern {ns} svarar inte auktoritativt på en SOA-fråga över UDP." + +#. CONNECTIVITY:CN01_UNEXPECTED_RCODE_NS_QUERY_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query " +"over UDP." +msgstr "" +"Namnservern {ns} svarar med den oväntade svarskoden (RCODE) \"{rcode}\" på " +"en NS-fråga över UDP." + +#. CONNECTIVITY:CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query " +"over UDP." +msgstr "" +"Namnservern {ns} svarar med den oväntade svarskoden (RCODE) \"{rcode}\" på " +"en SOA-fråga över UDP." + +#. CONNECTIVITY:CN01_WRONG_NS_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on NS queries over UDP." +msgstr "" +"Namnservern {ns} svarar med fel domännamn (\"owner name\") -- {domain_found} " +"istället för {domain_expected} -- på en NS-fråga över UDP." + +#. CONNECTIVITY:CN01_WRONG_SOA_RECORD_UDP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on SOA queries over UDP." +msgstr "" +"Namnservern {ns} svarar med fel domännamn (\"owner name\") -- {domain_found} " +"istället för {domain_expected} -- på en SOA-fråga över UDP." + +#. CONNECTIVITY:CN02_MISSING_NS_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a NS query with no NS records in the answer " +"section over TCP." +msgstr "" +"Namnservern {ns} svarar på en NS-fråga över TCP utan att inkludera NS-poster " +"i svarssektionen." + +#. CONNECTIVITY:CN02_MISSING_SOA_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds to a SOA query with no SOA records in the answer " +"section over TCP." +msgstr "" +"Namnservern {ns} svarar på en SOA-fråga över TCP utan att inkludera SOA-" +"poster i svarssektionen." + +#. CONNECTIVITY:CN02_NO_RESPONSE_NS_QUERY_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to NS queries over TCP." +msgstr "Namnservern {ns} svarar inte på NS-frågor över TCP." + +#. CONNECTIVITY:CN02_NO_RESPONSE_SOA_QUERY_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to SOA queries over TCP." +msgstr "Namnservern {ns} svarar inte på SOA-frågor över TCP." + +#. CONNECTIVITY:CN02_NO_RESPONSE_TCP +#, perl-brace-format +msgid "Nameserver {ns} does not respond to any queries over TCP." +msgstr "Namnservern {ns} svarar inte på några DNS-frågor över TCP." + +#. CONNECTIVITY:CN02_NS_RECORD_NOT_AA_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an NS query over " +"TCP." +msgstr "Namnservern {ns} svarar inte auktoritativt på en NS-fråga över TCP." + +#. CONNECTIVITY:CN02_SOA_RECORD_NOT_AA_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} does not give an authoritative response on an SOA query over " +"TCP." +msgstr "Namnservern {ns} svarar inte auktoritativt på en SOA-fråga över TCP." + +#. CONNECTIVITY:CN02_UNEXPECTED_RCODE_NS_QUERY_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an NS query " +"over TCP." +msgstr "" +"Namnservern {ns} svarar med den oväntade svarskoden (RCODE) \"{rcode}\" på " +"en NS-fråga över TCP." + +#. CONNECTIVITY:CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with an unexpected RCODE ({rcode}) on an SOA query " +"over TCP." +msgstr "" +"Namnservern {ns} svarar med den oväntade svarskoden (RCODE) \"{rcode}\" på " +"en SOA-fråga över TCP." + +#. CONNECTIVITY:CN02_WRONG_NS_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on NS queries over TCP." +msgstr "" +"Namnservern {ns} svarar med fel domännamn (\"owner name\") -- {domain_found} " +"istället för {domain_expected} -- på en NS-fråga över TCP." + +#. CONNECTIVITY:CN02_WRONG_SOA_RECORD_TCP +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({domain_found} instead of " +"{domain_expected}) on SOA queries over TCP." +msgstr "" +"Namnservern {ns} svarar med fel domännamn (\"owner name\") -- {domain_found} " +"istället för {domain_expected} -- på en SOA-fråga över TCP." #. CONNECTIVITY:ERROR_ASN_DATABASE #, perl-brace-format @@ -319,26 +512,6 @@ msgstr "" "Minst två IPv6-adresser för de auktoritativa namnservrarna tillhör två olika " "AS-uppsättningar. En ihopslagen lista över alla AS: {asn_list}." -#. CONNECTIVITY:NAMESERVER_HAS_TCP_53 -#, perl-brace-format -msgid "Nameserver {ns} accessible over TCP on port 53." -msgstr "Namnserver {ns} är åtkomlig med TCP på port 53." - -#. CONNECTIVITY:NAMESERVER_HAS_UDP_53 -#, perl-brace-format -msgid "Nameserver {ns} accessible over UDP on port 53." -msgstr "Namnserver {ns} är åtkomlig med UDP på port 53." - -#. CONNECTIVITY:NAMESERVER_NO_TCP_53 -#, perl-brace-format -msgid "Nameserver {ns} not accessible over TCP on port 53." -msgstr "Namnserver {ns} är inte åtkomlig över TCP på port 53." - -#. CONNECTIVITY:NAMESERVER_NO_UDP_53 -#, perl-brace-format -msgid "Nameserver {ns} not accessible over UDP on port 53." -msgstr "Namnserver {ns} är inte åtkomlig över UDP på port 53." - #. CONNECTIVITY:IPV4_ASN #, perl-brace-format msgid "Name servers have IPv4 addresses in the following ASs: {asn}." @@ -364,6 +537,30 @@ msgstr "Namnserver-IP-adressen \"{ns_ip}\" tillhör AS {asn}." msgid "Name server IP address \"{ns_ip}\" is announced in prefix \"{prefix}\"." msgstr "Namnserver-IP-adressen \"{ns_ip}\" tillhör prefixet \"{prefix}\"." +#. CONSISTENCY:CONSISTENCY01 +msgid "SOA serial number consistency" +msgstr "Samma SOA Serial överallt" + +#. CONSISTENCY:CONSISTENCY02 +msgid "SOA RNAME consistency" +msgstr "Samma SOA RNAME överallt" + +#. CONSISTENCY:CONSISTENCY03 +msgid "SOA timers consistency" +msgstr "Samma tidsinställningar i SOA överallt" + +#. CONSISTENCY:CONSISTENCY04 +msgid "Name server NS consistency" +msgstr "Samma uppsättning NS-poster överallt" + +#. CONSISTENCY:CONSISTENCY05 +msgid "Consistency between glue and authoritative data" +msgstr "Glue-poster återfinns som auktoritativa adressposter" + +#. CONSISTENCY:CONSISTENCY06 +msgid "SOA MNAME consistency" +msgstr "Samma SOA MNAME överallt" + #. CONSISTENCY:ADDRESSES_MATCH msgid "Glue records are consistent between glue and authoritative data." msgstr "Glue-poster stämmer överens mellan delegering och auktoritativ data." @@ -429,7 +626,7 @@ msgstr "{count} olika uppsättningar med SOA-tidsparametrar hittades." #. ZONE:NO_RESPONSE #, perl-brace-format msgid "Nameserver {ns} did not respond." -msgstr "Inget svar från namnserver {ns}." +msgstr "Inget svar från namnservern {ns}." #. CONSISTENCY:NO_RESPONSE_NS_QUERY #, perl-brace-format @@ -519,9 +716,84 @@ msgstr "" "SOA-tidsparametrarna (REFRESH={refresh}, RETRY={retry}, EXPIRE={expire}, " "MINIMUM={minimum}) hittades på följande uppsättning namnservrar: {ns_list}." +#. DNSSEC:DNSSEC01 +msgid "Legal values for the DS hash digest algorithm" +msgstr "Kontrollera så att giltiga digest-algoritmer används för DS-posterna" + +#. DNSSEC:DNSSEC02 +msgid "DS must match a valid DNSKEY in the child zone" +msgstr "DS-posten måste peka på en giltig DNSKEY-post i dotterzonen" + +#. DNSSEC:DNSSEC03 +msgid "Check for too many NSEC3 iterations" +msgstr "Kontrollera så att NSEC3-iterationerna inte är för många" + +#. DNSSEC:DNSSEC04 +msgid "Check for too short or too long RRSIG lifetimes" +msgstr "" +"Kontrollera så att RRSIG-postens livslängd inte är för kort eller för lång" + +#. DNSSEC:DNSSEC05 +msgid "Check for invalid DNSKEY algorithms" +msgstr "" +"Kontrollera så att ogiltiga algoritmer inte används för DNSKEY-posterna" + +#. DNSSEC:DNSSEC06 +msgid "Verify DNSSEC additional processing" +msgstr "Verifiera hantering av RRSIG-poster i \"Additional Section\"" + +#. DNSSEC:DNSSEC07 +msgid "If DNSKEY at child, parent should have DS" +msgstr "On dotterzonen är DNSSEC-signerad så ska moderzonen ha DS-post for den" + +#. DNSSEC:DNSSEC08 +msgid "Valid RRSIG for DNSKEY" +msgstr "Giltig RRSIG-post för DNSKEY-posterna" + +#. DNSSEC:DNSSEC09 +msgid "RRSIG(SOA) must be valid and created by a valid DNSKEY" +msgstr "" +"RRSIG-posterna för SOA-posten måste vara giltiga och skapade av giltig DNSKEY" + +#. DNSSEC:DNSSEC10 +msgid "Zone contains NSEC or NSEC3 records" +msgstr "Zonen har NSEC eller NSEC3" + +#. DNSSEC:DNSSEC11 +msgid "DS in delegation requires signed zone" +msgstr "Delegering med DS-post kräver DNSSEC-signerad dotterzon" + +#. DNSSEC:DNSSEC12 +msgid "Test for DNSSEC Algorithm Completeness" +msgstr "Test av komplett användning av DNSSEC-algoritmer" + +#. DNSSEC:DNSSEC13 +msgid "All DNSKEY algorithms used to sign the zone" +msgstr "Alla DNSKEY-algoritmer ska användas för att signera zonen" + +#. DNSSEC:DNSSEC14 +msgid "Check for valid RSA DNSKEY key size" +msgstr "Kontrollera för giltig storlek på DNSKEY av type RSA" + +#. DNSSEC:DNSSEC15 +msgid "Existence of CDS and CDNSKEY" +msgstr "Existens av CDS- och CDNSKEY-poster" + +#. DNSSEC:DNSSEC16 +msgid "Validate CDS" +msgstr "Validera CDS-poster" + +#. DNSSEC:DNSSEC17 +msgid "Validate CDNSKEY" +msgstr "Validera CDNSKEY-poster" + +#. DNSSEC:DNSSEC18 +msgid "Validate trust from DS to CDS and CDNSKEY " +msgstr "Validera tillit från DS-poster till CDS- och CDNSKEY-poster" + #. DNSSEC:ADDITIONAL_DNSKEY_SKIPPED msgid "No DNSKEYs found. Additional tests skipped." -msgstr "Inga DNSKEY-poster hittades. Resterande DNSSEC-tester hoppas över." +msgstr "Inga DNSKEY-poster hittades. Resterande test hoppades över." #. DNSSEC:ALGORITHM_DEPRECATED #, perl-brace-format @@ -656,10 +928,12 @@ msgstr "" #. DNSSEC:DS01_DS_ALGO_2_MISSING #, perl-brace-format -msgid "Digest algorithm 2 (SHA-256) is expected but missing for zone {domain}." +msgid "" +"No DS record created by digest algorithm 2 (SHA-256) is present for zone " +"{domain}." msgstr "" -"DS-post skapad med hashfunktionen (\"digest algorithm\") 2 (SHA-256) är " -"förväntad men saknas för zonen {domain}." +"Det finns ingen DS-post skapad med hashfunktionen (\"digest algorithm\") 2 " +"(SHA-256) för zonen {domain}." #. DNSSEC:DS01_DS_ALGO_NOT_DS #, perl-brace-format @@ -685,19 +959,6 @@ msgstr "" "Algoritmnumret är inte tilldelat någon hashfunktion. Hämtad från " "namnservrarna med IP-adresserna \"{ns_ip_list}\"." -#. DNSSEC:DS01_DS_ALGO_SHA1_DEPRECATED -#, perl-brace-format -msgid "" -"DS record for zone {domain} with keytag {keytag} was created by digest " -"algorithm {ds_algo_num} ({ds_algo_mnemo}). While still being widely in use, " -"it is deprecated. Fetched from the nameservers with IP addresses " -"\"{ns_ip_list}\"." -msgstr "" -"DS-posten för zonen {domain} med \"key tag\" {keytag} skapades med " -"hashfunktionen (\"digest algorithm\") {ds_algo_num} ({ds_algo_mnemo}). " -"Hashfunktionen är föråldrad, men är fortfarande allmänt använd. Hämtad från " -"namnservrarna med IP-adresserna \"{ns_ip_list}\"." - #. DNSSEC:DS02_ALGO_NOT_SUPPORTED_BY_ZM #. DNSSEC:DS08_ALGO_NOT_SUPPORTED_BY_ZM #. DNSSEC:DS09_ALGO_NOT_SUPPORTED_BY_ZM @@ -734,6 +995,15 @@ msgstr "" "flaggan satt trots att det finns en DS-post med samma \"key tag\" i " "moderzonen. Hämtad från namnservrarna med IP-adresserna \"{ns_ip_list}\"." +#. DNSSEC:DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS +#, perl-brace-format +msgid "" +"The DNSKEY RRset has not been signed by any DNSKEY matched by a DS record. " +"Fetched from the nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"DNSKEY \"RRset\" har inte signerats med någon DNSKEY-post som någon DS-post " +"refererar till. Hämtat från namnservrarna med IP-adresserna \"{ns_ip_list}\"." + #. DNSSEC:DS02_NO_DNSKEY_FOR_DS #, perl-brace-format msgid "" @@ -764,6 +1034,15 @@ msgstr "" "det gäller kryptoalgoritm eller \"digest\". Hämtad från namnservrarna med IP-" "adresserna \"{ns_ip_list}\"." +#. DNSSEC:DS02_NO_VALID_DNSKEY_FOR_ANY_DS +#, perl-brace-format +msgid "" +"There is no valid DNSKEY matched by any of the DS records. Fetched from the " +"nameservers with IP addresses \"{ns_ip_list}\"." +msgstr "" +"Det finns inga giltiga DNSKEY-poster som pekas ut från någon av DS-posterna. " +"Hämtad från namnservrarna med IP-adresserna \"{ns_ip_list}\"." + #. DNSSEC:DS02_RRSIG_NOT_VALID_BY_DNSKEY #. DNSSEC:DS08_RRSIG_NOT_VALID_BY_DNSKEY #, perl-brace-format @@ -1504,6 +1783,34 @@ msgstr "" "Antalet NSEC3-iterationer är {count}, vilket är för många för nyckellängden " "{keylength}." +#. DELEGATION:DELEGATION01 +msgid "Minimum number of name servers" +msgstr "Minsta antal namnservrar" + +#. DELEGATION:DELEGATION02 +msgid "Name servers must have distinct IP addresses" +msgstr "Namnservrarna måste ha distinkta IP-adresser" + +#. DELEGATION:DELEGATION03 +msgid "No truncation of referrals" +msgstr "Ingen avkortning av hänvisningar" + +#. DELEGATION:DELEGATION04 +msgid "Name server is authoritative" +msgstr "Namnservern är auktoritativ" + +#. DELEGATION:DELEGATION05 +msgid "Name server must not point at CNAME alias" +msgstr "Inget namnservernamn får peka mot ett CNAME-alias" + +#. DELEGATION:DELEGATION06 +msgid "Existence of SOA" +msgstr "Existens av SOA-post" + +#. DELEGATION:DELEGATION07 +msgid "Parent glue name records present in child" +msgstr "Glue-poster i moderzonen återfinns i dotterzonen" + #. DELEGATION:ARE_AUTHORITATIVE #, perl-brace-format msgid "" @@ -1761,8 +2068,8 @@ msgstr "Alla namnservrar har en SOA-post." #, perl-brace-format msgid "Empty NOERROR response to SOA query was received from {ns}." msgstr "" -"En SOA-fråga fick ett svar med 'RCODE NOERROR' från {ns}, men svaret var " -"tomt." +"En SOA-fråga fick ett svar med svarskoden (RCODE) \"NOERROR\" från {ns}, men " +"svaret var tomt." #. DELEGATION:TOTAL_NAME_MISMATCH msgid "None of the nameservers listed at the parent are listed at the child." @@ -1774,7 +2081,66 @@ msgstr "" #, perl-brace-format msgid "Nameserver {ns} answered query with an unexpected rcode ({rcode})." msgstr "" -"Namnserver {ns} besvarade en fråga med den icke-väntade svarskoden '{rcode}'." +"Namnservern {ns} besvarade en fråga med den oväntade svarskoden (RCODE) " +"\"{rcode}\"." + +#. NAMESERVER:NAMESERVER01 +msgid "A name server should not be a recursor" +msgstr "En namnserver ska inte vara en rekursiv resolver" + +#. NAMESERVER:NAMESERVER02 +msgid "Test of EDNS0 support" +msgstr "Test av stöd för EDNS0" + +#. NAMESERVER:NAMESERVER03 +msgid "Test availability of zone transfer (AXFR)" +msgstr "Test av tillgänglighet för zonöverföring (AXFR)" + +#. NAMESERVER:NAMESERVER04 +msgid "Same source address" +msgstr "Konsekvent källadress" + +#. NAMESERVER:NAMESERVER05 +msgid "Behaviour against AAAA query" +msgstr "Beteende gällande AAAA-frågor" + +#. NAMESERVER:NAMESERVER06 +msgid "NS can be resolved" +msgstr "Namnet i NS-posten kan slås upp" + +#. NAMESERVER:NAMESERVER07 +msgid "To check whether authoritative name servers return an upward referral" +msgstr "" +"Kontrollera ifall auktoritativa namnservrar svarar med hänvisning till rot" + +#. NAMESERVER:NAMESERVER08 +msgid "Testing QNAME case insensitivity" +msgstr "Test att skiftläget i QNAME bibehålls i \"Question section\"" + +#. NAMESERVER:NAMESERVER09 +msgid "Testing QNAME case sensitivity" +msgstr "Test att skiftläge i QNAME ignoreras för frågan" + +#. NAMESERVER:NAMESERVER10 +msgid "Test for undefined EDNS version" +msgstr "Test med odefinierad EDNS-version" + +#. NAMESERVER:NAMESERVER11 +msgid "Test for unknown EDNS OPTION-CODE" +msgstr "Test med odefinierad OPTION-CODE i EDNS" + +#. NAMESERVER:NAMESERVER12 +msgid "Test for unknown EDNS flags" +msgstr "Test med odefinierad EDNS-flagga" + +#. NAMESERVER:NAMESERVER13 +msgid "Test for truncated response on EDNS query" +msgstr "Test med avkortat (\"truncated\") svar på fråga med EDNS" + +#. NAMESERVER:NAMESERVER14 +msgid "Test for unknown version with unknown OPTION-CODE" +msgstr "" +"Test med odefinierad EDNS version och med odefinierad OPTION-CODE i EDNS" #. NAMESERVER:AAAA_BAD_RDATA #, perl-brace-format @@ -1782,20 +2148,20 @@ msgid "" "Nameserver {ns} answered AAAA query with an unexpected RDATA length " "({length} instead of 16)." msgstr "" -"Namnserver {ns} besvarade en AAAA-fråga med den icke-väntade längden på " +"Namnservern {ns} besvarade en AAAA-fråga med den icke-väntade längden på " "'RDATA' om '{length}' oktetter istället för förväntade 16 oktetter." #. NAMESERVER:AAAA_QUERY_DROPPED #, perl-brace-format msgid "Nameserver {ns} dropped AAAA query." -msgstr "Namnserver {ns} besvarade inte AAAA-frågan." +msgstr "Namnservern {ns} besvarade inte AAAA-frågan." #. NAMESERVER:AAAA_UNEXPECTED_RCODE #, perl-brace-format msgid "Nameserver {ns} answered AAAA query with an unexpected rcode ({rcode})." msgstr "" -"Namnserver {ns} besvarade en AAAA-fråga med den oväntade svarskoden " -"'{rcode}'." +"Namnservern {ns} besvarade en AAAA-fråga med den oväntade svarskoden (RCODE) " +"\"{rcode}\"." #. NAMESERVER:AAAA_WELL_PROCESSED #, perl-brace-format @@ -1807,18 +2173,18 @@ msgstr "Följande namnservrar svarade problemfritt på AAAA-frågor : {ns_list}. #, perl-brace-format msgid "Nameserver {ns} answered A query with an unexpected rcode ({rcode})." msgstr "" -"Namnserver {ns} besvarade en A-fråga med den icke-väntade svarskoden " -"'{rcode}'." +"Namnservern {ns} besvarade en A-fråga med den oväntade svarskoden (RCODE) " +"\"{rcode}\"." #. NAMESERVER:AXFR_AVAILABLE #, perl-brace-format msgid "Nameserver {ns} allow zone transfer using AXFR." -msgstr "Namnserver {ns} tillåter zonöverföringar med AXFR." +msgstr "Namnservern {ns} tillåter zonöverföringar med AXFR." #. NAMESERVER:AXFR_FAILURE #, perl-brace-format msgid "AXFR not available on nameserver {ns}." -msgstr "AXFR är inte tillgänglig från namnserver {ns}." +msgstr "AXFR är inte tillgänglig från namnservern {ns}." #. NAMESERVER:BREAKS_ON_EDNS #, perl-brace-format @@ -1861,8 +2227,8 @@ msgid "" "When asked for {type} records on \"{query1}\" and \"{query2}\", nameserver " "{ns} returns different answers." msgstr "" -"Namnserver {ns} ger olika svar när frågan är '{query1}' resp. '{query2}' för " -"posttypen '{type}'." +"Namnservern {ns} ger olika svar när frågan är '{query1}' resp. '{query2}' " +"för posttypen '{type}'." #. NAMESERVER:CASE_QUERY_DIFFERENT_RC #, perl-brace-format @@ -1870,8 +2236,9 @@ msgid "" "When asked for {type} records on \"{query1}\" and \"{query2}\", nameserver " "{ns} returns different RCODE (\"{rcode1}\" vs \"{rcode2}\")." msgstr "" -"Namnserver {ns} ger olika RCODE ('{rcode1}' resp. '{rcode2}') när frågan är " -"'{query1}' resp. '{query2}' för posttypen '{type}'." +"Namnservern {ns} ger olika svarskoder (RCODE) -- \"{rcode1}\" resp. " +"\"{rcode2}\" -- när frågedomänen är {query1} resp. {query2} för posttypen " +"\"{type}\"." #. NAMESERVER:CASE_QUERY_NO_ANSWER #, perl-brace-format @@ -1879,7 +2246,7 @@ msgid "" "When asked for {type} records on \"{domain}\", nameserver {ns} returns " "nothing." msgstr "" -"Nameserver {ns} svarar ingenting när den får frågan om '{domain}' med " +"Namnservern {ns} svarar ingenting när den får frågan om '{domain}' med " "posttypen '{type}'." #. NAMESERVER:CASE_QUERY_SAME_ANSWER @@ -1888,8 +2255,8 @@ msgid "" "When asked for {type} records on \"{query1}\" and \"{query2}\", nameserver " "{ns} returns same answers." msgstr "" -"Namnserver {ns} ger samma svar när frågan är '{query1}' resp. '{query2}' för " -"posttypen '{type}'." +"Namnservern {ns} ger samma svar när frågan är '{query1}' resp. '{query2}' " +"för posttypen '{type}'." #. NAMESERVER:CASE_QUERY_SAME_RC #, perl-brace-format @@ -1897,8 +2264,8 @@ msgid "" "When asked for {type} records on \"{query1}\" and \"{query2}\", nameserver " "{ns} returns same RCODE \"{rcode}\"." msgstr "" -"Namnserver {ns} ger samma RCODE '{rcode}' när frågan är '{query1}' resp. " -"'{query2}' för posttypen '{type}'." +"Namnservern {ns} ger samma svarskod (RCODE), \"{rcode}\", när frågedomänen " +"är {query1} resp. {query2} för posttypen \"{type}\"." #. NAMESERVER:DIFFERENT_SOURCE_IP #, perl-brace-format @@ -1906,7 +2273,7 @@ msgid "" "Nameserver {ns} replies on a SOA query with a different source address " "({source})." msgstr "" -"Namnserver {ns} besvarade en SOA-fråga från en annan källadress ({source})." +"Namnservern {ns} besvarade en SOA-fråga från en annan källadress ({source})." #. NAMESERVER:EDNS_RESPONSE_WITHOUT_EDNS #, perl-brace-format @@ -1932,7 +2299,7 @@ msgstr "Följande namnservrar stöder EDNS0: {ns_list}." #. NAMESERVER:IS_A_RECURSOR #, perl-brace-format msgid "Nameserver {ns} is a recursor." -msgstr "Namnserver {ns} är en rekursiv resolver." +msgstr "Namnservern {ns} är en rekursiv resolver." #. NAMESERVER:MISSING_OPT_IN_TRUNCATED #, perl-brace-format @@ -1940,18 +2307,18 @@ msgid "" "Nameserver {ns} replies on an EDNS query with a truncated response without " "EDNS." msgstr "" -"Namnserver {ns} besvarade en förfrågan med EDNS med ett trunkerat svarspaket " -"utan EDNS." +"Namnservern {ns} besvarade en förfrågan med EDNS med ett trunkerat " +"svarspaket utan EDNS." #. NAMESERVER:NO_EDNS_SUPPORT #, perl-brace-format msgid "Nameserver {ns} does not support EDNS0 (replies with FORMERR)." -msgstr "Namnserver {ns} stöder inte EDNS0 (svarar med 'FORMERR')." +msgstr "Namnservern {ns} stöder inte EDNS0 (svarar med 'FORMERR')." #. NAMESERVER:NO_RECURSOR #, perl-brace-format msgid "Nameserver {ns} is not a recursor." -msgstr "Namnserver {ns} är ingen rekursiv resolver." +msgstr "Namnservern {ns} är ingen rekursiv resolver." #. NAMESERVER:NO_RESOLUTION msgid "No nameserver was successfully resolved to an IP address." @@ -1974,9 +2341,18 @@ msgstr "" #. NAMESERVER:NS_ERROR #, perl-brace-format msgid "Erroneous response from nameserver {ns}." -msgstr "Felaktigt svar från namnserver {ns}." +msgstr "Felaktigt svar från namnservern {ns}." + +#. NAMESERVER:N10_EDNS_RESPONSE_ERROR +#, perl-brace-format +msgid "" +"Expected RCODE but received erroneous response to an EDNS version 1 query. " +"Fetched from the nameservers with IP addresses {ns_ip_list}" +msgstr "" +"Förväntad svarskod (RCODE), men felaktigt svar på en fråga med EDNS version " +"1. Hämtad från namnservrarna med IP-adresserna \"{ns_ip_list}\"." -#. N10_NO_RESPONSE_EDNS1_QUERY +#. NAMESERVER:N10_NO_RESPONSE_EDNS1_QUERY #, perl-brace-format msgid "" "No response to an EDNS version 1 query. Fetched from the nameservers with IP " @@ -1985,23 +2361,70 @@ msgstr "" "Inget svar på en fråga med EDNS version 1. Hämtad från namnservrarna med IP-" "adresserna \"{ns_ip_list}\"." -#. N10_UNEXPECTED_RCODE +#. NAMESERVER:N10_UNEXPECTED_RCODE #, perl-brace-format msgid "" "Erroneous RCODE (\"{rcode}\") in response to an EDNS version 1 query. " "Fetched from the nameservers with IP addresses {ns_ip_list}" msgstr "" -"Felaktig RCODE (\"{rcode}\") i svaret på en fråga med EDNS version 1. Hämtat " -"från namnservrarna med IP-adresserna \"{ns_ip_list}\"." +"Den felaktiga svarskoden (RCODE) \"{rcode}\" i svaret på en fråga med EDNS " +"version 1. Hämtat från namnservrarna med IP-adresserna \"{ns_ip_list}\"." -#. N10_EDNS_RESPONSE_ERROR +#. NAMESERVER:N11_N11_NO_EDNS #, perl-brace-format msgid "" -"Expected RCODE but received erroneous response to an EDNS version 1 query. " -"Fetched from the nameservers with IP addresses {ns_ip_list}" +"The DNS response, on query with unknown EDNS option-code, does not contain " +"any EDNS from name servers \"{ns_ip_list}\"." msgstr "" -"Förväntad RCODE men felaktigt svar på en fråga med EDNS version 1. Hämtad " -"från namnservrarna med IP-adresserna \"{ns_ip_list}\"." +"DNS-svaret, på en DNS-fråga med odefinierad OPTION-CODE i EDNS, innehåller " +"ingen EDNS från namnservrarna \"{ns_ip_list}\"." + +#. NAMESERVER:N11_NO_RESPONSE +#, perl-brace-format +msgid "" +"There is no response on query with unknown EDNS option-code from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"På en DNS-fråga med odefinierad OPTION-CODE i EDNS kommer det inget svar " +"från namnservrarna \"{ns_ip_list}\"." + +#. NAMESERVER:N11_RETURNS_UNKNOWN_OPTION_CODE +#, perl-brace-format +msgid "" +"The DNS response contains an unknown EDNS option-code. Returned from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"DNS-svaret innehåller en odefinierad OPTION-CODE i EDNS. Hämtad från " +"namnservrarna med IP-adresserna \"{ns_ip_list}\"." + +#. NAMESERVER:N11_UNEXPECTED_ANSWER_SECTION +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, does not contain " +"the expected SOA record in the answer section from name servers " +"\"{ns_ip_list}\"." +msgstr "" +"DNS-svaret, på en DNS-fråga med odefinierad OPTION-CODE i EDNS, innehåller " +"inte den förväntade SOA-posten i \"Answer section\" från namnservrarna " +"\"{ns_ip_list}\"." + +#. NAMESERVER:N11_UNEXPECTED_RCODE +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, has unexpected " +"RCODE name \"{rcode}\" from name servers \"{ns_ip_list}\"." +msgstr "" +"DNS-svaret, på en DNS-fråga med odefinierad OPTION-CODE i EDNS, har den " +"oväntade svarskoden (RCODE) \"{rcode}\" från namnservrarna \"{ns_ip_list}\"." + +#. NAMESERVER:N11_UNSET_AA +#, perl-brace-format +msgid "" +"The DNS response, on query with unknown EDNS option-code, is unexpectedly " +"not authoritative from name servers \"{ns_ip_list}\"." +msgstr "" +"DNS-svaret, på en DNS-fråga med odefinierad OPTION-CODE i EDNS, är oväntat " +"icke-auktoritativt från namnservrarna \"{ns_ip_list}\"." #. NAMESERVER:QNAME_CASE_INSENSITIVE #, perl-brace-format @@ -2009,30 +2432,23 @@ msgid "" "Nameserver {ns} does not preserve original case of the queried name " "({domain})." msgstr "" -"Nameserver {ns} bevarar inte skillnaden mellan versaler och gemener från " +"Namnservern {ns} bevarar inte skillnaden mellan versaler och gemener från " "frågan ({domain})." #. NAMESERVER:QNAME_CASE_SENSITIVE #, perl-brace-format msgid "Nameserver {ns} preserves original case of queried names ({domain})." -msgstr "Namnserver {ns} bevarade versaler och gemener från frågan ({domain})." +msgstr "Namnservern {ns} bevarade versaler och gemener från frågan ({domain})." #. NAMESERVER:SAME_SOURCE_IP msgid "All nameservers reply with same IP used to query them." msgstr "" "Alla namnservrar skickade svar från samma IP-adress som frågan ställdes till." -#. NAMESERVER:UNKNOWN_OPTION_CODE -#, perl-brace-format -msgid "Nameserver {ns} responds with an unknown ENDS OPTION-CODE." -msgstr "" -"Svarspaketet från namnservern {ns} innehåller 'EDNS OPTION-CODE' som är " -"odenfinierad." - #. NAMESERVER:UPWARD_REFERRAL #, perl-brace-format msgid "Nameserver {ns} returns an upward referral." -msgstr "Nameserver {ns} skickade en hänvisning till moderzonen." +msgstr "Namnservern {ns} skickade en hänvisning till moderzonen." #. NAMESERVER:UPWARD_REFERRAL_IRRELEVANT msgid "Upward referral tests skipped for root zone." @@ -2047,6 +2463,41 @@ msgstr "" "Svarspaket från namnservern {ns} har en eller flera odefinierade bitar satta " "i Z-flaggan (EDNS)." +#. SYNTAX:SYNTAX01 +msgid "No illegal characters in the domain name" +msgstr "Inga otillåtna tecken i domännamnet" + +#. SYNTAX:SYNTAX02 +msgid "No hyphen ('-') at the start or end of the domain name" +msgstr "Inget bindestreck (\"-\") i start eller slut av domännamnsdel" + +#. SYNTAX:SYNTAX03 +msgid "" +"There must be no double hyphen ('--') in position 3 and 4 of the domain name" +msgstr "" +"Det får inte finnas dubbla bindestreck (\"--\") i position 3 och 4 i " +"domännamnsdel" + +#. SYNTAX:SYNTAX04 +msgid "The NS name must have a valid domain/hostname" +msgstr "En NS-post måste ha ett giltigt namn (\"hostname\")" + +#. SYNTAX:SYNTAX05 +msgid "Misuse of '@' character in the SOA RNAME field" +msgstr "Otillåten användning av @-tecken i SOA RNAME-fältet" + +#. SYNTAX:SYNTAX06 +msgid "No illegal characters in the SOA RNAME field" +msgstr "Inga otillåtna tecken i SOA RNAME-fältet" + +#. SYNTAX:SYNTAX07 +msgid "No illegal characters in the SOA MNAME field" +msgstr "Inga otillåtna tecken i SOA MNAME-fältet" + +#. SYNTAX:SYNTAX08 +msgid "MX name must have a valid hostname" +msgstr "En MX-post måste ha ett giltigt namn (\"hostname\")" + #. SYNTAX:DISCOURAGED_DOUBLE_DASH #, perl-brace-format msgid "" @@ -2201,12 +2652,12 @@ msgstr "" #. SYNTAX:RNAME_MISUSED_AT_SIGN #, perl-brace-format msgid "Misused '@' character found in SOA RNAME field ({rname})." -msgstr "Felaktigt använt '@'-tecken finns i SOA RNAME ({rname})." +msgstr "Otillåtet @-tecken i SOA RNAME ({rname})." #. SYNTAX:RNAME_NO_AT_SIGN #, perl-brace-format msgid "There is no misused '@' character in the SOA RNAME field ({rname})." -msgstr "Inga felanvända @-tecken hittades i SOA RNAME ({rname})." +msgstr "Inga otillåtna @-tecken hittades i SOA RNAME ({rname})." #. SYNTAX:RNAME_RFC822_INVALID #, perl-brace-format @@ -2226,6 +2677,46 @@ msgstr "" "Domännamnet '{domain}' har domändelen '{label}' som slutar med ett " "bindestreck." +#. ZONE:ZONE01 +msgid "Fully qualified master nameserver in SOA" +msgstr "Faktisk primär namnserver i SOA MNAME" + +#. ZONE:ZONE02 +msgid "SOA 'refresh' minimum value" +msgstr "Minsta värde för SOA \"refresh\"" + +#. ZONE:ZONE03 +msgid "SOA 'retry' lower than 'refresh'" +msgstr "SOA \"retry\" lägre än \"refresh\"" + +#. ZONE:ZONE04 +msgid "SOA 'retry' at least 1 hour" +msgstr "SOA \"retry\" minst en timme" + +#. ZONE:ZONE05 +msgid "SOA 'expire' minimum value" +msgstr "Minsta värde för SOA \"expire\"" + +#. ZONE:ZONE06 +msgid "SOA 'minimum' maximum value" +msgstr "Lägsta och högsta värde för SOA \"minimum\"" + +#. ZONE:ZONE07 +msgid "SOA master is not an alias" +msgstr "Namnet i SOA MNAME ska inte vara ett alias" + +#. ZONE:ZONE08 +msgid "MX is not an alias" +msgstr "Namnet i MX-post ska inte vara ett alias" + +#. ZONE:ZONE09 +msgid "MX record present" +msgstr "Test av existens av MX-post" + +#. ZONE:ZONE10 +msgid "No multiple SOA records" +msgstr "Inte multipla SOA-poster" + #. ZONE:RETRY_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2238,16 +2729,11 @@ msgstr "" #. ZONE:RETRY_MINIMUM_VALUE_OK #, perl-brace-format msgid "" -"SOA 'retry' value ({retry}) is more than the minimum recommended value " -"({required_retry})." +"SOA 'retry' value ({retry}) is at least equal to the minimum recommended " +"value ({required_retry})." msgstr "" -"'retry'-värdet i SOA-posten ({retry}) är högre än det lägsta rekommenderade " -"värdet ({required_retry})." - -#. ZONE:MNAME_NO_RESPONSE -#, perl-brace-format -msgid "SOA 'mname' nameserver {ns} does not respond." -msgstr "Namnservern i SOA MNAME ({ns}) svarar inte." +"'retry'-värdet i SOA-posten ({retry}) är minst lika högt som det lägsta " +"rekommenderade värdet ({required_retry})." #. ZONE:MNAME_IS_CNAME #, perl-brace-format @@ -2260,18 +2746,6 @@ msgid "" "SOA 'mname' value ({mname}) refers to a NS which is not an alias (CNAME)." msgstr "SOA MNAME '{mname}' har ingen CNAME-post." -#. ZONE:NO_MX_RECORD -msgid "No target (MX, A or AAAA record) to deliver e-mail for the domain name." -msgstr "" -"Inget mål att levera mail till (MX-, A- eller AAAA-post) är angivet för " -"domänen." - -#. ZONE:MX_RECORD_EXISTS -#, perl-brace-format -msgid "MX with mail target ({mailtarget_list}) exists for the domain name." -msgstr "" -"Det finns ett MX RRset med mailservernamn ({mailtarget_list}) för domänen." - #. ZONE:REFRESH_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2284,10 +2758,10 @@ msgstr "" #. ZONE:REFRESH_MINIMUM_VALUE_OK #, perl-brace-format msgid "" -"SOA 'refresh' value ({refresh}) is higher than the minimum recommended value " -"({required_refresh})." +"SOA 'refresh' value ({refresh}) is at least equal to the minimum recommended " +"value ({required_refresh})." msgstr "" -"SOA-postens 'refresh'-värde ({refresh}) är högre än det lägsta " +"SOA-postens 'refresh'-värde ({refresh}) är minst lika högt som det lägsta " "rekommenderade värdet ({required_refresh})." #. ZONE:EXPIRE_LOWER_THAN_REFRESH @@ -2326,17 +2800,6 @@ msgstr "" "Värdet för SOA 'minimum' ({minimum}) ligger inom det rekommenderade spannet " "({lowest_minimum} - {highest_minimum})." -#. ZONE:MNAME_NOT_AUTHORITATIVE -#, perl-brace-format -msgid "SOA 'mname' nameserver {ns} is not authoritative for '{zone}' zone." -msgstr "" -"Namnservern angiven som SOA MNAME ({ns}) är inte auktoritativ för zonen " -"'{zone}'." - -#. ZONE:MNAME_RECORD_DOES_NOT_EXIST -msgid "SOA 'mname' field does not exist" -msgstr "Fältet för SOA MNAME är tomt." - #. ZONE:EXPIRE_MINIMUM_VALUE_LOWER #, perl-brace-format msgid "" @@ -2346,15 +2809,6 @@ msgstr "" "Värdet för SOA 'expire' ({expire}) är lägre än rekommenderat " "({required_expire})." -#. ZONE:MNAME_NOT_IN_GLUE -#, perl-brace-format -msgid "" -"SOA 'mname' nameserver ({mname}) is not listed in \"parent\" NS records for " -"tested zone ({ns_list})." -msgstr "" -"Namnservern i SOA MNAME ({mname}) finns inte i delegeringen från moderzonen " -"till den testade zonen. Namnservrar i delegeringen: {ns_list}." - #. ZONE:REFRESH_LOWER_THAN_RETRY #, perl-brace-format msgid "" @@ -2381,17 +2835,12 @@ msgstr "Domänens MX-post pekar på ett alias (CNAME)." msgid "MX record for the domain is not pointing to a CNAME." msgstr "MX-post för domänen pekar inte på ett CNAME." -#. ZONE:MNAME_IS_AUTHORITATIVE -#, perl-brace-format -msgid "SOA 'mname' nameserver ({mname}) is authoritative for '{zone}' zone." -msgstr "Nameservern i SOA MNAME ({mname}) är auktoritativ för zonen '{zone}'." - #. ZONE:MULTIPLE_SOA #, perl-brace-format msgid "" "Nameserver {ns} responds with multiple ({count}) SOA records on SOA queries." msgstr "" -"Namnserver {ns} svarade med multipla ({count}) SOA-poster på SOA-frågor." +"Namnservern {ns} svarade med multipla ({count}) SOA-poster på SOA-frågor." #. ZONE:NO_SOA_IN_RESPONSE #, perl-brace-format @@ -2419,6 +2868,167 @@ msgstr "" "rekommenderade värdet ({required_expire}) och inte lägre än värdet på " "'refresh' ({refresh})." +#. ZONE:WRONG_SOA +#, perl-brace-format +msgid "" +"Nameserver {ns} responds with a wrong owner name ({owner} instead of {name}) " +"on SOA queries." +msgstr "" +"Namnservern {ns} ger fel 'owner name' i svaret ({owner} istället för {name}) " +"på SOA-fråga." + +#. ZONE:Z01_MNAME_HAS_LOCALHOST_ADDR +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" resolves to a localhost IP address " +"({ns_ip})." +msgstr "" +"Namnservern \"{nsname}\" angiven i SOA MNAME slås upp till IP-adress för " +"\"localhost ({ns_ip})." + +#. ZONE:Z01_MNAME_IS_DOT +#, perl-brace-format +msgid "" +"SOA MNAME is specified as \".\" which usually means \"no server\". Fetched " +"from name servers \"{ns_ip_list}\"." +msgstr "" +"Namnservernamnet i SOA MNAME är \".\", vilket normalt betyder \"ingen server" +"\". Hämtad från namnservrarna med IP-adresserna \"{ns_ip_list}\"." + +#. ZONE:Z01_MNAME_IS_LOCALHOST +#, perl-brace-format +msgid "" +"SOA MNAME name server is \"localhost\", which is invalid. Fetched from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"Namnservernamnet i SOA MNAME är \"localhost\" vilket är ogiltigt. Hämtad " +"från namnservrarna med IP-adresserna \"{ns_ip_list}\"." + +#. ZONE:Z01_MNAME_IS_MASTER +#, perl-brace-format +msgid "SOA MNAME name server(s) \"{ns_list}\" appears to be master." +msgstr "Namnservrarna \"{ns_list}\" i SOA MNAME verkar vara masternamnservrar." + +#. ZONE:Z01_MNAME_MISSING_SOA_RECORD +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{ns}\" responds to an SOA query with no SOA records " +"in the answer section." +msgstr "" +"Namnservern {ns} angiven som SOA MNAME besvarar en SOA-fråga med ett svar " +"utan SOA-poster i svarssektionen." + +#. ZONE:Z01_MNAME_NO_RESPONSE +#, perl-brace-format +msgid "SOA MNAME name server \"{ns}\" does not respond to an SOA query." +msgstr "Namnservern {ns} angiven som SOA MNAME besvarar inte en SOA-fråga." + +#. ZONE:Z01_MNAME_NOT_AUTHORITATIVE +#, perl-brace-format +msgid "SOA MNAME name server \"{ns}\" is not authoritative for the zone." +msgstr "Namnservern {ns} angiven som SOA MNAME är inte auktoritativ för zonen." + +#. ZONE:Z01_MNAME_NOT_IN_NS_LIST +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" is not listed as NS record for the zone." +msgstr "" +"Namnservern \"{nsname}\" angiven i SOA MNAME finns inte som NS-post i zonen." + +#. ZONE:Z01_MNAME_NOT_MASTER +#, perl-brace-format +msgid "" +"SOA MNAME name server(s) \"{ns_list}\" do not have the highest SOA SERIAL " +"(expected \"{soaserial}\" but got \"{soaserial_list}\")" +msgstr "" +"Namnservrarna \"{ns_list}\" i SOA MNAME ger inte högsta SOA SERIAL för zonen " +"(förväntat \"{soaserial}\" men faktiskt \"{soaserial_list}\")." + +#. ZONE:Z01_MNAME_NOT_RESOLVE +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{nsname}\" cannot be resolved into an IP address." +msgstr "" +"Namnservern \"{nsname}\" angiven i SOA MNAME kan inte slås upp till en IP-" +"adress." + +#. ZONE:Z01_MNAME_UNEXPECTED_RCODE +#, perl-brace-format +msgid "" +"SOA MNAME name server \"{ns}\" gives unexpected RCODE name (\"{rcode}\") in " +"response to an SOA query." +msgstr "" +"Namnservern {ns} angiven i SOA MNAME svarar med den oväntade svarskoden " +"(RCODE) \"{rcode}\" på en SOA-fråga." + +#. ZONE:Z09_INCONSISTENT_MX +msgid "Some name servers return an MX RRset while others return none." +msgstr "Vissa namnservrar returnerar MX-poster, medans andra inte gör det." + +#. ZONE:Z09_INCONSISTENT_MX_DATA +msgid "The MX RRset data is inconsistent between the name servers." +msgstr "Namnservrarna ger olika uppsättningar av MX RRset." + +#. ZONE:Z09_MISSING_MAIL_TARGET +msgid "The child zone has no mail target (no MX)." +msgstr "Det finns inga mailservrar för domänen (ingen MX)." + +#. ZONE:Z09_MX_DATA +#, perl-brace-format +msgid "" +"Mail targets in the MX RRset \"{mailtarget_list}\" returned from name " +"servers \"{ns_ip_list}\"." +msgstr "" +"Mailservrarna i MX RRset är följande: \"{mailtarget_list}\". Från " +"namnservrarna \"{ns_ip_list}\"." + +#. ZONE:Z09_MX_FOUND +#, perl-brace-format +msgid "MX RRset was returned by name servers \"{ns_ip_list}\"." +msgstr "Följande namnservrar gav ett MX RRset: \"{ns_ip_list}\"." + +#. ZONE:Z09_NON_AUTH_MX_RESPONSE +#, perl-brace-format +msgid "" +"Non-authoritative response on MX query from name servers \"{ns_ip_list}\"." +msgstr "" +"Icke-auktoritativt svar på MX-förfrågan från namnservrar \"{ns_ip_list}\"." + +#. ZONE:Z09_NO_MX_FOUND +#, perl-brace-format +msgid "No MX RRset was returned by name servers \"{ns_ip_list}\"." +msgstr "Följande namnservrar gav inget MX RRset: \"{ns_ip_list}\"." + +#. ZONE:Z09_NO_RESPONSE_MX_QUERY +#, perl-brace-format +msgid "No response on MX query from name servers \"{ns_ip_list}\"." +msgstr "Inget svar på MX-förfrågan från namnservrar \"{ns_ip_list}\"." + +#. ZONE:Z09_NULL_MX_NON_ZERO_PREF +msgid "The zone has a Null MX with non-zero preference." +msgstr "Zonen har en \"Null MX\" med ett prioritet som är icke-noll." + +#. ZONE:Z09_NULL_MX_WITH_OTHER_MX +msgid "The zone has a Null MX mixed with other MX records." +msgstr "Zonen har en \"Null MX\" blandat med andra MX-poster." + +#. ZONE:Z09_ROOT_EMAIL_DOMAIN +msgid "Root zone with an unexpected MX RRset (non-Null MX)." +msgstr "Rotzon med ett oväntat MX RRset (icke-Null MX)." + +#. ZONE:Z09_TLD_EMAIL_DOMAIN +msgid "The zone is a TLD and has an unexpected MX RRset (non-Null MX)." +msgstr "" +"Zonen är en toppdomän (TLD) och har ett oväntat MX RRset (icke-Null MX)." + +#. ZONE:Z09_UNEXPECTED_RCODE_MX +#, perl-brace-format +msgid "" +"Unexpected RCODE value on the MX query from name servers \"{ns_ip_list}\"." +msgstr "" +"Oväntat värde på svarskoden (RCODE) i svar på MX-fråga. Svar från " +"namnservrar \"{ns_ip_list}\"." + #. SYSTEM:CANNOT_CONTINUE #, perl-brace-format msgid "Not enough data about {domain} was found to be able to run tests." @@ -2483,16 +3093,6 @@ msgstr "" "Begäran om att köra metoden '{testcase}' i den okända modulen '{module}'. " "Kända moduler: '{module_list}'." -#. SYSTEM:SKIP_IPV4_DISABLED -#, perl-brace-format -msgid "IPv4 is disabled, not sending query to {ns_list}." -msgstr "IPv4 är inaktiverat. Skickar inga DNS-frågor till '{ns_list}'." - -#. SYSTEM:SKIP_IPV6_DISABLED -#, perl-brace-format -msgid "IPv6 is disabled, not sending query to {ns_list}." -msgstr "IPv6 är inaktiverat. Skickar ingen DNS-fråga till '{ns_list}'." - #. SYSTEM:FAKE_DELEGATION msgid "Followed a fake delegation." msgstr "Följde en skapad delegering." diff --git a/t/Test-zone01-A.data b/t/Test-zone01-A.data new file mode 100644 index 000000000..ea573183c --- /dev/null +++ b/t/Test-zone01-A.data @@ -0,0 +1,32 @@ +a.root-servers.net 2001:0503:ba3e:0000:0000:0000:0002:0030 {} +a.root-servers.net 198.41.0.4 {} +k.root-servers.net 193.0.14.129 {} +k.root-servers.net 2001:07fd:0000:0000:0000:0000:0000:0001 {} +f.root-servers.net 192.5.5.241 {} +f.root-servers.net 2001:0500:002f:0000:0000:0000:0000:000f {} +ibdns01.labs.prive.nic.fr 10.1.72.23 {"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"LfSEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","answerfrom":"10.1.72.23","querytime":5,"timestamp":1673535164.34914}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.34415,"data":"rX2EAAABAAAAAAAAAm5zAnhhAAAcAAE="}}},"hfOhYkPFLBGlUfgEtSud7w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"j5yEAAABAAEAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ==","timestamp":1673535164.37835,"answerfrom":"10.1.72.23","querytime":4}}},"rS2FrWd9HNZlBzrxBdoCog":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.35618,"data":"/aKEAAABAAEAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw=="}}},"cP9WhuSKQ/RaF0l8dt2+CA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"answerfrom":"10.1.72.23","timestamp":1673535164.38369,"data":"tHSEAAABAAAAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"5h1JfKzS9Dyxd66CecNE9Q":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.36804,"querytime":3,"answerfrom":"10.1.72.23","data":"tOOEAAABAAEAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA=="}}},"FraPJ7RA4O5iaLMFztqK/w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.37306,"querytime":3,"answerfrom":"10.1.72.23","data":"noiEAAABAAAAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"l7VttscyKGtmhADDWHDKDg":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"AoaEAAABAAAAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673535164.36204,"answerfrom":"10.1.72.23","querytime":4}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":3,"timestamp":1673535164.33889,"data":"EOCEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX"}}},"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"xCGEAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673535164.32095,"querytime":5,"answerfrom":"10.1.72.23"}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"answerfrom":"10.1.72.23","timestamp":1673535164.32769,"data":"yOuEAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA="}}}} +b.root-servers.net 199.9.14.201 {} +b.root-servers.net 2001:0500:0200:0000:0000:0000:0000:000b {} +ns2.mname-not-master.zone01.xa 10.1.72.24 {"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"answerfrom":"10.1.72.24","timestamp":1673535164.39348,"data":"9VSEAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA=="}}},"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"TxSEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","timestamp":1673535164.40454,"querytime":5,"answerfrom":"10.1.72.24"}}},"X5EINI94ZoFjRgtYt3T+tA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"tgGEAAABAAEAAAAAAnhhAAACAAHADAACAAEAAA4QAAUCbnPADA==","querytime":4,"answerfrom":"10.1.72.24","timestamp":1673535164.33332}}}} +l.root-servers.net 2001:0500:009f:0000:0000:0000:0000:0042 {} +l.root-servers.net 199.7.83.42 {} +j.root-servers.net 192.58.128.30 {} +j.root-servers.net 2001:0503:0c27:0000:0000:0000:0002:0030 {} +c.root-servers.net 192.33.4.12 {} +c.root-servers.net 2001:0500:0002:0000:0000:0000:0000:000c {} +h.root-servers.net 198.97.190.53 {} +h.root-servers.net 2001:0500:0001:0000:0000:0000:0000:0053 {} +d.root-servers.net 2001:0500:002d:0000:0000:0000:0000:000d {} +d.root-servers.net 199.7.91.13 {} +i.root-servers.net 2001:07fe:0000:0000:0000:0000:0000:0053 {} +i.root-servers.net 192.36.148.17 {} +m.root-servers.net 202.12.27.33 {"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.30251,"querytime":3,"answerfrom":"202.12.27.33","data":"C6uEAwABAAAAAQAAAnhhAAAGAAEAAAYAAQAAAAAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20AeJSzgAAABwgAAAOEAAk6gAABUYA="}}}} +m.root-servers.net 2001:0dc3:0000:0000:0000:0000:0000:0035 {"Y/IeIwIJb12zVtYwf7MnYA":null} +g.root-servers.net 192.112.36.4 {} +g.root-servers.net 2001:0500:0012:0000:0000:0000:0000:0d0d {} +e.root-servers.net 192.203.230.10 {} +e.root-servers.net 2001:0500:00a8:0000:0000:0000:0000:000e {} +ns.xa 10.1.72.23 {"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":5,"answerfrom":"10.1.72.23","timestamp":1673535164.34914,"data":"LfSEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw="}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.34415,"answerfrom":"10.1.72.23","querytime":4,"data":"rX2EAAABAAAAAAAAAm5zAnhhAAAcAAE="}}},"hfOhYkPFLBGlUfgEtSud7w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.37835,"querytime":4,"answerfrom":"10.1.72.23","data":"j5yEAAABAAEAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ=="}}},"rS2FrWd9HNZlBzrxBdoCog":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.35618,"answerfrom":"10.1.72.23","querytime":4,"data":"/aKEAAABAAEAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw=="}}},"cP9WhuSKQ/RaF0l8dt2+CA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.38369,"data":"tHSEAAABAAAAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"5h1JfKzS9Dyxd66CecNE9Q":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"tOOEAAABAAEAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA==","timestamp":1673535164.36804,"answerfrom":"10.1.72.23","querytime":3}}},"FraPJ7RA4O5iaLMFztqK/w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":3,"timestamp":1673535164.37306,"data":"noiEAAABAAAAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"l7VttscyKGtmhADDWHDKDg":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.36204,"answerfrom":"10.1.72.23","querytime":4,"data":"AoaEAAABAAAAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.33889,"answerfrom":"10.1.72.23","querytime":3,"data":"EOCEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX"}}},"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":5,"timestamp":1673535164.32095,"data":"xCGEAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA=="}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.32769,"data":"yOuEAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA="}}}} +ns1.mname-not-master.zone01.xa 10.1.72.23 {"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.34914,"querytime":5,"answerfrom":"10.1.72.23","data":"LfSEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw="}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"rX2EAAABAAAAAAAAAm5zAnhhAAAcAAE=","querytime":4,"answerfrom":"10.1.72.23","timestamp":1673535164.34415}}},"hfOhYkPFLBGlUfgEtSud7w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"j5yEAAABAAEAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ==","answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.37835}}},"rS2FrWd9HNZlBzrxBdoCog":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673535164.35618,"data":"/aKEAAABAAEAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw=="}}},"cP9WhuSKQ/RaF0l8dt2+CA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.38369,"querytime":4,"answerfrom":"10.1.72.23","data":"tHSEAAABAAAAAAAAA25zMxBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"5h1JfKzS9Dyxd66CecNE9Q":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":3,"answerfrom":"10.1.72.23","timestamp":1673535164.36804,"data":"tOOEAAABAAEAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA=="}}},"FraPJ7RA4O5iaLMFztqK/w":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":3,"timestamp":1673535164.37306,"data":"noiEAAABAAAAAAAAA25zMhBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"l7VttscyKGtmhADDWHDKDg":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"answerfrom":"10.1.72.23","timestamp":1673535164.36204,"data":"AoaEAAABAAAAAAAAA25zMRBtbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":3,"answerfrom":"10.1.72.23","timestamp":1673535164.33889,"data":"EOCEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX"}}},"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"xCGEAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA==","querytime":5,"answerfrom":"10.1.72.23","timestamp":1673535164.32095}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"yOuEAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA=","timestamp":1673535164.32769,"querytime":4,"answerfrom":"10.1.72.23"}}}} +ibdns01-24.labs.prive.nic.fr 10.1.72.24 {"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"9VSEAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673535164.39348,"answerfrom":"10.1.72.24","querytime":4}}},"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"TxSEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","answerfrom":"10.1.72.24","querytime":5,"timestamp":1673535164.40454}}},"X5EINI94ZoFjRgtYt3T+tA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673535164.33332,"answerfrom":"10.1.72.24","querytime":4,"data":"tgGEAAABAAEAAAAAAnhhAAACAAHADAACAAEAAA4QAAUCbnPADA=="}}}} +ns3.mname-not-master.zone01.xa 10.1.72.25 {"HBLv6qWzV1xB7f8Avq/A1g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"5EOEAAABAAMAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","timestamp":1673535164.41021,"answerfrom":"10.1.72.25","querytime":4}}},"Bw5JYDf2ZQnVY/1hB4Hv0g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"1Q+EAAABAAEAAAAAEG1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673535164.39916,"answerfrom":"10.1.72.25","querytime":4}}}} diff --git a/t/Test-zone01-A.t b/t/Test-zone01-A.t new file mode 100644 index 000000000..888e9c8cd --- /dev/null +++ b/t/Test-zone01-A.t @@ -0,0 +1,45 @@ +use Test::More; + +BEGIN { + use_ok( q{Zonemaster::Engine} ); + use_ok( q{Zonemaster::Engine::Test::Zone} ); + use_ok( q{Zonemaster::Engine::Util} ); +} + +my $datafile = q{t/Test-zone01-A.data}; + +if ( not $ENV{ZONEMASTER_RECORD} ) { + die q{Stored data file missing} if not -r $datafile; + Zonemaster::Engine::Nameserver->restore( $datafile ); + Zonemaster::Engine::Profile->effective->set( q{no_network}, 1 ); +} + +Zonemaster::Engine->add_fake_delegation( + 'xa' => { + 'ibdns01.labs.prive.nic.fr' => ['10.1.72.23'], + 'ibdns01-24.labs.prive.nic.fr' => ['10.1.72.24'], + }, + fill_in_empty_oob_glue => 0, +); + +my $zone = Zonemaster::Engine->zone( q{mname-not-master.zone01.xa} ); + +my %res = map { $_->tag => $_ } Zonemaster::Engine::Test::Zone->zone01( $zone ); + +ok( !$res{Z01_MNAME_HAS_LOCALHOST_ADDR}, q{should not emit Z01_MNAME_HAS_LOCALHOST_ADDR} ); +ok( !$res{Z01_MNAME_IS_DOT}, q{should not emit Z01_MNAME_IS_DOT} ); +ok( !$res{Z01_MNAME_IS_LOCALHOST}, q{should not emit Z01_MNAME_IS_LOCALHOST} ); +ok( !$res{Z01_MNAME_IS_MASTER}, q{should not emit Z01_MNAME_IS_MASTER} ); +ok( !$res{Z01_MNAME_MISSING_SOA_RECORD}, q{should not emit Z01_MNAME_MISSING_SOA_RECORD} ); +ok( !$res{Z01_MNAME_NO_RESPONSE}, q{should not emit Z01_MNAME_NO_RESPONSE} ); +ok( !$res{Z01_MNAME_NOT_AUTHORITATIVE}, q{should not emit Z01_MNAME_NOT_AUTHORITATIVE} ); +ok( !$res{Z01_MNAME_NOT_IN_NS_LIST}, q{should not emit Z01_MNAME_NOT_IN_NS_LIST} ); +ok( $res{Z01_MNAME_NOT_MASTER}, q{should emit Z01_MNAME_NOT_MASTER} ); +ok( !$res{Z01_MNAME_NOT_RESOLVE}, q{should not emit Z01_MNAME_NOT_RESOLVE} ); +ok( !$res{Z01_MNAME_UNEXPECTED_RCODE}, q{should not emit Z01_MNAME_UNEXPECTED_RCODE} ); + +if ( $ENV{ZONEMASTER_RECORD} ) { + Zonemaster::Engine::Nameserver->save( $datafile ); +} + +done_testing; \ No newline at end of file diff --git a/t/Test-zone01-B.data b/t/Test-zone01-B.data new file mode 100644 index 000000000..9ca68e36f --- /dev/null +++ b/t/Test-zone01-B.data @@ -0,0 +1,32 @@ +c.root-servers.net 192.33.4.12 {} +c.root-servers.net 2001:0500:0002:0000:0000:0000:0000:000c {} +ns3.multi-mname-not-master.zone01.xa 10.1.72.25 {"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.25","querytime":4,"timestamp":1673537145.20686,"data":"XymEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMywAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA=="}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.25","querytime":4,"timestamp":1673537145.2179,"data":"FF+EAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw="}}}} +ibdns01-24.labs.prive.nic.fr 10.1.72.24 {"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"data":"wRGEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMywAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673537145.20141,"answerfrom":"10.1.72.24"}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.24","querytime":5,"data":"GtiEAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","timestamp":1673537145.21227}}},"X5EINI94ZoFjRgtYt3T+tA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673537145.13933,"data":"vwKEAAABAAEAAAAAAnhhAAACAAHADAACAAEAAA4QAAUCbnPADA==","querytime":4,"answerfrom":"10.1.72.24"}}}} +h.root-servers.net 2001:0500:0001:0000:0000:0000:0000:0053 {} +h.root-servers.net 198.97.190.53 {} +k.root-servers.net 193.0.14.129 {} +k.root-servers.net 2001:07fd:0000:0000:0000:0000:0000:0001 {} +i.root-servers.net 192.36.148.17 {} +i.root-servers.net 2001:07fe:0000:0000:0000:0000:0000:0053 {} +l.root-servers.net 2001:0500:009f:0000:0000:0000:0000:0042 {} +l.root-servers.net 199.7.83.42 {} +ns.xa 10.1.72.23 {"5tcJAMjTWT7L+9Gkt/oJpQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673537145.17403,"data":"2SCEAAABAAEAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA==","querytime":4,"answerfrom":"10.1.72.23"}}},"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","timestamp":1673537145.12615,"data":"5kWEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA==","querytime":5}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":3,"data":"ggSEAAABAAAAAAAAAm5zAnhhAAAcAAE=","timestamp":1673537145.15105}}},"bdVi9vDiXOC8FksS0h6sig":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":3,"timestamp":1673537145.16292,"data":"4kmEAAABAAEAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw==","answerfrom":"10.1.72.23"}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":5,"timestamp":1673537145.1561,"data":"jlmEAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","answerfrom":"10.1.72.23"}}},"gB0pz+6dQrQejm7v8U2Fow":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.18477,"data":"IkGEAAABAAEAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ=="}}},"9f6iUXRSDYRqdxlym2wu7A":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673537145.17927,"data":"jMqEAAABAAAAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","querytime":4,"answerfrom":"10.1.72.23"}}},"VTs4lc27Pxo1zgxNG/k2VQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"XkCEAAABAAAAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.1681,"querytime":4}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"DDeEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX","timestamp":1673537145.14536,"querytime":3}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"timestamp":1673537145.13343,"data":"zU+EAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA=","querytime":4,"answerfrom":"10.1.72.23"}}},"hzrMiitR1PxZG875M3+/nQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"data":"z9aEAAABAAAAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.19038}}}} +e.root-servers.net 192.203.230.10 {} +e.root-servers.net 2001:0500:00a8:0000:0000:0000:0000:000e {} +j.root-servers.net 192.58.128.30 {} +j.root-servers.net 2001:0503:0c27:0000:0000:0000:0002:0030 {} +m.root-servers.net 2001:0dc3:0000:0000:0000:0000:0000:0035 {"Y/IeIwIJb12zVtYwf7MnYA":null} +m.root-servers.net 202.12.27.33 {"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":3,"timestamp":1673537145.1179,"data":"g6OEAwABAAAAAQAAAnhhAAAGAAEAAAYAAQAAAAAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20AeJSzgAAABwgAAAOEAAk6gAABUYA=","answerfrom":"202.12.27.33"}}}} +f.root-servers.net 2001:0500:002f:0000:0000:0000:0000:000f {} +f.root-servers.net 192.5.5.241 {} +a.root-servers.net 2001:0503:ba3e:0000:0000:0000:0002:0030 {} +a.root-servers.net 198.41.0.4 {} +g.root-servers.net 192.112.36.4 {} +g.root-servers.net 2001:0500:0012:0000:0000:0000:0000:0d0d {} +ns2.multi-mname-not-master.zone01.xa 10.1.72.24 {"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.24","timestamp":1673537145.20141,"data":"wRGEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMywAwEcm9vdANuaWMEdGVzdAB4hyM9AAFRgAAAOEAANu6AAAAOEA==","querytime":4}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":5,"timestamp":1673537145.21227,"data":"GtiEAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","answerfrom":"10.1.72.24"}}},"X5EINI94ZoFjRgtYt3T+tA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.24","querytime":4,"timestamp":1673537145.13933,"data":"vwKEAAABAAEAAAAAAnhhAAACAAHADAACAAEAAA4QAAUCbnPADA=="}}}} +ibdns01.labs.prive.nic.fr 10.1.72.23 {"5tcJAMjTWT7L+9Gkt/oJpQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"2SCEAAABAAEAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA==","timestamp":1673537145.17403,"querytime":4,"answerfrom":"10.1.72.23"}}},"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":5,"data":"5kWEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673537145.12615}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":3,"timestamp":1673537145.15105,"data":"ggSEAAABAAAAAAAAAm5zAnhhAAAcAAE=","answerfrom":"10.1.72.23"}}},"bdVi9vDiXOC8FksS0h6sig":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"4kmEAAABAAEAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw==","timestamp":1673537145.16292,"querytime":3,"answerfrom":"10.1.72.23"}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"jlmEAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","timestamp":1673537145.1561,"querytime":5}}},"gB0pz+6dQrQejm7v8U2Fow":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.18477,"data":"IkGEAAABAAEAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ=="}}},"9f6iUXRSDYRqdxlym2wu7A":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"jMqEAAABAAAAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.17927,"querytime":4}}},"VTs4lc27Pxo1zgxNG/k2VQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.1681,"data":"XkCEAAABAAAAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"DDeEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX","timestamp":1673537145.14536,"querytime":3,"answerfrom":"10.1.72.23"}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"data":"zU+EAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA=","timestamp":1673537145.13343,"answerfrom":"10.1.72.23"}}},"hzrMiitR1PxZG875M3+/nQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.19038,"data":"z9aEAAABAAAAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB"}}}} +b.root-servers.net 2001:0500:0200:0000:0000:0000:0000:000b {} +b.root-servers.net 199.9.14.201 {} +ns1.multi-mname-not-master.zone01.xa 10.1.72.23 {"5tcJAMjTWT7L+9Gkt/oJpQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.17403,"data":"2SCEAAABAAEAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGA=="}}},"AlakLnUrh/ZXvFdKsIi0/g":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":5,"data":"5kWEAAABAAEAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAAGAAHADAAGAAEAAA4QACkDbnMxwAwEcm9vdANuaWMEdGVzdAB4hyM8AAFRgAAAOEAANu6AAAAOEA==","timestamp":1673537145.12615,"answerfrom":"10.1.72.23"}}},"hTdaAXoiOEV3SsYc6u3NDw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"ggSEAAABAAAAAAAAAm5zAnhhAAAcAAE=","timestamp":1673537145.15105,"querytime":3,"answerfrom":"10.1.72.23"}}},"bdVi9vDiXOC8FksS0h6sig":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":3,"data":"4kmEAAABAAEAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIFw==","timestamp":1673537145.16292}}},"tAM/Cd6kvSIRftXIpFhUOA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"jlmEAAABAAMAAAAAFm11bHRpLW1uYW1lLW5vdC1tYXN0ZXIGem9uZTAxAnhhAAACAAHADAACAAEAAA4QAAYDbnMxwAzADAACAAEAAA4QAAYDbnMywAzADAACAAEAAA4QAAYDbnMzwAw=","timestamp":1673537145.1561,"querytime":5}}},"gB0pz+6dQrQejm7v8U2Fow":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"timestamp":1673537145.18477,"data":"IkGEAAABAAEAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAAQABwAwAAQABAAAOEAAECgFIGQ==","answerfrom":"10.1.72.23"}}},"9f6iUXRSDYRqdxlym2wu7A":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"jMqEAAABAAAAAAAAA25zMhZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.17927,"querytime":4}}},"VTs4lc27Pxo1zgxNG/k2VQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","data":"XkCEAAABAAAAAAAAA25zMRZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.1681,"querytime":4}}},"VJNyjYTEkq/zkSLzgFptdw":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"data":"DDeEAAABAAEAAAAAAm5zAnhhAAABAAHADAABAAEAAA4QAAQKAUgX","timestamp":1673537145.14536,"querytime":3,"answerfrom":"10.1.72.23"}}},"Y/IeIwIJb12zVtYwf7MnYA":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"answerfrom":"10.1.72.23","querytime":4,"timestamp":1673537145.13343,"data":"zU+EAAABAAEAAAAAAnhhAAAGAAHADAAGAAEAAA4QACQCbnPADARyb290A25pY8AMeIartQABUYAAADhAADbugAAADhA="}}},"hzrMiitR1PxZG875M3+/nQ":{"Zonemaster::Engine::Packet":{"Zonemaster::LDNS::Packet":{"querytime":4,"data":"z9aEAAABAAAAAAAAA25zMxZtdWx0aS1tbmFtZS1ub3QtbWFzdGVyBnpvbmUwMQJ4YQAAHAAB","timestamp":1673537145.19038,"answerfrom":"10.1.72.23"}}}} +d.root-servers.net 199.7.91.13 {} +d.root-servers.net 2001:0500:002d:0000:0000:0000:0000:000d {} diff --git a/t/Test-zone01-B.t b/t/Test-zone01-B.t new file mode 100644 index 000000000..5c7dfdc60 --- /dev/null +++ b/t/Test-zone01-B.t @@ -0,0 +1,45 @@ +use Test::More; + +BEGIN { + use_ok( q{Zonemaster::Engine} ); + use_ok( q{Zonemaster::Engine::Test::Zone} ); + use_ok( q{Zonemaster::Engine::Util} ); +} + +my $datafile = q{t/Test-zone01-B.data}; + +if ( not $ENV{ZONEMASTER_RECORD} ) { + die q{Stored data file missing} if not -r $datafile; + Zonemaster::Engine::Nameserver->restore( $datafile ); + Zonemaster::Engine::Profile->effective->set( q{no_network}, 1 ); +} + +Zonemaster::Engine->add_fake_delegation( + 'xa' => { + 'ibdns01.labs.prive.nic.fr' => ['10.1.72.23'], + 'ibdns01-24.labs.prive.nic.fr' => ['10.1.72.24'], + }, + fill_in_empty_oob_glue => 0, +); + +my $zone = Zonemaster::Engine->zone( q{multi-mname-not-master.zone01.xa} ); + +my %res = map { $_->tag => $_ } Zonemaster::Engine::Test::Zone->zone01( $zone ); + +ok( !$res{Z01_MNAME_HAS_LOCALHOST_ADDR}, q{should not emit Z01_MNAME_HAS_LOCALHOST_ADDR} ); +ok( !$res{Z01_MNAME_IS_DOT}, q{should not emit Z01_MNAME_IS_DOT} ); +ok( !$res{Z01_MNAME_IS_LOCALHOST}, q{should not emit Z01_MNAME_IS_LOCALHOST} ); +ok( $res{Z01_MNAME_IS_MASTER}, q{should emit Z01_MNAME_IS_MASTER} ); +ok( !$res{Z01_MNAME_MISSING_SOA_RECORD}, q{should not emit Z01_MNAME_MISSING_SOA_RECORD} ); +ok( !$res{Z01_MNAME_NO_RESPONSE}, q{should not emit Z01_MNAME_NO_RESPONSE} ); +ok( !$res{Z01_MNAME_NOT_AUTHORITATIVE}, q{should not emit Z01_MNAME_NOT_AUTHORITATIVE} ); +ok( !$res{Z01_MNAME_NOT_IN_NS_LIST}, q{should not emit Z01_MNAME_NOT_IN_NS_LIST} ); +ok( $res{Z01_MNAME_NOT_MASTER}, q{should emit Z01_MNAME_NOT_MASTER} ); +ok( !$res{Z01_MNAME_NOT_RESOLVE}, q{should not emit Z01_MNAME_NOT_RESOLVE} ); +ok( !$res{Z01_MNAME_UNEXPECTED_RCODE}, q{should not emit Z01_MNAME_UNEXPECTED_RCODE} ); + +if ( $ENV{ZONEMASTER_RECORD} ) { + Zonemaster::Engine::Nameserver->save( $datafile ); +} + +done_testing; \ No newline at end of file