snmp-object-errno-errstr.phpt 5.0 KB

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