1 SNMP Release Notes

1.1  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.2  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.3  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.4  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.5  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.6  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

-

1.7  SNMP Development Toolkit 4.17.1

Version 4.17.1 supports code replacement in runtime from/to version 4.17, 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • When the function FilterMod:accept_recv/2 returned false the SNMP agent stopped collecting messages from UDP.

    Own Id: OTP-8761

Incompatibilities

-

1.8  SNMP Development Toolkit 4.17

Version 4.17 supports code replacement in runtime from/to version 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.

Improvements and new features

Reported Fixed Bugs and Malfunctions

-

Incompatibilities

-

1.9  SNMP Development Toolkit 4.16.2

Version 4.16.2 supports code replacement in runtime from/to version 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.

Improvements and new features

  • [compiler] The SMI specifies that a table row OID should be named: { <tableIdentifier> "1" }.

    A new option has been introduced, relaxed_row_name_assign_check, that allows for a more liberal numbering scheme

    Own Id: OTP-8574

  • [agent|manager] Changes to make snmp (forward) compatible with the new version of the crypto application (released in R14). As of R14, crypto is implemented using NIFs. Also, the API is more strict.

    Own Id: OTP-8594

  • Auto [agent] Changed default value for the MIB server cache. GC is now on by default.

    Own Id: OTP-8648

Reported Fixed Bugs and Malfunctions

  • Encode/decode of Counter64 values larger than 16#7fffffffffffffff (9223372036854775807) failed.

    Own Id: OTP-8563

  • [compiler] Fails to compile non-contiguous BITS.

    Per Hedeland

    Own Id: OTP-8595

  • [manager] Raise condition causing the manager server process to crash. Unregistering an agent while traffic (set/get-operations) is ongoing could cause a crash in the manager server process (raise condition).

    Own Id: OTP-8646

    Aux Id: Seq 11585

Incompatibilities

-

1.10  SNMP Development Toolkit 4.16.1

Version 4.16.1 supports code replacement in runtime from/to version 4.16, 4.15, 4.14 and 4.13.5.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [manager] Fixed an upgrade/downgrade problem.

    Upgrade/downgrade from/to 4.13.5 did not work for the net-if process. This has now been fixed.

    Own Id: OTP-8481

  • [agent] A minor mnesia related performance improvement.

    Own Id: OTP-8480

Incompatibilities

-

1.11  SNMP Development Toolkit 4.16

Version 4.16 supports code replacement in runtime from/to version 4.15, 4.14 and 4.13.5.

Improvements and new features

  • [agent|manager] Entries in the audit trail log can now be augmented by a sequence number.

    This is enabled by the seqno option, which is part of the Audit Trail Log config option.

    See the reference manual or the Configuring the application chapter of the User's Guide for further info.

    Own Id: OTP-8395

Reported Fixed Bugs and Malfunctions

  • [manager] Registration of agents using the config file, agents.conf, does not work. This has now been corrected.

    Per Hedeland

    Own Id: OTP-8442

  • The config utility (snmp:config/0) generated a default notify.conf with a bad name for the standard trap entry (was "stadard trap", but should have been "standard trap"). This has been corrected.

    Kenji Rikitake

    Own Id: OTP-8433

Incompatibilities

-

1.12  SNMP Development Toolkit 4.15

Version 4.15 supports code replacement in runtime from/to version 4.14 and 4.13.5.

Improvements and new features

  • The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.

    Own Id: OTP-8249

Reported Fixed Bugs and Malfunctions

  • [manager] When information from an unknown agent is received, it was previously delivered to the default user via calls to all the functions of the callback API depending on the info type (pdu, trap, report or inform). The problem was that the TargetName argument was useless in this case (only an already known agent has a known/valid TargetName, but the TargetName used in these calls was generated "on the fly").

    This has now been changed so that when a message is received from an unknown agent, then only handle_agent (for the default user) is called, but now this call also has a Type argument, which is pdu | trap | report | inform, depending on what kind of message was actually received, thus making it possible for the user to properly analyze the data received.

    To handle this, the snmpm_user behaviour has been updated.

    *** POTENTIAL INCOMPATIBILITY ***

    Own Id: OTP-8229

1.13  SNMP Development Toolkit 4.14

Version 4.14 supports code replacement in runtime from/to version 4.13.5, 4.13.4, 4.13.3, 4.13.2, 4.13.1 and 4.13.

Improvements and new features

  • [compiler] Include object- and notification groups in the compiled mib. This will make it possible to import groups from other mibs.

    Also the SNMPv2-MIB-file has been updated to a more up-to-date version.

    Own Id: OTP-8223

  • [manager] Added support for message filtering in the network interface module provided with the application. The component that actually make the filter decisions is the network interface filter module. This module must implement the network interface filter behaviour for message filtering. See also the Configuring chapter of the User's Guide to see how to configure this feature.

    See the configuration chapter for more info about the filter options.

    Own Id: OTP-8228

    Aux Id: Seq 11411

  • The MIBs delivered as part of the application is now also available as man pages, section 7.

    Own Id: OTP-8237

Reported Fixed Bugs and Malfunctions

-

Incompatibilities

-

1.14  SNMP Development Toolkit 4.13.5

Version 4.13.5 supports code replacement in runtime from/to version 4.13.4, 4.13.3, 4.13.2, 4.13.1 and 4.13.

Improvements and new features

Reported Fixed Bugs and Malfunctions

  • [agent] The main agent type header file contained some miss-information regarding the type of the entrytype field of the me-record, causing unneccessary confusion.

    Own Id: OTP-8116

    Aux Id: Seq 11312

Incompatibilities

-

1.15  SNMP Development Toolkit 4.13.4

Version 4.13.4 supports code replacement in runtime from/to version 4.13.3, 4.13.2, 4.13.1 and 4.13.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [agent] Originating discovery problems.

    Invalid state variable update during second stage of discovery causes master agent crash.

    Also the net_if process failed to activate socket ({active, once}) after first discovery response was sent.

    Own Id: OTP-8044

    Aux Id: Seq 11295

  • [agent] Terminating discovery problem.

    The reply to the second stage request should include a varbind with usmStatsNotInTimeWindows.

    Own Id: OTP-8062

    Aux Id: Seq 11318

  • [agent] Originating discovery improvement.

    Added the ExtraInfo argument to the discovery function. This argument will be passed on to the stage1_finish callback function. Also, the discovery function will now always return {ok, ManagerEngineID} on successful discovery.

    The discovery handler behaviour updated accordingly.

    Own Id: OTP-8098

    Aux Id: Seq 11346

Incompatibilities

-

1.16  SNMP Development Toolkit 4.13.3

Version 4.13.3 supports code replacement in runtime from/to version 4.13.2, 4.13.1 and 4.13.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [manager] A request for an oid of type BITS was actually returned as OCTET STRING.

    Values of type BITS are encoded as OCTET STRING, which makes it impossible for the decoder to know that they should really be of type BITS. Instead, this has to be done higher up in the stack, where there is knowledge of the MIB (assuming that the mib has been loaded, there is info about the type of the mibentry).

    This problem has now been fixed, but requires that the MIB defining this mib-entry is loaded!

    The utility function oid_to_type has been added, for debug purpose.

    The utility function(s) octet_string_to_bits and bits_to_octet_string has also been added. These can be used if the user prefers to handle the conversion on their own.

    Own Id: OTP-8015

    Aux Id: Seq 11285

  • [agent] Fixed some issues with the discovery handling.

    Changed the API of the discovery function to solve some of these problems.

    Introduced various options for controlling the discovery process. See the configuration chapter for more info about the discovery options.

    Own Id: OTP-8020

    Aux Id: Seq 11295

Incompatibilities

-

1.17  SNMP Development Toolkit 4.13.2

Version 4.13.2 supports code replacement in runtime from/to version 4.13.1 and 4.13.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [manager] Failure during downed user cleanup. As part of the cleanup after a crashed user, the manager attempts to unregister the agents registered by this user. This however failed, causing a server crash.

    Own Id: OTP-7961

    Aux Id: Seq 11275

  • [manager] Incorrectly documented value type for IpAddress (ip). The value type for IpAddress is documented as ip but is actually ia. The value type ip has been added. The old (not documented) value type ia still works.

    Own Id: OTP-7977

    Aux Id: Seq 11279

  • [manager] EngineId lookup fails when using version-3.

    Own Id: OTP-7983

    Aux Id: Seq 11275

  • [agent] As of version 4.13 the possible return values of the function snmpa_mpd:process_packet/4 changed, but this was not documented.

    Own Id: OTP-7989

    Aux Id: Seq 11275

Incompatibilities

-

1.18  SNMP Development Toolkit 4.13.1

Version 4.13.1 supports code replacement in runtime from/to version 4.13.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [manager] Registration of users had some issues.

    Not all of the registration functions where actually exported (register_user/4 and register_user_monitor/4). This has now been fixed.

    Also, the registration did not succeed unless user implemented the *new* behaviour. This has now also been fixed (registration succeeds if the user implements either the new (i.e. updated snmpm_user) or the old user behaviour (snmpm_user_old)).

    Own Id: OTP-7902

    Aux Id: Seq 11240

Incompatibilities

-

1.19  SNMP Development Toolkit 4.13

Improvements and new features

  • [agent] Support for the discovery process.

    The agent can both initiate discovery itself (see the discovery chapter for more info) and respond to discovery initiated by a manager.

    Own Id: OTP-7571

    Aux Id: Seq 11053

Reported Fixed Bugs and Malfunctions

Incompatibilities

-

1.20  SNMP Development Toolkit 4.12.2

Version 4.12.2 supports code replacement in runtime from/to version 4.12.1, 4.12, 4.11.2, 4.11.1 and 4.11.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [agent] Bad session cache (usm+camv-info) invalidation could cause user crash, through call(s) to (a number of) MIB API function(s) (undefined function).

    Own Id: OTP-7868

Incompatibilities

-

1.21  SNMP Development Toolkit 4.12.1

Version 4.12.1 supports code replacement in runtime from/to version 4.12, 4.11.2, 4.11.1 and 4.11.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • Logging of messages with the GetBulk-request PDU incorrectly produced an erroneous entry in the log: "An error occurred".

    The reason for this was that the PDU-fields error_status and error_index is re-used for Non-repeaters and Max-repetitions for GetBulk-request PDUs, but this was not handled by the logging code.

    Own Id: OTP-7695

    Aux Id: Seq 11124

  • [agent] An attempt to set the row status to active for an notReady table row, could result in an "inconsistentValue" error.

    The same problem existed when attempting to set row status to notInService for a row in notReady.

    Serge Aleynikov

    Own Id: OTP-7698

Incompatibilities

-

1.22  SNMP Development Toolkit 4.12

Version 4.12 supports code replacement in runtime from/to version 4.11.2, 4.11.1 and 4.11.

Improvements and new features

  • [agent] A simple lookup cache has been added to improve the mib server lookup performance.

    This can be disabled with the mib_server cache option.

    Own Id: OTP-7346

  • [agent] Improvement of the inform reporting. It was previously not certain how many acks an application received, 0, 1 or 2. This has now been fixed, so that only 1 (one) ack is issued.

    Per Hedeland

    Own Id: OTP-7525

Reported Fixed Bugs and Malfunctions

-

Incompatibilities

-

1.23  SNMP Development Toolkit 4.11.2

Version 4.11.2 supports code replacement in runtime from/to version 4.11.1 and 4.11.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

  • [manager] Erroneous engine-id check when receiving version 3 informs.

    Own Id: OTP-7570

    Aux Id: Seq 11060

  • Receiving an snmp message with a very large version number could cause the erlang node to run out of memory and consequently crash.

    The standard specifies the snmp version as an (unlimited) INTEGER, but today only 0 (version 1), 1 (version 2) and 3 (version 3) is actually used. So, when decoding a message, a limit has been put on the snmp version integer in order to not allow this kind of a problem.

    Own Id: OTP-7575

    Aux Id: Seq 11064

Incompatibilities

-

1.24  SNMP Development Toolkit 4.11.1

Version 4.11.1 supports code replacement in runtime from/to version 4.11.

Improvements and new features

  • [compiler] The MIB compiler did not retrieve the REFERENCE part of a SNMP MIB definition.

    This problem has been partly solved. For SNMP tables, the assocList field of the tables mib-entry record now contains this info (as {reference, string()}), if the MIB was compiled with the compiler option +reference.

    This solution is temporary, until such time as a permanent solution (and probably not backward compatible) is devised, which retrieves and stores all REFERENCE part(s) of a MIB.

    See the compiler options for more info.

    Serge Aleynikov

    Own Id: OTP-7426

  • Added utility functions for transforming DateAndTime as [int()] to strings; date_and_time_to_string/2 and date_and_time_to_string2/1.

    Also added new validation function validate_date_and_time/2.

    Own Id: OTP-7412

    Aux Id: Seq 10987

Reported Fixed Bugs and Malfunctions

  • [manager] Encryption error when attempting to send version 3 inform-requests.

    Own Id: OTP-7432

    Aux Id: Seq 10966

Incompatibilities

-

1.25  SNMP Development Toolkit 4.11

Version 4.11 supports code replacement in runtime from/to version 4.10.3, 4.10.2, 4.10.1 and 4.10.

Improvements and new features

  • [agent] Performance improvements in the case when an SNMP manager performs an snmpwalk.

    Martin Björklund

    Own Id: OTP-7201

  • The API for sending inform(s) has been improved. Also the documentation has been corrected and updated. See snmpa:send_notification and snmpa_notification_delivery_info_receiver for more info.

    Own Id: OTP-7287

    Aux Id: Seq 10926

  • [agent] Performance of the internal database (local-db) has been improved.

    Own Id: OTP-7319

    Aux Id: Seq 10942

  • [agent] Added utility functions, snmpa:restart_worker/0,1 and snmpa:restart_set_worker/0,1, for restarting the agent worker processes (in case the agent is multi-threaded).

    Own Id: OTP-7369

  • Add utility function to read a compiled mib.

    Own Id: OTP-7371

Reported Fixed Bugs and Malfunctions

  • [manager] Encryption error when attempting to send version 3 inform-requests.

    Own Id: OTP-7377

    Aux Id: Seq 10966

Incompatibilities

-