snmp-object-errno-errstr.phpt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. --TEST--
  2. OO API: getErrno & getError methods
  3. --CREDITS--
  4. Boris Lytochkin
  5. --SKIPIF--
  6. <?php
  7. require_once(dirname(__FILE__).'/skipif.inc');
  8. ?>
  9. --FILE--
  10. <?php
  11. require_once(dirname(__FILE__).'/snmp_include.inc');
  12. //EXPECTF format is quickprint OFF
  13. snmp_set_enum_print(false);
  14. snmp_set_quick_print(false);
  15. snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
  16. snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
  17. echo "SNMP::ERRNO_NOERROR\n";
  18. $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
  19. var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
  20. var_dump($session->getErrno() == SNMP::ERRNO_NOERROR);
  21. var_dump($session->getError());
  22. $session->close();
  23. echo "SNMP::ERRNO_TIMEOUT\n";
  24. $session = new SNMP(SNMP::VERSION_2c, $hostname, 'timeout_community_432', $timeout, $retries);
  25. $session->valueretrieval = SNMP_VALUE_LIBRARY;
  26. var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
  27. var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
  28. var_dump($session->getError());
  29. $session->close();
  30. echo "SNMP::ERRNO_ERROR_IN_REPLY\n";
  31. $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
  32. var_dump(@$session->get('.1.3.6.1.2.1.1.1.110'));
  33. var_dump($session->getErrno() == SNMP::ERRNO_ERROR_IN_REPLY);
  34. var_dump($session->getError());
  35. $session->close();
  36. echo "SNMP::ERRNO_GENERIC\n";
  37. $session = new SNMP(SNMP::VERSION_3, $hostname, 'somebogususer', $timeout, $retries);
  38. $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
  39. var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
  40. var_dump($session->getErrno() == SNMP::ERRNO_GENERIC);
  41. var_dump($session->getError());
  42. var_dump(@$session->get(array('.1.3.6.1.2.1.1.1.0')));
  43. $session->close();
  44. echo "SNMP::ERRNO_OID_PARSING_ERROR\n";
  45. echo "GET: Single wrong OID\n";
  46. $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
  47. var_dump(@$session->get('.1.3.6.1.2..1.1.1.0'));
  48. var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR);
  49. var_dump($session->getError());
  50. $session->close();
  51. echo "GET: Miltiple OID, one wrong\n";
  52. $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
  53. var_dump(@$session->get(array('.1.3.6.1.2.1.1.1.0', '.1.3.6.1.2..1.1.1.0')));
  54. var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR);
  55. var_dump($session->getError());
  56. $session->close();
  57. echo "WALK: Single wrong OID\n";
  58. $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
  59. var_dump(@$session->walk('.1.3.6.1.2..1.1'));
  60. var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR);
  61. var_dump($session->getError());
  62. $session->close();
  63. echo "SET: Wrong type\n";
  64. $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  65. $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
  66. $oid1 = 'SNMPv2-MIB::sysContact.0';
  67. var_dump(@$session->set($oid1, 'q', 'blah'));
  68. var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR);
  69. var_dump($session->getError());
  70. echo "SNMP::ERRNO_MULTIPLE_SET_QUERIES\n";
  71. $oid1 = 'SNMPv2-MIB::sysContact.0';
  72. $oid2 = 'SNMPv2-MIB::sysLocation.0';
  73. $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  74. $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
  75. $session->max_oids = 1;
  76. $oldvalue1 = $session->get($oid1);
  77. $newvalue1 = $oldvalue1 . '0';
  78. $oldvalue2 = $session->get($oid2);
  79. $newvalue2 = $oldvalue2 . '0';
  80. $z = @$session->set(array($oid1, $oid2), array('s','s'), array($newvalue1, $newvalue2));
  81. var_dump($z);
  82. var_dump($session->getErrno() == SNMP::ERRNO_MULTIPLE_SET_QUERIES);
  83. var_dump($session->getError());
  84. var_dump(($session->get($oid1) === $newvalue1));
  85. var_dump(($session->get($oid2) === $newvalue2));
  86. $z = @$session->set(array($oid1, $oid2), array('s','s'), array($oldvalue1, $oldvalue2));
  87. var_dump($z);
  88. var_dump($session->getErrno() == SNMP::ERRNO_MULTIPLE_SET_QUERIES);
  89. var_dump($session->getError());
  90. var_dump(($session->get($oid1) === $oldvalue1));
  91. var_dump(($session->get($oid2) === $oldvalue2));
  92. var_dump($session->close());
  93. ?>
  94. --EXPECTF--
  95. SNMP::ERRNO_NOERROR
  96. string(%d) "%s"
  97. bool(true)
  98. string(0) ""
  99. SNMP::ERRNO_TIMEOUT
  100. bool(false)
  101. bool(true)
  102. string(%d) "No response from %s"
  103. SNMP::ERRNO_ERROR_IN_REPLY
  104. bool(false)
  105. bool(true)
  106. string(%d) "Error in packet %s"
  107. SNMP::ERRNO_GENERIC
  108. bool(false)
  109. bool(true)
  110. string(%d) "Fatal error: Unknown user name"
  111. bool(false)
  112. SNMP::ERRNO_OID_PARSING_ERROR
  113. GET: Single wrong OID
  114. bool(false)
  115. bool(true)
  116. string(46) "Invalid object identifier: .1.3.6.1.2..1.1.1.0"
  117. GET: Miltiple OID, one wrong
  118. bool(false)
  119. bool(true)
  120. string(46) "Invalid object identifier: .1.3.6.1.2..1.1.1.0"
  121. WALK: Single wrong OID
  122. bool(false)
  123. bool(true)
  124. string(42) "Invalid object identifier: .1.3.6.1.2..1.1"
  125. SET: Wrong type
  126. bool(false)
  127. bool(true)
  128. string(129) "Could not add variable: OID='.iso.org.dod.internet.mgmt.mib-2.system.sysContact.0' type='q' value='blah': Bad variable type ("q")"
  129. SNMP::ERRNO_MULTIPLE_SET_QUERIES
  130. bool(true)
  131. bool(true)
  132. string(74) "Can not fit all OIDs for SET query into one packet, using multiple queries"
  133. bool(true)
  134. bool(true)
  135. bool(true)
  136. bool(true)
  137. string(74) "Can not fit all OIDs for SET query into one packet, using multiple queries"
  138. bool(true)
  139. bool(true)
  140. bool(true)