Blame local/passtest.pl

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