Changelog#

Revision 0.4.5, released 16-07-2024#

  • Bumped dependencies. Python 3.8 is now the minimum required version.

Revision 0.4.4, released 30-12-2018#

  • Copyright notice bumped up to year 2019

  • Fixed pysnmp/pyasn1 debugging flags print out in –help to work with newer pyasn1/pysnmp

Revision 0.4.3, released 13-12-2018#

  • Default daemon syslog service destination to a local socket

  • Updated documentation on daemons command-line options

  • Added snmpfwd, syslog and null destinations to the logger plugin, most parameters has been defaulted

  • Fixed timed log file rotation to respect log file creation time when computing next rotation time

  • Fixed possible file permission issues by initializing logger and plugin subsystems under reduced user privileges

Revision 0.4.2, released 14-11-2018#

  • SNMP error logging improved

  • Fixed snmpfwd-server crash when multiple SNMP credentials are configured for a single transport endpoint

Revision 0.4.1, released 18-10-2018#

  • Added IPv6 support to SNMP engines built into snmpfwd server and client effectively allowing IP version translation of the SNMP traffic

  • Added IPv6 support to trunk connections

  • Missing snmp-security-engine-id option implemented in the server part to make SNMPv3 TRAP forwarding operational

  • Added SNMPv2c->SNMPv3 command forwarder example configuration

  • TRAP forwarding examples made more versatile

  • Bumped upper Python version to 3.7

  • Fixed v1->v2c TRAP PDU translation in snmpfwd server

Revision 0.3.3, released 16-04-2018#

  • Added a workaround to preserve log files rotation time on process restart

  • Added support ‘S’ for seconds and ‘M’ for minutes in log file rotation syntax

  • Added note on SNMPv3 TRAP configuration

Revision 0.3.2, released 07-03-2018#

  • Copyright notice extended to the year 2018

  • Fixed crash in log formatting routine

  • Fixed bug in key aliasing in logging

Revision 0.3.1, released 22-12-2017#

  • HMAC-SHA-2 authentication and strong AES encryption protocols support added

  • The pycryptodome dependency replaced with pycryptodomex as it is recommended by the upstream to avoid unwanted interference

  • Migrated references from SourceForge

  • Fixed crash during TRAPv1 handling at the server part

  • Sphinx docs layout updated

Revision 0.2.2, released 04-07-2017#

  • GETBULK PDU support added to the oidfilter plugin

  • Two-digit subsecond precision implemented across all logs

  • Unique, system-wide request identifier implemented under the name of callflow-id

  • System logging reworked for uniformity and usability

  • Fix to catch errors coming from SNMP engine when sending malformed message SNMP

  • Fix to snmp-peer-timeout option documentation and examples

  • Fix to the server to handle the case of missing response PDU coming from client

Revision 0.2.1, released 28-05-2017#

  • Built-in logging at different verbosity levels implemented (via new –log-level option)

  • Log SNMP authentication failures

  • Optionally log denied OIDs at the oidfilter plugin

  • Added timestamping to file log

  • The plugin-options setting fixed to support a list of options, as its name suggests

  • Fixed malformed timestamp logging at the logger plugin

Revision 0.2.0, released 16-05-2017#

  • Server message classifiers made available at the client side for message routing purposes

  • Trunk keep-alive service implemented

  • Client-side plugins support implemented

  • Examples and docs on transparent proxy mode and running at secondary interfaces added

  • Performance of the “oidfilter” plugin improved on large access lists by introducing dichotomy search and operating on built-in “tuple” type

  • Enforced “oidfilter” configuration consistency by adding a bunch of load-time checks

Revision 0.1.0, released 07-05-2017#

  • SNMP TRAP PDU forwarding implemented

  • SNMP PDU OIDs filtering plugin implemented

  • The “rewrite” plugin reworked to match OIDs and regexp values

  • The “logger” plugin refactored to understand more macros; macro names used for logging and system configuration options unified

  • Single SNMP request scope context is now served to the plugins (plugin API version bumped)

  • The ${config-dir} macro support added to some configuration options

  • Sphinx documentation added

Revision 0.0.3, released 23-04-2017#

  • Sphinx docs added

  • PEP8, code style and hardening

  • Unspecified trunk-crypto-key now indicates disabled trunk encryption.

  • Fix to error-indication usage to comply with newer pysnmp

  • Fix to __doc__ use in setup.py to make -O0 installation mode working.

  • Fix to PID file creation when running Python 3.

  • Copyright notes added to source files

  • Author’s e-mail changed, copyright extended to year 2017

Revision 0.0.2, released 28-09-2015#

  • Minor fixes towards Python 2.4 compatibility.

Revision 0.0.2rc1, released 14-02-2015#

  • Loadable extention plugin modules infrastructure first introduced.

  • Experimental SNMP PDU var-binds logging added.

  • Wheel distribution format now supported.

Revision 0.0.2rc0, released 21-01-2015#

  • Multiple fixes supporting Python 2.4-3.4 compatibility.

  • Configuration options renamed for better clarity.

  • Both source and destination network addresses of SNMP entities can now be used for message routing and address spoofing.

  • Transparent proxy operation and secondary network interface support implemented

  • Client-side SNMP timeout/retries now configurable

  • Switched to the latest pysnmp API

  • snmpEngineId and contextEngineId are always treated as hex in config

  • contextEngineId and contextName now configured separately from SNMP authentication credentials

  • Dead trunk detection implemented

  • Switched to Python logging module

  • SNMP request PDU type and request OIDs can now be used for request routing

  • Fix to SNMPv3 operation on the Client part.

Revision 0.0.1, released 01-04-2014#

  • Initial public release.