1 SNMP Release Notes

1.1  SNMP Development Toolkit 4.23.1

Version 4.23.1 supports code replacement in runtime from/to version 4.23.

Improvements and new features

-

Fixed Bugs and Malfunctions

  • [compiler] Now handles MIBs importing the pesudotype BITS.

    Own Id: OTP-10799

  • [compiler] The MIB compiler could not handle a table index that was defined later in the MIB.

    Own Id: OTP-10808

Incompatibilities

-

1.2  SNMP Development Toolkit 4.23

Improvements and new features

  • [manager] Polish return values of snmpm_user_default according to snmpm_user doc.

    Luca Favatella

    Own Id: OTP-10671

  • [agent] Remove runtime warning in snmpa_agent because of tuple fun usage.

    Luca Favatella

    Own Id: OTP-10672

  • [manager] SNMP manager performance optimization.

    Ivan Dubovik

    Own Id: OTP-10673

Fixed Bugs and Malfunctions

-

Incompatibilities

  • [manager] The old Addr-and-Port based API functions, previously long deprecated and marked for deletion in R16B, has now been removed.

    Own Id: OTP-10027

1.3  SNMP Development Toolkit 4.22.1

Version 4.22.1 supports code replacement in runtime from/to version 4.22, 4.21.7 4.21.6 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1 and 4.21.

Improvements and new features

  • [agent] Sematic fixes to SNMP-USER-BASED-SM-MIB. The semantics allow the usmUserAuthKeyChange and usmUserPrivKeyChange objects to be written to in the same set requests that also creates and clones the user. This was not possible beforehand, causing test tools checking semantic SNMPv3 behaviour to fail on a lot of test cases.

    Furthermore, once the user has been cloned by writing to an instance of usmUserCloneFrom, further set-operations to the same object will not return an error, but be no-ops. Especially, it must be avoided to copy security parameters again (possibly even from a different user).

    Stefan Zegenhagen

    Own Id: OTP-10166

  • [agent] Errors in vacmAccessTable RowStatus handling. There are problems with the handling of vacmAccessTableStatus that cause some SNMP test suites to report errors. Most notably, erroneous set operations frequently cause "genErr" errors to be returned. These "genErr" errors are usually caused by badmatch exceptions coming from {ok, Row} = snmpa_vacm:get_row(RowIndex) if the row does not exist.

    The semantics of the RowStatus handling in that table has been adjusted to be compliant with the RowStatus textual description of SNPMv2-TC MIB.

    Stefan Zegenhagen

    Own Id: OTP-10164

Fixed Bugs and Malfunctions

  • [agent] Fix walk over vacmAccessTable. Fix the get_next implementation of vacmAccessTable to return all table entries.

    The get_next implementation of vacmAccessTable did not return all available table data. Instead, it only returned the first column for each row, and all columns for the last row available.

    Stefan Zegenhagen

    Own Id: OTP-10165

  • [manager] snmpm:log_to_io/6 did not use the LogName argument.

    Own Id: OTP-10066

  • Incorrect TimeTicks decode. Also bad handling of invalid encode (value outside of value range) for both TimeTicks and Unsigned32.

    Own Id: OTP-10132

Incompatibilities

-

1.4  SNMP Development Toolkit 4.22

Version 4.22 supports code replacement in runtime from/to version 4.21.7 4.21.6 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1 and 4.21.

Improvements and new features

  • [compiler] The table information the MIB compiler provides with augmented tables has been extended with nbr_of_cols, first_accessible and not_accessible.

    Own Id: OTP-9969

  • Added the log_to_io audit-trail-log converter function to the api modules of both the manager and agent.

    Own Id: OTP-9940

  • [manager] Introduced a new transport module, snmpm_net_if_mt, which handles all incomming and outgoing traffic in newly created processes. The message/request is processed and then the process exits.

    Own Id: OTP-9876

  • [agent] Documenting previously existing but undocumented function, snmp_generic:get_table_info/2.

    Own Id: OTP-9942

  • [agent] Improve error handling while reading agent config files. Some files contain mandatory information and is therefor themself mandatory.

    Own Id: OTP-9943

Fixed Bugs and Malfunctions

-

Incompatibilities

-

1.5  SNMP Development Toolkit 4.21.7

Version 4.21.7 supports code replacement in runtime from/to version 4.21.6, 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1, 4.21, 4.20.1 and 4.20.

Improvements and new features

-

Fixed Bugs and Malfunctions

  • [agent] Simultaneous snmpa:backup/1,2 calls can interfere. The master agent did not check if a backup was already in progress when a backup request was accepted.

    Own Id: OTP-9884

    Aux Id: Seq 11995

Incompatibilities

-

1.6  SNMP Development Toolkit 4.21.6

Version 4.21.6 supports code replacement in runtime from/to version 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1, 4.21, 4.20.1 and 4.20.

Improvements and new features

  • [agent] DoS attack using GET-BULK with large value of MaxRepetitions. A preventive method has been implementing by simply limit the number of varbinds that can be included in a Get-BULK response message. This is specified by the new config option, gb_max_vbs.

    Own Id: OTP-9700

Fixed Bugs and Malfunctions

Incompatibilities

-

1.7  SNMP Development Toolkit 4.21.5

Version 4.21.5 supports code replacement in runtime from/to version 4.21.4, 4.21.3, 4.21.2, 4.21.1, 4.21, 4.20.1 and 4.20.

Improvements and new features

  • [agent] Removed (more) use of old style tuple funs.

    Own Id: OTP-9783

Fixed Bugs and Malfunctions

  • [agent] Repeated vacm table dumping fails due to file name conflict. When dumping the vacm table to disk, a temoporary file with a fixed name was used. If the table dumping (snmpa_vacm:dump_table/0) was initiated from several different processes in rapid succesion, the dumping could fail because the different processes was simultaniously trying to write to the same file. This problem has been eliminated by creating a unique name for the temporary file.

    Own Id: OTP-9851

    Aux Id: Seq 11980

Incompatibilities

-

1.8  SNMP Development Toolkit 4.21.4

This version has never been released for R14B.

Version 4.21.4 supports code replacement in runtime from/to version 4.21.3, 4.21.2, 4.21.1, 4.21, 4.20.1, 4.20 and 4.19.

Improvements and new features

-

Fixed Bugs and Malfunctions

  • [agent] Removed use of old style tuple funs.

    Own Id: OTP-9779

Incompatibilities

-

1.9  SNMP Development Toolkit 4.21.3

Version 4.21.3 supports code replacement in runtime from/to version 4.21.2, 4.21.1, 4.21, 4.20.1, 4.20 and 4.19.

Improvements and new features

Fixed Bugs and Malfunctions

  • [agent] Version 4.20 introduced a change that broke trap sending from subagents. Due to a bug in the test code, this was not discovered, until that bug was fixed.

    Own Id: OTP-9745

  • [agent] When sending an error message (reply) regarding snmpUnknownPDUHandlers, the agent used the wrong OID.

    Own Id: OTP-9747

  • [compiler] Fix the --warnings/--W option parsing in the snmpc wrapper (e)script. The short warning option was incorrectly --w, instead of as documented --W. This has now been corrected.

    *** POTENTIAL INCOMPATIBILITY ***

    Tuncer Ayaz

    Own Id: OTP-9718

Incompatibilities

  • [compiler] The short warning option has been changed from --w to --W to comply with the documentation.

    Tuncer Ayaz

    Own Id: OTP-9718

1.10  SNMP Development Toolkit 4.21.2

Version 4.21.2 supports code replacement in runtime from/to version 4.21.1, 4.21, 4.20.1, 4.20 and 4.19.

Improvements and new features

-

Fixed Bugs and Malfunctions

  • Bad note store GC timer deactivation. Wrong field in the state record was set (timeout instead active).

    Stefan Grundmann

    Own Id: OTP-9690

Incompatibilities

-

1.11  SNMP Development Toolkit 4.21.1

Version 4.21.1 supports code replacement in runtime from/to version 4.20.1, 4.20 and 4.19.

Improvements and new features

  • [compiler] Used wrong variable name (for warnings-as-errors variable), which caused the compiler to crash when using the snmpc (e)script.

    Also added the option --Werror for the SNMP MIB compiler (escript) frontend (to mimic erlc), which specifies whether warnings should be treated as errors.

    Own Id: OTP-9447

  • [agent] Some very minor debugging improvements.

    Own Id: OTP-9446

Fixed Bugs and Malfunctions

-

Incompatibilities

-

1.12  SNMP Development Toolkit 4.21

Version 4.21 supports code replacement in runtime from/to version 4.20.1, 4.20 and 4.19.

Improvements and new features

  • [manager] There was no way to specify transport domain. The transport domains was assumed to be IPv4 (transportDomainUdpIpv4). This has now been changed so that it can also be IPv6 (transportDomainUdpIpv6). To facilitate this, the transport domain, tdomain, is now a (new) valid option when registering a new agent (and updating agent info).

    This also mean that the transport behaviour has changed.

    Own Id: OTP-9305

    Aux Id: Seq 11847

  • [compiler] Added the option warnings_as_errors (for the SNMP MIB compiler (escript) frontend, the option --wae is used) which specifies whether warnings should be treated as errors.

    Tuncer Ayaz

    Own Id: OTP-9437

Fixed Bugs and Malfunctions

  • The snmp config tool could not handle (manager) audit trail config because the option seqno was not handled.

    Own Id: OTP-9354

  • [agent] The SNMP ACM cache was not properly updated when changes where made to the VACM security-to-group, access and view-tree-family tables.

    Own Id: OTP-9367

    Aux Id: Seq 11858

  • Fixed install directory typo for man3.

    Peter Lemenkov

    Hans Ulrich Niedermann

    Own Id: OTP-9442

Incompatibilities

-

1.13  SNMP Development Toolkit 4.20.1

Version 4.20.1 supports code replacement in runtime from/to version 4.20, 4.19 and 4.18.

Improvements and new features

-

Fixed Bugs and Malfunctions

  • [agent] Did not handle transport domains properly in some cases, for instance trap sending.

    Own Id: OTP-9400

  • [agent] Wrong default transport domain, snmpUDPDomain, instead of transportDomainUdpIpv4.

    Own Id: OTP-9425

    Aux Id: Seq 11874

Incompatibilities

-

1.14  SNMP Development Toolkit 4.20

Version 4.20 supports code replacement in runtime from/to version 4.19 and 4.18.

Improvements and new features

  • [agent] Added support for sending traps to IPv6 targets.

    See the target address config file, the target_addr_entry/11 function or add_addr/11 for more info.

    Own Id: OTP-9088

    Aux Id: Seq 11790

  • [agent] To be able to handle multiple engine-id(s) when sending trap(s), the function add_community/6 has been added.

    Own Id: OTP-9119

    Aux Id: Seq 11792

  • [manager] The API for snmp requests has been augmented to allow the caller to override some configuration.

    This has been done by introducing a new set of API functions, see sync_get2/3,4, async_get2/3,4, sync_get_next2/3,4, async_get_next2/3,4, sync_get_bulk2/5,6, async_get_bulk2/5,6, sync_set2/3,4 and async_set2/3,4 for more info.

    Own Id: OTP-9162

  • [manager] The old API functions (for get and set requests: snmpm:g/3,4,5,6,7, snmpm:ag/3,4,5,6,7, snmpm:gn/3,4,5,6,7, snmpm:agn/3,4,5,6,7, snmpm:s/3,4,5,6,7, snmpm:s/3,4,5,6,7, snmpm:gb/5,6,7,8,9 and snmpm:agb/5,6,7,8,9) are now officially deprecated. They will be removed as of R16B.

    Own Id: OTP-9174

  • [agent] Pass extra info through the agent to the net-if process when sending notifications.

    See snmpa:send_notification2/3 for more info. See also the incomming net-if messages when sending a trap (send_pdu message) and notification (send_pdu_req message).

    Own Id: OTP-9183

    Aux Id: Seq 11817

  • Added type specs for functions that do not return.

    Kostis Sagonas

    Own Id: OTP-9208

Fixed Bugs and Malfunctions

  • Fixed endode/decode of values of type Counter32.

    This type (Counter32) is an unsigned integer 32, but is actually encoded as an signed integer 32. The encode/decode functions however, treated it as if it was encodeded as an unsigned integer 32.

    Own Id: OTP-9022

Incompatibilities

-

1.15  SNMP Development Toolkit 4.19

Version 4.19 supports code replacement in runtime from/to version 4.18.

Improvements and new features

  • [compiler] Added support for textual convention AGENT-CAPABILITIES and "full" support for textual convention MODULE-COMPLIANCE, both defined by the SNMPv2-CONF mib.

    The reference and modules part(s) are stored in the assocList of the mib-entry (me) record. Only handled if the option(s) agent_capabilities and module_compliance (respectively) are provided to the compiler.

    See compile/2 for more info.

    For backward compatibillity, the MIBs provided with this application are not compiled with these options.

    Own Id: OTP-8966

  • [agent] Added a "complete" set of (snmp) table and variable print functions, for each mib handled by the SNMP (agent) application. This will be usefull when debugging a running agent.

    See print_mib_info/0, print_mib_tables/0 and print_mib_variables/0 for more info.

    Own Id: OTP-8977

  • [compiler] Added a MIB compiler (frontend) escript, snmpc.

    Own Id: OTP-9004

Fixed Bugs and Malfunctions

  • [agent] For the table vacmAccessTable, when performing the is_set_ok and set operation(s), all values of the vacmAccessSecurityModel column was incorrectly translated to any.

    Own Id: OTP-8980

  • [agent] When calling snmp_view_based_acm_mib:reconfigure/1 on a running node, the table vacmAccessTable was not properly cleaned. This meant that if some entries in the vacm.conf file was removed (compared to the current config), while others where modified and/or added, the removed entrie(s) would still exist in the vacmAccessTable table.

    Own Id: OTP-8981

    Aux Id: Seq 11750

Incompatibilities

-

1.16  SNMP Development Toolkit 4.18

Version 4.18 supports code replacement in runtime from/to version 4.17.1 and 4.17.

Improvements and new features

  • Prepared for R14B release.

Fixed Bugs and Malfunctions

-

Incompatibilities

-