![]()
![]() |
Fix for NullPointerException that would occur if a request is sent using either getCompleteResponse() or setAttemptComplete(true) of SnmpTarget, and if its response is not received and snmpSilentDrops counter is not incremented too in the agent.
Fix for ArrayIndexOutOfBoundsException that would occur on sending multiple variable requests using multithreaded SnmpTarget.
If more than one SnmpRequestServer object are created using the constructor with arguments localPort = 0 and a non-null sessionName (same name for all such objects), and then if releaseResources() is called for any one of these objects, the SNMP requests sent further using any other object of such kind would fail with the error "The Session has not been established". This has been fixed.
Fix for IllegalThreadStateException that would happen if SnmpPoller is instantiated in different threads simultaneously.
SnmpTable polling would retrieve rows from the table only once. This has been fixed.
Fix for NullPointerException that occurs if MibTree class is extended, and super() method is called in user defined class. This issue is fixed.
Fix for the method SnmpServer.manage_v3_tables() not to throw exception in success case.
Added support for user-defined error codes in SnmpTable.
Fix for improper behavior of SnmpTrapReceiver.createUserEntry() when the userEntry added is of the remote entity (SNMP agent).
Fix for the error message "Varbinds size less than one" that occurs if a Get request is done using SnmpTarget with an oidList of all incorrect oids and using setAttemptPartial(true).
Fix for NullPointerException that would occur if an incorrect write-community is set in the SnmpTable using setWriteCommunity() and if addRow() is called by passing valid arguments.
Fix for SnmpTarget.snmpGetAllVariableBindings() returning null with error being "No Error" in case of SNMPv1, with SnmpTarget.setAttemptPartial(true) and the first OID in the oidList being incorrect.
Timeout or Retries that are set on high-level bean would affect the timeout and retries of create_v3_tables()/async_create_v3_tables() of other bean instances. This has been fixed.
Fix for the error "The Session has not been established" that would occur in SnmpTarget/SnmpRequestServer if concurrent threads send SNMP requests using multiple bean instances and then invoke releaseResources().
Fix for ArrayIndexOutOfBoundsException that would occur if startPolling() is called after calling SnmpTable.setTableOID() method.
Support for CFB-AES-128, 192, 256 and CBC-3DES privacy protocols for the method SnmpRequestServer.async_create_v3_tables().
Support for CFB-AES-128, 192, 256 and CBC-3DES privacy protocols in RMI, CORBA, EJB.
Fix to set error-index to zero for the partial request (request sent after removing the varBind that caused error while processing the request).
Included the objects entry in the Description Window which corresponds to Notification Type for the selected mib node from the MibBrowser.
Accepting SNMPv3 discovery response from any transport address belonging to the authoritative SNMP engine.
Allowed zero length userName for SNMPv3 discovery requests.
Handled an SQLException in SNMP API that would be thrown while closing a Statement object whose Connection object is already closed/timed-out.
Enabling broadcast on SnmpPDU is left to the API user but enabling broadcast is restricted in case of SNMPv3.
Fix for NullPointerException that would occur if SASession could not construct an SNMP message from the received malformed packet.
Fix for ArithmeticException (divide by zero) that would occur while adding / updating the USM user entries to database.
Enhanced the method SnmpPDU.getError() to return proper error string for all possible integer values of error code.
Fix for NullPointerException in SnmpSession thread that would occur on receiving an SNMPv3 Report PDU with empty varBindList.
SNMP message with a variable of type Counter/Unsigned32 and value > 2^31-1 but the content encoded with 4 octets only are accepted and decoded appropriately.
UsmUser validation is handled properly in USMUtils.init_v3_parameters().
Fixed the possibility of same requestID being set on more than one request PDU when more than one instance of SnmpAPI are used.
On receiving usm Reports, a message including UserName in addition to RemoteHost and RemotePort is passed to SnmpClient's debugPrint().
Fix for "java.io.IOException: Message too long" that would occur if the SNMP message being sent is of size ranging from 65508 to 65535.
Fix for SnmpSession.close(), sometimes, not freeing the associated UDP port that resulted in java.net.SocketException: Too many open files occured.
Fix to print proper debug messages for SnmpClient's debugPrint() method when authenticating received v3 Traps.
In case of few usm errors, just the SnmpClient's debugPrint method is invoked, but the received pdu is not passed to SnmpClient. This was fixed.
Fix to drop incoming SNMP messages with unknown SNMP command, and to increment snmpInASNParseErrs counter.
Handled the issue - DatagramSocket being closed unexpectedly.
Fix to avoid starting new SnmpCallback, once SnmpSession.close() closes any existing SnmpCallback.
If a response / report PDU is discarded due to its malformed non-header part, and if the PDU corresponds to an SnmpClient that is registered using the method SnmpSession.addSnmpClientWithID(), the SnmpClient will not be notified with null PDU. This has been fixed.
Explicit serialVersionUID has been defined in the classes, MibOperations, MibNode and MibModule, to avoid unexpected InvalidClassException during deserialization.
If a TRAP-TYPE is defined with a name starting with upper-case letter, the MIB parser, in all parsing levels except CRITICAL, would neither load the TRAP-TYPE nor give the related error. This has been fixed.
Fix for FileNotFoundException that would occur on loading MIBs in compiled mode for the second time, even if the MIB file is present in the search path.
Fix to properly determine of SMI version of a MIB module.
Fix for ArrayIndexOutOfBoundsException that would occur if value of indices length is not properly handled in table columns.
Fix to allow decoding a variable of type InetAddress, in the received PDU, as plain octet-string whenever the PDU has the InetAddress variable encoded as plain octet-string.
Fix for the method getModuleNameDefinitions() to return correct module names, if the word "END" occurs as a substring of another word in the module definition.
Fix for the parse error that is thrown if an SMIv1 table definition doesn't contain INDEX/AUGMENTS clause.
Fix for FileNotFoundException that would occur when loading a MIB file that needs a std TC import to be loaded but is not present in search path.
Length is appended even for the implied index, in a column oid, when mibOps.createVariableBinding() is used. This has been fixed.
RFC 4001 compliance has been included - Provided out-of-the-box support for the textual-conventions InetAddressIPv4, InetAddressIPv4z, InetAddressIPv6 and InetAddressIpv6z at all levels of data handling. Also a new class SnmpIpv4Address is introduced to handle the textual-conventions InetAddressIPv4 and InetAddressIPv4z.
Provided a new static method SnmpException.exceptionString(int error) to handle all possible integer values of error code.
Added a new method setWaitTimeToRetry(int) in SnmpSession class that can be used to introduce an optional time delay before retrying a timed-out request.
Added two new methods, setTimeoutPolicy(TimeoutPolicy) and restoreDefaultTimeoutPolicy(), in SnmpServer class in order to facilitate using custom TimeoutPolicy in high-level api.
Added a new method updateUsmTable() in USMUtils class to update usmUser parameters (auth and priv keys) in USMUserTable whenever required.
Name changed in appropriate places from "AdventNet" to "ZOHO Corp" / "WebNMS" to reflect our company's name change and to highlight the "WebNMS" brand.
![]()
![]() |