SNMP4J 3.6.4 has been released 2021-12-14T23:00:00Z to fix a DTLS regression and improve TLS NIO operations.
This version includes some fixes that are important when using SNMP4J with SNMP4J-Agent and SNMP4J-Agent-DB with persistent storage of USM keys. All version 3.x users should consider upgrading to at least this or later releases.
[2021-12-15] Version 3.6.4:
- Fixed: Possible busy looping for ready read and write keys in
TLSTMcaused by half-closed TLS connections and Java runtimes that report
NEED_WRAPstatus from SSLEngine instead of
FINISHEDafter processing CLOSED TLS warnings (i.e., after half-closing the connection).
- Fixed: Possible write key busy looping in
NEED_TASKis returned by
SSLEngine.wrapon writing a queued message.
- Fixed: Bug in
DTLSTMhandshake not to finish within timeout causing connect to fail or to be slow.
- Fixed: Possible race condition in
- Improved: JavaDoc.
[2021-12-04] Version 3.6.3:
- Fixed: Clean TLS session closing with
TLSTM.SocketEntry.closeSession()(regression since 3.0.6) and improved
INFOlogging when session is closed.
- Fixed: NPE in
DefaultTlsTmSecurityCallbackif local fingerprint is null.
- Fixed: Possible NPE when sending TLS message without
- Fixed: Deprecated warnings regarding X500 certificates
- Fixed: Corrected accepted issuer DN for
UsmUserEntry.getOwnerReferenceto fix [AS-24].
- Added: Unit test
TLSTMTest.testCloseSession()to test session close and correct
UsmUserEntry.getOwnerReference(Object)to mark the origin of
UsmUserEntryinstances during creation and event processing to avoid cyclic event processing.
- Improved: Removed busy wait in
- Improved: Transport state event sending for closed connections that are closed via TLS messages but not (yet) via closed TCP connections.
[2021-11-23] Version 3.6.2:
- Fixed: Split up
TLSTMunit test in two independent tests for testing with and without certificate revocation checks enabled or not.
[2021-11-15] Version 3.6.1:
- Fixed [SFJ-244]: Removed secret information (keys and passwords) from any log output (by default). To re-activate log output, use
- Added: Default non-printable character support for
- Added: Global OctetString non-printable character escaping using
localEngineIDparameter now uses the localisation engine ID of the provided
UsmUser(if the user is localized) instead using an empty engine ID (which had broken the user credentials if used so far).