SNMP4J Releases 3.7.5 and 2.8.16

Upgrades 3.7.5 and 2.8.16 of SNMP4J have been released 2023-03-05T23:00:00Z to fix an issue with TLS inbound processing when several TLS packets are received in a single TCP packet. In addition, these release contain smaller fixes and improvements.

CHANGES

Version 3.7.5:

  • Fixed: TLSTM.readMessage did not read messages in the incoming net buffer all at-once when there are more than one TLS message sent in a single TCP packet.
  • Fixed: SnmpConstants.snmp4jStatsRequestWaitTime incorrectly computed if request needs an engine ID discovery.
  • Improved: Possible race condition in AbstractTransportServerThread.doServer, when agent response is returned faster than SNMP4J activates OP_READ key selector after the confirmed message sending. This issue has never been seen to be relevant in practise because Java NIO needs to report an incorrect 0 key update count then.
  • Added: ResponseEventFactory now allows central processing of responses and their requests.
  • Improved: MPv3.Cache logging.
  • Improved: Request and response debug logging including request duration in nanoseconds.
  • Improved: A WARN log will be emitted if the active LogFactory is overwritten (reset) by a new one using LogFactory.setFactory.

Version 2.8.16:

  • Fixed: TLSTM.readMessage did not read messages in the incoming net buffer all at-once when there are more than one message sent in a single TCP packet.
  • Fixed: Race-condition in TLSTM.writeMesage that might register the read key after the response already arrived, which will suppress the processing of the response until is timed out.
  • Fixed: NIO key Selector might not count updated keys correctly (maybe race conditions inside NIO, but API contract does not guarantee it anyway). To mitigate this possible issue of ignoring available data on TCP channels, the code has changed to ignore the “updated channels” return value of the select() call.
  • Improved: Back ported SNMP4J 3.x ConsoleAdapter logger to 2.8.x to support timestamped logging.
  • Improved: MPv3.Cache logging.
  • Improved: A WARN log will be emitted if the active LogFactory is overwritten (reset) by a new one using LogFactory.setFactory.