SNMP4J 3.7.4 and 2.8.15 have been released 2022-11-10T23:00:00Z to add a maximum outbound message length limit on TransportMapping
to more precisely control outbound message sizes as required to fix a DoS/OutOfMemory bug in SNMP4J-AgentX prior to 3.6.0 and 2.7.3 respectively.
CHANGES SNMP4J 3.7.4
- Added [AS-38]:
TransportMapping.getMaxOutboundMessageSize
to allow specifying an upper limit for outgoing messages per TransportMapping. Before this version, theTransportMapping.getMaxInboundMessageSize
was used in most cases to limit the outbound traffic. Although, the implementation of the new outbound limit defaults to the inbound limit, the outbound limit is now used to limit the maximum message size inCommandResponderEvent
provided by theCommandListener.processPdu
interface in any case. - Added: Unit test for
TableUtils
that tests sparse table functionality with missing columns and heavily changing rows/column availability in simulated agent during retrieval. - Improved:
TableEvent
instances for rows fully received by the agent, but last column is not returned by the agent (i.e., a sparse table with missing last column) are now returned immediately, ifTableUtils
detect, that the last column is empty. Before, all rows were cached until the whole table was fully retrieved in this case. - Added:
TableUtils.setRowLimit
to limit the total rows returned byTableUtils.getTable(..)
. Default is “no limit” (0) as before. - Fixed: JavaDoc
gif
image links in package HTML files (moved JavaDoc gifs tosrc/main/javadoc
).
CHANGES SNMP4J 2.8.15
- Added [AS-38]:
TransportMapping.getMaxOutboundMessageSize
to allow specifying an upper limit for outgoing messages per TransportMapping. Before this version, theTransportMapping.getMaxInboundMessageSize
was used in most cases to limit the outbound traffic. Although, the implementation of the new outbound limit defaults to the inbound limit, the outbound limit is now used to limit the maximum message size inCommandResponderEvent
provided by theCommandListener.processPdu
interface in any case. - Added: Unit test for
TableUtils
that tests sparse table functionality with missing columns and heavily changing rows/column availability in simulated agent during retrieval. - Improved:
TableEvent
instances for rows fully received by the agent, but last column is not returned by the agent (i.e., a sparse table with missing last column) are now returned immediately, ifTableUtils
detect, that the last column is empty. Before, all rows were cached until the whole table was fully retrieved in this case.