SNMP4J 3.9.6 has been released on 2025-07-02T22:00:00Z. It contains a new feature to control how empty contextEngineID
in ScopedPDU
should be treated. In general, an empty contextEngineID
is not allowed in regular confirmed SNMPv3 requests. To improved interoperability with buggy SNMP devices/setups, it could be useful to automatically use the authoritativeEngineID as contextEngineID if the latter is missing. To control this new feature globally use: SNMP4JSettings.setEmptyContextEngineIdStrategy(Snmp4jConfirmedRequestEmptyContextEngineIdStrategy)
.
CHANGES
- Fixed: UsmUser.isLocalizationGranted now returns always true too, if
UsmUser
returnsOID
SnmpConstants.usmNoAuthProtocol
bygetAuthenticationProtocol()
. - Added:
SNMP4JSetting.setEmptyContextEngineIdStrategy(Snmp4jConfirmedRequestEmptyContextEngineIdStrategy)
to let SNMP4J replace the an emptycontentEngineID
in confirmed classScopedPDU
s with the authoritative engine ID either on outgoing (like SNMP4J did it always before version 3.9.6) or incomingPDU
s (new feature). In addition, the replacement can be deactivated completely (to detect errors, for example) or activated for both directions.
[2025-06-24] Version 3.9.5:
- Fixed:
UsmUser.isLocalized()
did return false even if thelocalizationEngineID
was empty (zero lengthOctetString
).