Edit report at https://bugs.php.net/bug.php?id=40816&edit=1
ID: 40816 Updated by: lytbo...@php.net Reported by: ch at westend dot com -Summary: Add "snmptranslate" function +Summary: Perform multiple OID operations in transaction manner -Status: Feedback +Status: Open Type: Feature/Change Request Package: SNMP related Operating System: linux PHP Version: 5.2.1 Assigned To: lytboris Block user comment: N Private report: N New Comment: This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Commits 315862 & 315865 forces OID check before any query is made. Though set method will check type&value in chunked mode. If SET query should be done in multiple chunks (OID array supplied is bigger that max_oids) a warning will be raised. Previous Comments: ------------------------------------------------------------------------ [2011-08-31 08:36:11] lytbo...@php.net Automatic comment from SVN on behalf of lytboris Revision: http://svn.php.net/viewvc/?view=revision&revision=315865 Log: more tuning based on discussion in FR #40816: * parse all OIDs earlier, detect all wrong OIDs before any query is made (GET-operations) * introduce ERRNO_MULTIPLE_SET_QUERIES: warn if request contains more OIDs than max_oids and SET operation (and type&value checks) will be done in chunks. fix set method when request contains more OIDs than max_oids (2nd and subsequent chunk were ignored) ------------------------------------------------------------------------ [2011-08-31 08:28:02] lytbo...@php.net Automatic comment from SVN on behalf of lytboris Revision: http://svn.php.net/viewvc/?view=revision&revision=315862 Log: more tuning based on discussion in FR #40816: * parse all OIDs earlier, detect all wrong OIDs before any query is made (GET-operations) * introduce ERRNO_MULTIPLE_SET_QUERIES: warn if request contains more OIDs than max_oids and SET operation (and type&value checks) will be done in chunks. fix set method when request contains more OIDs than max_oids (2nd and subsequent chunk were ignored) ------------------------------------------------------------------------ [2011-08-30 22:16:56] c...@php.net Well, throwing exceptions everywhere is exactly what I'd with for but to discuss this I opened #55542. This one can be closed as we now have a way to check for the presence of a MIB (more or less convenient). ------------------------------------------------------------------------ [2011-08-30 15:18:14] lytbo...@php.net I have read a bunch of threads on php-dev about extensions throwing exceptions and the last thing I remember that extension should not throw any exception except object creation if there is no way to disable them. Anyway, if to throw exceptions, library will throw an exception for each error, not only parsing error. ------------------------------------------------------------------------ [2011-08-30 15:10:48] ch at westend dot com Now the following works.. @$snmp->get(array($oid1, $oid2)); if ($snmp->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR) { throw new Exception($snmp->getError()); } ... but why is there only a warning? Calling get() with a OID that does not even parses should throw an Exception? Especially as when using OOP, one does not expect having to call getErrno() after every call as we did in the last millenium or even worse don't catch this error. Can you wrapt this into a nice SnmpOidParsingException? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=40816 -- Edit this bug report at https://bugs.php.net/bug.php?id=40816&edit=1