1package Net::DNS::Check::Test::mx_compare; 2 3use strict; 4use vars qw(@ISA $VERSION); 5 6@ISA = qw(Net::DNS::Check::Test); 7 8 9sub new { 10 my ($class) = shift; 11 12 my ($self) = bless {}, $class; 13 14 if ( @_ ) { 15 $self->_process_args(@_); 16 } 17 18 $self->test(); 19 20 return $self; 21} 22 23 24 25sub test() { 26 my ($self) = shift; 27 28 # return unless ( $self->{config} ); 29 30 my $test_status = 1; 31 my %compare_hash; 32 my $test_detail = {}; 33 34 foreach my $nsquery ( @{$self->{nsquery}} ) { 35 my @mx_list = sort $nsquery->mx_list(); 36 my $ns_name = $nsquery->ns_name(); 37 my $mxkey = lc(join('|', @mx_list)); 38 39 if ($mxkey) { 40 $compare_hash{$mxkey}++; 41 } 42 43 $test_detail->{$ns_name}->{desc} = join(' ', @mx_list); 44 } 45 46 if ((scalar keys %compare_hash) > 1) { 47 $test_status = 0; 48 } 49 50 $self->{test_status} = $test_status; 51 $self->{test_detail} = $test_detail; 52 53 return $test_status; 54} 55 561; 57 58__END__ 59 60=head1 NAME 61 62Net::DNS::Check::Test::mx_compare - Compare the MX RR found 63 64=head1 SYNOPSIS 65 66C<use Net::DNS::Check::Test::mx_compare>; 67 68=head1 DESCRIPTION 69 70Compare the MX RR found 71 72=head1 METHODS 73 74=head1 COPYRIGHT 75 76Copyright (c) 2005 Lorenzo Luconi Trombacchi - IIT-CNR 77 78All rights reserved. This program is free software; you may redistribute 79it and/or modify it under the same terms as Perl itself. 80 81=head1 SEE ALSO 82 83L<perl(1)> 84 85=cut 86 87