1package Net::DNS::Check::Test::soa_refresh_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 24sub test() 25{ 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 $soa_refresh = $nsquery->soa_refresh(); 36 my $ns_name = $nsquery->ns_name(); 37 $compare_hash{$soa_refresh}++; 38 $test_detail->{$ns_name}->{desc} = $soa_refresh; 39 } 40 41 42 if ((scalar keys %compare_hash) > 1) { 43 $test_status = 0; 44 } 45 46 $self->{test_status} = $test_status; 47 $self->{test_detail} = $test_detail; 48 49 return $test_status; 50} 51 521; 53 54__END__ 55 56=head1 NAME 57 58Net::DNS::Check::Test::soa_refresh_compare - Compare the refresh time in SOA RR of all authoritative name servers 59 60=head1 SYNOPSIS 61 62C<use Net::DNS::Check::Test::soa_refresh_compare>; 63 64=head1 DESCRIPTION 65 66Compare the refresh time in SOA RR of all authoritative name servers 67 68=head1 METHODS 69 70=head1 COPYRIGHT 71 72Copyright (c) 2005 Lorenzo Luconi Trombacchi - IIT-CNR 73 74All rights reserved. This program is free software; you may redistribute 75it and/or modify it under the same terms as Perl itself. 76 77=head1 SEE ALSO 78 79L<perl(1)> 80 81=cut 82 83