AGENT++ version 5.0.0 has been released on 2026-08-16T22:00:00Z with support for TLS and TCP transport mappings as well as property file based initial agent configuration (using the same format than SNMP4J-Agent).
CHANGES
- Added: TCP and TLS transport support (by
Snmpx.add_tcp_transportand Snmpx.add_tls_transport). Implement TCP and TLS support foratm_mib andproxy_forwarderexample. - Added:
PropertyMibConfigimplemented inmib_config.h|.cppwhich allows configuring theMibcontent using a property configuration file. - SECURITY: Replaced all remaining
sprintfusages withsnprintf. - Fixed: Deadlock when a
RequestListwas destroyed (or remove_request was called) while it still contained requests that had been received but never passed toMib::process_request. Such requests are still locked by the
LockQueuethread, so~Synchronizedblocked forever inpthread_mutex_lock on a monitor it does not own.~RequestListnow drains the pending requests, unlinking each request before releasing its lock, and remove_request releases the lock acquired by add_request before deleting the request. - Fixed: Invalid memory read of size
8atAgentpp::LockQueue::run()due to a race condition between the thread removing aLockRequestin run() and logging its pointer and the owner of theLockRequestdeleting it. - Improved:
~Synchronizedno longer waits without a timeout for a monitor that is still locked by another thread when the instance is destroyed. It now waits at mostAGENTPP_SYNCHRONIZED_DESTROY_TIMEOUT milliseconds (1000by default) and logs an error instead of blocking the destroying thread forever. - Improved:
cmakebuild now better finds SNMP++ headers and libraries. - Removed: #pragma implementation from
src/mib_mab.cppwhich has no purpose anymore (since cleanup in v4.0.4).