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