Blame local/passtest.pl

Packit fcad23
#!/usr/bin/perl
Packit fcad23
$place = ".1.3.6.1.4.1.8072.2.255";   # NET-SNMP-PASS-MIB::netSnmpPassExamples
Packit fcad23
$req = $ARGV[1];                      # Requested OID
Packit fcad23
Packit fcad23
#
Packit fcad23
#  Process SET requests by simply logging the assigned value
Packit fcad23
#      Note that such "assignments" are not persistent,
Packit fcad23
#      nor is the syntax or requested value validated
Packit fcad23
#  
Packit fcad23
if ($ARGV[0] eq "-s") {
Packit fcad23
  open  LOG,">>/tmp/passtest.log";
Packit fcad23
  print LOG "@ARGV\n";
Packit fcad23
  close LOG;
Packit fcad23
  exit 0;
Packit fcad23
}
Packit fcad23
Packit fcad23
#
Packit fcad23
#  GETNEXT requests - determine next valid instance
Packit fcad23
#
Packit fcad23
if ($ARGV[0] eq "-n") {
Packit fcad23
     if (($req eq  "$place")         ||
Packit fcad23
         ($req eq  "$place.0")       ||
Packit fcad23
         ($req =~ m/$place\.0\..*/)  ||
Packit fcad23
         ($req eq  "$place.1"))       { $ret = "$place.1.0";}       # netSnmpPassString.0
Packit fcad23
  elsif (($req =~ m/$place\.1\..*/)  ||
Packit fcad23
         ($req eq  "$place.2")       ||
Packit fcad23
         ($req eq  "$place.2.0")     ||
Packit fcad23
         ($req =~ m/$place\.2\.0\..*/)    ||
Packit fcad23
         ($req eq  "$place.2.1")          ||
Packit fcad23
         ($req eq  "$place.2.1.0")        ||
Packit fcad23
         ($req =~ m/$place\.2\.1\.0\..*/) ||
Packit fcad23
         ($req eq  "$place.2.1.1")        ||
Packit fcad23
         ($req =~ m/$place\.2\.1\.1\..*/) ||
Packit fcad23
         ($req eq  "$place.2.1.2")        ||
Packit fcad23
         ($req eq  "$place.2.1.2.0")) { $ret = "$place.2.1.2.1";}   # netSnmpPassInteger.1
Packit fcad23
  elsif (($req =~ m/$place\.2\.1\.2\..*/) ||
Packit fcad23
         ($req eq  "$place.2.1.3")   ||
Packit fcad23
         ($req eq  "$place.2.1.3.0")) { $ret = "$place.2.1.3.1";}   # netSnmpPassOID.1
Packit fcad23
  elsif (($req =~ m/$place\.2\..*/)  ||
Packit fcad23
         ($req eq  "$place.3"))       { $ret = "$place.3.0";}       # netSnmpPassTimeTicks.0
Packit fcad23
  elsif (($req =~ m/$place\.3\..*/)  ||
Packit fcad23
         ($req eq  "$place.4"))       { $ret = "$place.4.0";}       # netSnmpPassIpAddress.0
Packit fcad23
  elsif (($req =~ m/$place\.4\..*/)  ||
Packit fcad23
         ($req eq  "$place.5"))       { $ret = "$place.5.0";}       # netSnmpPassCounter.0
Packit fcad23
  elsif (($req =~ m/$place\.5\..*/)  ||
Packit fcad23
         ($req eq  "$place.6"))       { $ret = "$place.6.0";}       # netSnmpPassGauge.0
Packit fcad23
  else   {exit 0;}
Packit fcad23
}
Packit fcad23
else {
Packit fcad23
#
Packit fcad23
#  GET requests - check for valid instance
Packit fcad23
#
Packit fcad23
  if ( ($req eq "$place.1.0")     ||
Packit fcad23
       ($req eq "$place.2.1.2.1") ||
Packit fcad23
       ($req eq "$place.2.1.3.1") ||
Packit fcad23
       ($req eq "$place.3.0")     ||
Packit fcad23
       ($req eq "$place.3.0")     ||
Packit fcad23
       ($req eq "$place.3.0")     ||
Packit fcad23
       ($req eq "$place.3.0"))     { $ret = $req; }
Packit fcad23
  else { exit 0;}
Packit fcad23
}
Packit fcad23
Packit fcad23
#
Packit fcad23
#  "Process" GET* requests - return hard-coded value
Packit fcad23
#
Packit fcad23
print "$ret\n";
Packit fcad23
   if ($ret eq "$place.1.0")     { print "string\nLife, the Universe, and Everything\n"; exit 0;}
Packit fcad23
elsif ($ret eq "$place.2.1.2.1") { print "integer\n42\n";                                exit 0;}
Packit fcad23
elsif ($ret eq "$place.2.1.3.1") { print "objectid\n$place.99\n";                        exit 0;}
Packit fcad23
elsif ($ret eq "$place.3.0")     { print "timeticks\n363136200\n";                       exit 0;}
Packit fcad23
elsif ($ret eq "$place.4.0")     { print "ipaddress\n127.0.0.1\n";                       exit 0;}
Packit fcad23
elsif ($ret eq "$place.5.0")     { print "counter\n42\n";                                exit 0;}
Packit fcad23
elsif ($ret eq "$place.6.0")     { print "gauge\n42\n";                                  exit 0;}
Packit fcad23
else                             { print "string\nack... $ret $req\n";                   exit 0;}  # Should not happen