X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-zone-rrsig-expiration-many;h=b97cb09fdb653e6af840749eb68b42b843f3df10;hb=8cf8918ba89bcdbf921a1554c5592a3dcda1c323;hp=c411e4e7363b71cd07c13a1695417d0d5051df2f;hpb=0c98805e2a7a20c045fb7212e352fcab4c4e26dd;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-zone-rrsig-expiration-many b/dsa-nagios-checks/checks/dsa-check-zone-rrsig-expiration-many index c411e4e..b97cb09 100755 --- a/dsa-nagios-checks/checks/dsa-check-zone-rrsig-expiration-many +++ b/dsa-nagios-checks/checks/dsa-check-zone-rrsig-expiration-many @@ -71,6 +71,7 @@ sub check_one { my @cmd = ($check, '-w', $params->{'warn'}, '-c', $params->{'critical'}); push(@cmd, '-r', $extra->{'initial_refs'}) if exists $extra->{'initial_refs'}; + push(@cmd, '-d') if $params->{'debug'}; push(@cmd, $zone); open(P, '-|', @cmd) or die ("Cannot run $CHECK for $zone\n"); my @p =

; @@ -82,13 +83,14 @@ sub check_one { return ($res, \@p); } -my $USAGE = "Usage: $PROGRAM_NAME [--help] | [--timeout=] [--warn=] [--critical=] [--geozonedir=] \n"; +my $USAGE = "Usage: $PROGRAM_NAME [--help] | [--debug] [--timeout=] [--warn=] [--critical=] [--geozonedir=] \n"; my $params = { 'timeout' => 45, 'warn' => '14d', 'critical' => '7d' }; Getopt::Long::config('bundling'); GetOptions ( '--help' => \$params->{'help'}, '--timeout=i' => \$params->{'timeout'}, '--warn=s' => \$params->{'warn'}, + '--debug' => \$params->{'debug'}, '--critical=s' => \$params->{'critical'}, '--geozonedir=s' => \$params->{'geozonedir'}, ) or die ($USAGE); @@ -116,13 +118,12 @@ opendir INDIR, '.' or die ("Cannot opendir $INDIR\n"); for my $file (sort {$a cmp $b} (readdir INDIR)) { next if ( -l "$file" ); next unless ( -f "$file" ); - next if $file =~ /^(dsset|keyset)-/; - my $do_dnssec = 0; + my $do_dnssec = 1; my $initial_refs = undef; open(F, '<', $file) or die ("Cannot open $file: $!\n"); for () { - if (/^; wzf:\s*dnssec\s*=\s*1\s*$/) { $do_dnssec = 1; } + if (/^; wzf:\s*dnssec\s*=\s*0\s*$/) { $do_dnssec = 0; } if (/^; check-initial-refs\s*=\s*(.*?)\s*$/) { $initial_refs = $1; } }; close F; @@ -144,18 +145,9 @@ if (defined $params->{'geozonedir'}) { for my $file (sort {$a cmp $b} (readdir INDIR)) { next unless $file =~ /\.zone$/; - open (F, '<', $file) or die "Cannot open $file: $!\n"; - my ($zc, undef, undef) = Load(join "", ()); - close F; - my $zone = basename($file, '.zone'); - - if ($zc->{'dnssec'}) { - die "Duplicate zone $zone?\n" if exists $dnsseczones{$zone}; - $dnsseczones{$zone} = {}; - } else { - push @{$count->{'unsigned'}}, $zone; - }; + die "Duplicate zone $zone?\n" if exists $dnsseczones{$zone}; + $dnsseczones{$zone} = {}; } closedir(INDIR); } @@ -197,7 +189,7 @@ for my $k (keys %$count) { @{$count->{$k}} = sort {$a cmp $b} @{$count->{$k}}; } -my $exit; +my $exit = 0; my %state_mapping = ( 'unknown' => 255, 'critical' => 2,