#! /usr/bin/perl use strict ; use warnings ; package Probe::Ttl_cert ; use base 'Probe' ; # ttl_cert_ldap days ttl_cert ldap # ttl_cert_http days ttl_cert http sub ITEMS { [ { name => 'ttl_cert_http' , kind => 'days' , args => [ qw(http) ] } , { name => 'ttl_cert_ldap' , kind => 'days' , args => [ qw(ldap) ] } ] } ; sub main { my $self = shift ; my $itms = shift ; # items to probe : [ item, ... ] my $clnt = shift ; # main::CLIENT my $path = $self -> path ; my $prog = "$path/ttl_cert.pl" ; for my $item ( sort { $a -> name cmp $b -> name } @$itms ) { my $args = $item -> args ; my $hnam = $item -> hnam ; my $name = $item -> name ; my ( $err, $xit, $sig, @lines ) = Probe::Util::run_prog ( $prog, $hnam, @$args ) ; if ( $err ) { $item -> perr ( $err ) ; } else { my $date = $lines [ 0 ] ; chomp $date ; OBB::TT ( " name %s date %s", $name, $date ) ; my $val = Util::secs4date $date ; $item -> set_val ( defined $val ? $val - time : undef ) ; } } } 1 ;