Edit report at https://bugs.php.net/bug.php?id=54111&edit=1
ID: 54111 Updated by: lytbo...@php.net Reported by: jthijsse at noxlogic dot nl Summary: read_mib does not return correct response -Status: Assigned +Status: Bogus Type: Bug Package: SNMP related Operating System: * PHP Version: Irrelevant Assigned To: lytboris Block user comment: N Private report: N New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php snmp_read_mib(): this is a Net-SNMP library bug, not php-snmp: read_module_internal() should return some error if parse(fp, NULL) returned NULL. And for logging facility you may open a new bug report and attach the patch you propose. Previous Comments: ------------------------------------------------------------------------ [2011-02-27 18:04:32] jthijsse at noxlogic dot nl Description: ------------ snmp_read_mib() returns a boolean depending on success of the read. Internally, the reab_mib() call returns either NULL or the root of the mib-tree, depending on succes. This problem here is that read_mib ONLY returns NULL when the mib-file is not found and not when there is a parse-error inside the file. In that case it will just return the mib root tree (which is !null) and thus it will return true back to the php user. As a sidenote (maybe a different bug): snmp_disable_stderrlog() does not work 100% for disabling snmp error logging. Net-snmp wants at least 1 type of log handler active at all times. A simple fix would be to add snmp_enable_calllog(), so it would use the callback handler for logging (and since there are no handlers registered, no logging would occur). It would be nicer though to actually have a callback registered which can return info back to php level (snmp_[clear|get]_log for instance). The code for this functional and can be supplied as a patch against php5.3 and the new OO api in trunk. Test script: --------------- var_dump(snmp_read_mib("cannotfindthisfile")); var_dump(snmp_read_mib("incorrectmibfile")); Expected result: ---------------- bool(false) bool(false) Actual result: -------------- bool(false) Warning: snmp_read_mib(): Error while reading MIB file '%s': No such file or directory in %s on line %d bool(true) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=54111&edit=1