-if ( -e "/var/lib/misc/thishost/passwd.tdb" ) {
- $f = "/var/lib/misc/thishost/passwd.tdb";
-} else {
- my $hostname = `hostname -f`;
- chomp $hostname;
- $hostname =~ m/^([a-z]+(?:\.[a-z]+)+)$/;
- die "Weird hostname '$hostname'\n" unless defined $1;
- $hostname = $1;
- if ( -e "/var/lib/misc/$hostname/passwd.tdb" ) {
- $f = "/var/lib/misc/$hostname/passwd.tdb";
+sub check_age {
+ my ($f) = @_;
+ my @stat = stat($f) or die ("Cannot stat $f: $!\n");
+ my $age = time - $stat[10];
+ my $hage;
+ if ($age > 48 * 3600) {
+ $hage = sprintf("%.1f days", $age / 24 / 3600);
+ } elsif ($age > 3600) {
+ $hage = sprintf("%.1f hours", $age / 3600);
+ } else {
+ $hage = sprintf("%d minutes", $age / 60);
+ };
+
+ if ($age > 60*60) {
+ return [$CODE{'WARNING'}, "WARNING: ud-ldap info is $hage old"];