#! /usr/bin/perl -w

#	Yann GROSSEL 2005.12.26

use strict;

use SNMP;
use Data::Dumper;

# Configuration

my $key		= 'password';
my $oid		= '.1.3.6.1.4.1.5000.150.101.1';

# Variables

my $sess;
my $r;

#

sub usage()
{
	print "Usage: $0 hostname_of_amavis_box\n";
	exit(3);
}

&usage if not defined($ARGV[0]);

my $box = shift;

SNMP::initMib();

$sess = new SNMP::Session(DestHost => $box, Community => $key, UseSprintValue => 1);

if (not defined($sess)) { print "Impossible d'ouvrir une session SNMP avec $box !\n"; exit(3); }

$r = $sess->get($oid);

if (not defined($r) or $r eq 'NULL') { print "Erreur lors du poll SNMP de $box !\n"; exit(3); }

if ($r eq '"."') { print "Reponse SNMP de $box : format inattendu !\n"; exit(3); }

$r =~ s/^"//g;
$r =~ s/"$//g;

if ($r =~ m/^OK /)
{
	$r =~ s/^OK //;
	print $r . "\n";
	exit(0);
}

if ($r =~ m/^ERR /)
{
	$r =~ s/^ERR //;
	print $r . "\n";
	exit(2);
}

print "Reponse SNMP de $box: format inattendu !\n";
exit(3);

