59 lines
1.4 KiB
Perl
59 lines
1.4 KiB
Perl
|
|
use strict;
|
||
|
|
use warnings;
|
||
|
|
|
||
|
|
use File::Basename;
|
||
|
|
use File::Spec::Functions qw( rel2abs );
|
||
|
|
use lib dirname( rel2abs( $0 ) );
|
||
|
|
use TestUtil::DSL;
|
||
|
|
|
||
|
|
testing_test_case 'Address', 'address03';
|
||
|
|
|
||
|
|
all_tags qw(NAMESERVER_IP_PTR_MATCH
|
||
|
|
NAMESERVER_IP_PTR_MISMATCH
|
||
|
|
NAMESERVER_IP_WITHOUT_REVERSE
|
||
|
|
NO_RESPONSE_PTR_QUERY);
|
||
|
|
|
||
|
|
# Common hint file (test-zone-data/COMMON/hintfile)
|
||
|
|
root_hints 'ns1' => [ qw(127.1.0.1 fda1:b2:c3::127:1:0:1) ],
|
||
|
|
'ns2' => [ qw(127.1.0.2 fda1:b2:c3::127:1:0:2) ];
|
||
|
|
|
||
|
|
zone_name_template '{SCENARIO}.{TESTCASE}.xa';
|
||
|
|
|
||
|
|
# Test zone scenarios
|
||
|
|
scenario 'ALL-NS-HAVE-PTR-{1..2}' => sub {
|
||
|
|
expect 'NAMESERVER_IP_PTR_MATCH';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'NO-NS-HAVE-PTR' => sub {
|
||
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'INCOMPLETE-PTR-{1..2}' => sub {
|
||
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'NON-MATCHING-NAMES' => sub {
|
||
|
|
expect 'NAMESERVER_IP_PTR_MISMATCH';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'PTR-IS-GOOD-CNAME-{1..2}' => sub {
|
||
|
|
expect 'NAMESERVER_IP_PTR_MATCH';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'PTR-IS-DANGLING-CNAME' => sub {
|
||
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
||
|
|
forbid_others;
|
||
|
|
};
|
||
|
|
|
||
|
|
scenario 'PTR-IS-ILLEGAL-CNAME' => sub {
|
||
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
||
|
|
forbid 'NAMESERVER_IP_PTR_MATCH';
|
||
|
|
};
|
||
|
|
|
||
|
|
no_more_scenarios;
|