20042012 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. SNMP Release Notes history notes_history.xml
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

-

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

[agent] Improved the cache handling of the mib server.

A number of new functions and config options for the mib server cache has been added.

See invalidate_mibs_cache/0,1, enable_mibs_cache/0,1, disable_mibs_cache/0,1, gc_mibs_cache/0,1,2,3, enable_mibs_cache_autogc/0,1, disable_mibs_cache_autogc/0,1, update_mibs_cache_age/1,2 and update_mibs_cache_gclimit/1,2 for more info.

See also the configuration chapter for more info about the mib server cache options.

Own Id: OTP-8182

Aux Id: Seq 11383

[agent] A manager could no longer use the SNMPv3 user "initial" as this was interpretated as the first step of the discovery.

Introduced a new terminating option, trigger_username to make it possible to configure the username the agent reacts to. Default is "".

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

Own Id: OTP-8120

Aux Id: Seq 11361

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

-

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

-

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

-

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

-

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

-

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

[agent] Unnecessary use of math:pow/2 could cause problems on systems without floating point support.

Per Hedeland

Own Id: OTP-7735

[manager] A major flaw was discovered with the agent handling.

First, TargetName was never used as intended, as a unique identifier for the target (agent in this case).

Second, TargetName had a default value, which meant that several agents could have the same TargetName, causing unpredictable behaviour in the manager.

Third, EngineID was not a mandatory config option and had furthermore also a default value.

These problems has been solved in the following way:

First, a new set of api functions has been introduced (and documented): register_user/4, register_user_monitor/4, register_agent/3, unregister_agent/2, agent_info/2, update_agent_info/4, sync_get/3,4,5,6, async_get/3,4,5,6, sync_get_next/3,4,5,6, async_get_next/3,4,5,6, sync_set/3,4,5,6, async_set/3,4,5,6, sync_get_bulk/5,6,7,8 and async_get_bulk/5,6,7,8 that all use TargetName (and not, as previously, Addr and Port) to identify the agent (also the return value of which_agents has been changed).

Second, for backward compatibility, the old functions still exist, but are no longer documented and are now wrappers for the new functions, including erroneous default value for EngineID and all. The TargetName is however generated from the provided Addr, Port and Version config options.

Third, the behaviour of the SNMP manager user has been changed to reflect this, i.e. handle_pdu/4, handle_trap/3, handle_inform/3, handle_report/3 and the return-value of handle_agent/4. The old (non-documented) callback-functions (using Addr and Port) will still be called if the agent was registered using the old registration functions.

Own Id: OTP-7836

Incompatibilities

-

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

-

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

-

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

-

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

-

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

-

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

-

SNMP Development Toolkit 4.10.3

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

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[manager] The configuration option inform_request_behaviour was not properly parsed, which caused the manager to revert to the default value, auto.

Own Id: OTP-7219

Incompatibilities

-

SNMP Development Toolkit 4.10.2

Version 4.10.2 supports code replacement in run-time from/to version 4.10.1 and 4.10

Improvements and new features

[compiler] The MIB-compiler did not recognize well-known-names as top parents. The names 'ccitt' (0) , 'iso' (1) and 'joint-iso-ccitt' (2) is now also recognized by the MIB compiler.

Ola Samuelsson

Own Id: OTP-7160

[compiler] The MIB-compiler did not support a name assignment which was sequence of numbers, only a parent object name followed by a sequence of numbers.

Ola Samuelsson

Own Id: OTP-7158

Reported Fixed Bugs and Malfunctions

[agent] Invalid variable value causes crashing agent worker process when sending traps.

Own Id: OTP-7159

[agent] When sending a trap, the order of the variable bindings not provided by the trap-sender, could be mangled by the agent.

Ola Samuelsson

Own Id: OTP-7157

[agent] Uninstalling MEs when unloading mibs incorrect and therefor never done.

Own Id: OTP-7153

[agent] snmp_generic:table_set_cols/3 did not handle unexpected return values correctly when setting column values.

Serge Aleynikov

Own Id: OTP-7152

Incompatibilities

-

SNMP Development Toolkit 4.10.1

Version 4.10.1 supports code replacement in run-time from/to version 4.10

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[manager] Fixed usage of inet:gethostname/1.

Dialyzer

Own Id: OTP-7123

[agent] Remeoved invalid guard. There was an invalid guard on the start function of the top agent supervisor.

Dialyzer

Own Id: OTP-7121

[compiler] Old style fun cleanup in the MIB compiler.

Dialyzer

Own Id: OTP-7119

Corrected usage of function file:open/2 (the Modes argument is a list).

Own Id: OTP-7110

The SNMP application contains some (previously undocumented) simple utility functions for function tracing (using dbg), see enable_trace, disable_trace, set_trace/1, reset_trace and set_trace/2 for more info. These functions are intended to make it easy to enable tracing on individual functions. There where some minor errors, which has now been corrected.

Own Id: OTP-7109

There is a bug in snmp_pdus:enc_oct_str_tag/1. All the enc_* functions are supposed to return a flat list, but the second clause of this function does not. If it gets a binary it returns a deep list.

Martin Björklund

Own Id: OTP-7083

Incompatibilities

-

SNMP Development Toolkit 4.10
Improvements and new features

Added buffer sizes (both receive and send) of the udp socket(s) info when calling the agent info and manager info function(s).

Own Id: OTP-6945

[agent] Added the ability to change the request limit in run-time, see set_request_limit for more info.

Own Id: OTP-6898

Added the ability to change the audit trail log type in run-time (both agent and manager), see function(s) [manager] set_log_type and [agent] set_log_type for more info.

Own Id: OTP-6841

[agent] 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. See also the Configuring the application chapter of the User's Guide to see how to configure this feature.

Own Id: OTP-6649

Reported Fixed Bugs and Malfunctions

-

Incompatibilities

-

SNMP Development Toolkit 4.9.6

Version 4.9.6 supports code replacement in run-time from/to version 4.9.5, 4.9.4, 4.9.3, 4.9.2, 4.9.1 and 4.9.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[compiler] The MIB compiler did not handle import of the macro from the MIB RFC1155-SMI.

Own Id: OTP-6840

Aux Id: Seq 10726

Bad length check (i.e. none) when decoding AuthenticationParameters.

Own Id: OTP-6843

Incompatibilities

-

SNMP Development Toolkit 4.9.5

Version 4.9.5 supports code replacement in run-time from/to version 4.9.4, 4.9.3, 4.9.2, 4.9.1 and 4.9.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] The order in which the processes in the snmp agent where terminated was incorrect. This could, in some case's, lead to incoming request(s) being processed during the application termination phase. This, in turn, could lead to various process crashes (when expected resources where no longer available).

Own Id: OTP-6805

Aux Id: Seq 10717

[agent] In version 4.9.4 some requests could be handled single threaded regardless of the value of the multi_thread config option.

Own Id: OTP-6815

Aux Id: Seq 10724

Incompatibilities

-

SNMP Development Toolkit 4.9.4

Version 4.9.4 supports code replacement in run-time from/to version 4.9.3, 4.9.2, 4.9.1 and 4.9.

Improvements and new features

The snmp documentation source has been converted from SGML to XML.

Own Id: OTP-6771

Reported Fixed Bugs and Malfunctions

[agent] Unexpected worker process termination. When the agent is multi-threaded (multi_thread = true), sending a request to the agent with an invalid context could lead to an unexpected worker process termination. This is a non-fatal problem since the master-agent would simply create a new worker process.

Own Id: OTP-6784

Aux Id: Seq 10689

Incompatibilities

-

SNMP Development Toolkit 4.9.3

Version 4.9.3 supports code replacement in run-time from/to version 4.9.2, 4.9.1 and 4.9.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] Changing own [usm] pass-phrase when agent is multi-threaded did not work.

Scott Lystig Fritchie

Martin Björklund

Own Id: OTP-6712

Incompatibilities

-

SNMP Development Toolkit 4.9.2

Version 4.9.2 supports code replacement in run-time from/to version 4.9.1, 4.9 & 4.8.4.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] Incorrect default verbosity (trace) for target cache.

Own Id: OTP-6571

Aux Id: Seq 10437

Incompatibilities

-

SNMP Development Toolkit 4.9.1

Version 4.9.1 supports code replacement in run-time from/to version 4.9 & 4.8.4.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] Used wrong DEFVAL for vacmAccessStorageType (volatile instead of nonVolatile) in SNMP-VIEW-BASED-ACM-MIB.

Martin Björklund

Own Id: OTP-6569

Incompatibilities

-

SNMP Development Toolkit 4.9

Version 4.9 supports code replacement in run-time from/to version 4.8.4, 4.8.3, 4.8.2, 4.8.1 and 4.8.

Improvements and new features

Added documentation for snmp:passwd2localized_key/3.

Own Id: OTP-6540

The snmp:config/0 utility function assumes by default current working dir as the directory to write config files. This is a problem since there are two files that share the same name, usm.conf, one for the agent and the other for the manager. Some extra checks has been added to be able warn the user about this possible conflict.

Own Id: OTP-6532

Minor documentation improvement for module snmp_generic.

Own Id: OTP-6518

[agent] Improve error handling of missing target params config.

Own Id: OTP-6487

Minor improvement to the mnesia snmp indexing.

Own Id: OTP-6415

Include the INET-ADDRESS-MIB mib in the SNMP application.

Own Id: OTP-6383

Added utility modules to read, write and update the config files of the agent and manager.

Own Id: OTP-6318

[agent] Improve behaviour during massive trap- sending. This is done in two way's:

Improving performance of the target(s) cache (which is used during trap/notification sending).

A slightly better flow control, making it more difficult to actually overload the agent.

Own Id: OTP-6317

Aux Id: Seq 10437

Reported Fixed Bugs and Malfunctions

Incorrect handling of decrypt failure resulting in incorrect error reporting. Applies to both the agent and the manager. Detected by dialyzer.

Own Id: OTP-6533

[manager] Invalid guard on function snmpm:agn/5 made it impossible to reach this particular clause. Detected by dialyzer.

Own Id: OTP-6529

Miscellaneous minor corrections, such as removing "dead code". Detected by dialyzer.

Own Id: OTP-6515

Incompatibilities

-

SNMP Development Toolkit 4.8.4

Version 4.8.4 supports code replacement in run-time from/to version 4.8.3, 4.8.2, 4.8.1 and 4.8.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] An Audit Trail Log entry was sometimes done using a list instead of the expected binary for the snmp packet. This caused an error when converting the log to a text-file.

Own Id: OTP-6408

Aux Id: Seq 10547

Incompatibilities

-

SNMP Development Toolkit 4.8.3

Version 4.8.3 supports code replacement in run-time from/to version 4.8.2, 4.8.1 and 4.8.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] Verification of ViewTreeFamily (SNMP-VIEW-BASED-ACM-MIB) incorrect. No values other then null and [] where accepted.

Own Id: OTP-6337

Aux Id: Seq 10509

[agent] Start with type takeover did not work.

Own Id: OTP-6340

Incompatibilities

-

SNMP Development Toolkit 4.8.2

Version 4.8.2 supports code replacement in run-time from/to version 4.8.1 and 4.8.

Improvements and new features

Add time-stamp to the verbosity printouts.

Own Id: OTP-6214

Reported Fixed Bugs and Malfunctions

A badly formatted debug printout caused console printouts.

Own Id: OTP-6247

Incompatibilities

-

SNMP Development Toolkit 4.8.1

Version 4.8.1 supports code replacement in run-time from/to version 4.8, 4.7.4 and 4.7.3.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

Removed an io:format in mini mib utility (used when converting logs).

Own Id: OTP-6177

Incompatibilities

-

SNMP Development Toolkit 4.8

Version 4.8 supports code replacement in run-time from/to version 4.7.4 and 4.7.3.

Improvements and new features

Added a config option, sndbuf, for the net_if-module(s). See application configuration or running the application for more info (look for manager_net_if_options and agent_net_if_options).

Own Id: OTP-6137

Improve error handling of the log_to_txt function(s). [snmpm|snmpa]:log_to_txt on a non-existing log-file causes an obscure error reason.

Own Id: OTP-6149

Performance improvement when converting audit trail logs.

Own Id: OTP-6164

Aux Id: Seq 10362

Reported Fixed Bugs and Malfunctions

[compiler] Allow empty definitions for SMI-II mibs, i.e. mibs are allowed to only contain the MODULE-IDENTITY construct.

Own Id: OTP-6150

Aux Id: Seq 10333

Incompatibilities

-

SNMP Development Toolkit 4.7.4

Version 4.7.4 supports code replacement in run-time from/to version 4.7.3, 4.7.2, 4.7.1 and 4.7.

Improvements and new features

Add another example, ex2. This example is basically a simple manager module.

Own Id: OTP-6042

Reported Fixed Bugs and Malfunctions

[agent] v1 trap sending minor problems. When sending a v1 trap, the wrong record type (#pdu{}) was used to access the type field (which does not exist in the #tranpdu{} record). This value is used when logging.

Own Id: OTP-6077

[manager] Type guard error.

Kostis Sagonas.

Own Id: OTP-6074 (dialyzer)

Misc Dialyzer warnings.

Own Id: OTP-6068

[manager] Default value tags may conflict with actual host name. When storing default values for agents, the tag, default, was used for address (and port). This could conflict with an actual host name.

Own Id: OTP-6062

Misc doc corrections.

Own Id: OTP-6044

Incompatibilities

-

SNMP Development Toolkit 4.7.3

Version 4.7.3 supports code replacement in run-time from/to version 4.7.2, 4.7.1 and 4.7.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

Misc compiler warning cleanup.

Own Id: OTP-6031

Incompatibilities

-

SNMP Development Toolkit 4.7.2

Version 4.7.2 supports code replacement in run-time from/to version 4.7.1 and 4.7.

Improvements and new features

[manager] Improve handling of empty messages. Today when receiving an empty (size = 0) udp message, this will result in a decode failure (a catched function clause), which in turn will be passed on to the user, via a call to the handle_error callback function, in the Reason argument. This has now been changed so that instead, the Reason argument will get a empty message value.

See handle_error for more details.

Own Id: OTP-6024

Reported Fixed Bugs and Malfunctions

[manager] Some error cases are reported to the 'user' with the ReqId and Reason swapped in the call to the handle_error callback function.

Own Id: OTP-5992

Incompatibilities

-

SNMP Development Toolkit 4.7.1

Version 4.7.1 supports code replacement in run-time from/to version 4.7, 4.6.1 and 4.6.

Improvements and new features

Added new version info print functions, print_version_info.

Own Id: OTP-5968

Updated the documentation for the agent and manager log_to_txt functions.

Own Id: OTP-5969

Reported Fixed Bugs and Malfunctions

[manager] The supervision structure contained several errors which unnecessarily caused a complete restart of the manager.

Own Id: OTP-5963

Incompatibilities

-

SNMP Development Toolkit 4.7

Version 4.7 supports code replacement in run-time from/to version 4.6.1 and 4.6.

Improvements and new features

Add simple backup mechanism, see agent backup and manager backup.

Own Id: OTP-5870

Improve handling of faulty data base files.

Added new agent and manager config option, db_init_error, see config for more info.

Own Id: OTP-5934

Aux Id: Seq 10202

Added possibility to configure restart type for each of the components (default is permanent for the agent and transient for the manager). See config for more info.

Own Id: OTP-5935

[compiler] Improve error printouts.

Own Id: OTP-5937

Reported Fixed Bugs and Malfunctions

-

Incompatibilities

-

SNMP Development Toolkit 4.6.1

Version 4.6.1 supports code replacement in run-time from/to version 4.6.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[agent] SNMP sha/aes decryption did not work.

Magnus Fröberg

Own Id: OTP-5834

[agent] The SNMP agent internal data base (local db) uses dets, and does not properly handle error's from e.g. lookup.

Own Id: OTP-5838

Incompatibilities

-

SNMP Development Toolkit 4.6

Version 4.6 supports code replacement in run-time from/to version 4.5.

Improvements and new features

Improved application start flexibility. It is now possible to start snmp application components (agent or manager) after the application has been started. It is even possible to start an "empty" snmp application and start the agent and/or manager afterwords. See start_agent and start_manager.

Own Id: OTP-5797

Aux Id: Seq 10128

[agent] Adding utility function to convert old application config to current agent config. See the convert_config for more info.

Own Id: OTP-5787

Improved handling of audit trail logs. See the atl_repair config for more info.

Own Id: OTP-5771

[manager] Introduced the notify_started function used by a client to get a notification when the manager is started.

Own Id: OTP-5763

Reported Fixed Bugs and Malfunctions

Misc documentation corrections.

Own Id: OTP-5829

Aux Id: Seq 10152

Incompatibilities

-

SNMP Development Toolkit 4.5

Version 4.5 supports code replacement in run-time from/to version 4.4.1 and 4.4.

Improvements and new features

[manager] Introduced the inform request behaviour configuration option to allow the user to specify how/when the manager shall acknowledge inform-request's.

Own Id: OTP-5733

[manager] In order to improve application behaviour, all callback function (see the snmpm_user behaviour) calls are now done by spawned processes (and not as previously by the SNMP manager server process).

Own Id: OTP-5726

[manager] In order to present the various error reason's returned by the manager, a format_reason function has been added. The error reasons this function handles are those returned by the (sync and async) get, get-next, get-bulk and set-functions (see the snmpm module) as well as the Reason argument of the handle_error function of the user callback module.

Own Id: OTP-5581

Aux Id: Seq 9870

Reported Fixed Bugs and Malfunctions

[manager] The (error) report according to RFC 2572, chapter 7.2 point 6) was never sent.

Own Id: OTP-5742

[agent] Check of notification name collision could fail due to incorrect record name (assumed to be #trap, but could also be #notification). This only cases a problem when the application is compiled with the strict_record_tests option.

Own Id: OTP-5740

[agent] Table get-request failure in some cases.

Own Id: OTP-5732

Aux Id: Seq 10087

Explicitly sync all audit trail log's upon termination.

Own Id: OTP-5727

Incompatibilities

[manager] The snmpm_network_interface behaviour has been updated (see inform_response and definition of the manager net if).

Own Id: OTP-5733

SNMP Development Toolkit 4.4.1

Version 4.4.1 supports code replacement in run-time from/to version 4.4.

Improvements and new features

[manager] Add monitoring of the SNMP manager. The SNMP application consists of two different run-time parts, the agent and the manager. They are independent of each other. The agent is "permanent" and the manager "transient". In order to handle manager crashes a simple monitor (and demonitor) function has been added.

Own Id: OTP-5720

Reported Fixed Bugs and Malfunctions

[manager] If sending a set-request containing an 'OCTET STRING' with an invalid integer (valid integer are 0-255), the encoding will fail and cause the net_if process to crash.

Own Id: OTP-5719

Incompatibilities

-

SNMP Development Toolkit 4.4

Version 4.4 supports code replacement in run-time from/to version 4.3.

Improvements and new features

Updated and extended the agent info retrieval function. Also added an info retrieval function for the manager.

Own Id: OTP-5666

[manager] Added get-bulk functionality, see (sync) get-bulk and (async) get-bulk for more info.

Own Id: OTP-5669

Reported Fixed Bugs and Malfunctions

[manager] Mini-MIB not properly initiated which could cause a server crash if the name_to_oid or oid_to_name functions where called (if no mib's where loaded).

Own Id: OTP-5675

[manager] The out packet counter was not incremented for sent v1/v2 messages.

Own Id: OTP-5676

[manager] The request GC process was started with the wrong default value (idle) which could (unlikely but still) cause problems after a code-change.

Own Id: OTP-5678

Bad handling of error cases (corrupt log file) when converting log files (i.e. when calling the function log_to_txt).

Own Id: OTP-5703

Incompatibilities

[agent] The format of the info returned by the agent info retrieval function has been changed. The info can be converted to the old format by calling the old_info_format).

function.

Own Id: OTP-5666

SNMP Development Toolkit 4.3

Version 4.3 supports code replacement in run-time from/to version 4.2.

Improvements and new features

[manager] Improved async error reporting.

Own Id: OTP-5637

Aux Id: Seq 9970

Added support for The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model (RFC 3826). Both agent and manager.

Martin Björklund

Own Id: OTP-5490

Reported Fixed Bugs and Malfunctions

[manager] Reset of USM-cache when unregister agent.

Own Id: OTP-5636

Aux Id: Seq 9970

Incompatibilities

-

SNMP Development Toolkit 4.2

Version 4.2 supports code replacement in run-time from/to version 4.1.5.

Improvements and new features

[manager] Added another get, get-next and set function with another argument, ExtraInfo (see synchronous get (g), asynchronous get (ag), synchronous set (s), asynchronous set (as), synchronous get-next (gn), and asynchronous get-next (agn)). This argument is passed on to the net-if process. The net-if process included in this application makes no use of this info, but other implementations might.

Own Id: OTP-5574

Aux Id: Seq 9850

[manager] report message with incorrect security info (e.g. securtyModel and/or securityLevel) was ignored (dropped, except for incrementing the proper error counter) even if all other info was correct. This has been changed so that in this situation, the user will be informed, either via the return value from a synchronous call (see synchronous get (g), synchronous set (s) and synchronous get-next (gn)) or via a call to the handle_error callback function.

Own Id: OTP-5578

Aux Id: Seq 9850

[manager] Added a unregister_usm_user function.

Own Id: OTP-5580

Aux Id: Seq 9850

[agent] Added new functions to get lists of all tables, which_tables, and variables, which_variables, known to the agent.

Own Id: OTP-5590

Reported Fixed Bugs and Malfunctions

[manager] Incorrect SHA-key length check when updating usm-user info (should have been 20 but was 16).

Own Id: OTP-5579

Aux Id: Seq 9850

[compiler] Incorrect error report when the name of the field and object is the same.

Kostis Sagonas

Own Id: OTP-5591 (dialyzer)

[manager] Arguments Port (third argument) and CtxName (fourth argument) where swapped in snmpm:g/5 when forwarding call.

Kostis Sagonas

Own Id: OTP-5592 (dialyzer)

Incompatibilities

[manager] The snmpm_network_interface behaviour has changed. One more argument (ExtraInfo) was added to the function send_pdu (see send_pdu).

Own Id: OTP-5574

Aux Id: Seq 9850

SNMP Development Toolkit 4.1.5

Version 4.1.5 supports code replacement in run-time from/to version 4.1.4, 4.1.3, 4.1.2, 4.1.1 and 4.1.

Improvements and new features

[agent] Add mapping of notification oid to alias-name.

Martin Björklund

Own Id: OTP-5562

[manager] Late (async) reply incorrectly delivered to user via handle_pdu instead of handle_error.

Own Id: OTP-5506

Aux Id: Seq 9804

Reported Fixed Bugs and Malfunctions

[manager] Security level handled incorrectly.

Own Id: OTP-5564

Aux Id: Seq 9850

[manager] (v3) Encryption/decryption failure.

Own Id: OTP-5560

Aux Id: Seq 9850

[manager] Cannot handle version-1 traps.

Own Id: OTP-5557

Aux Id: Seq 9850

[manager] Set-request without specifying the variable type failed. The type of the oid had to be found in the loaded MIB. This look-up was erroneous.

Own Id: OTP-5556

Aux Id: Seq 9850

[agent] Error's reported by the SecModule (v3) when generating outgoing message was not handled correctly in message processing dispatcher module.

Own Id: OTP-5550

[manager] Error's reported by the SecModule (v3) when generating outgoing message was not handled correctly in message processing dispatcher module. And also when encryption failed, the real error was masked into another error.

Own Id: OTP-5548

Aux Id: Seq 9804

[agent] Failure to stop the snmp application when started with the old config type.

Own Id: OTP-5547

Aux Id: Seq 9842

[manager] User unregistration after reboot causes process crash (snmpm_server).

Own Id: OTP-5539

[manager] Security engine id look-up errors.

Own Id: OTP-5508

Aux Id: Seq 9804

[manager] Registering of USM users erroneous.

Own Id: OTP-5505

Aux Id: Seq 9804

Incompatibilities

-

SNMP Development Toolkit 4.1.4

Version 4.1.4 supports code replacement in run-time from/to version 4.1.3, 4.1.2, 4.1.1 and 4.1.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

Fixed a perl related problem in the mibs Makefile.

Geoff White

Own Id: OTP-5491

[manager] Failed to register usm users. Both using the usm config file (usm.conf) and the API functions register_usm_user

Own Id: OTP-5499

Aux Id: Seq 9804

Incompatibilities

-

SNMP Development Toolkit 4.1.3

Version 4.1.3 supports code replacement in run-time from/to version 4.1.2, 4.1.1 and 4.1.

Improvements and new features

Added utility functions to update agent and manager config files.

Own Id: OTP-5468

Reported Fixed Bugs and Malfunctions

[agent] Error replies was composed with invalid OIDs for the following error counters: usmStatsWrongDigests (RFC 2574, chap 3.2, point 6), usmStatsUnsupportedSecLevels (point 5) and usmStatsDecryptionErrors (point 8a).

Own Id: OTP-5464

Aux Id: Seq 9791

[agent] Malformed Oid returned from a get_next operation as part of a get-bulk-request causes the agent to crash.

Own Id: OTP-5465

Aux Id: Seq 9783, Seq 9793

[agent] Missing catch on decode function call.

Kostis Sagonas (Dialyzer)

Own Id: OTP-5479

[manager] Invalid check for illegal options.

Kostis Sagonas (Dialyzer

Own Id: OTP-5480

Faulty utility function for generation of agent config file target_addr.conf.

Own Id: OTP-5482

Incompatibilities

-

SNMP Development Toolkit 4.1.2

Version 4.1.2 supports code replacement in run-time from/to version 4.1.1 and 4.1.

Improvements and new features

Export utility functions to create agent and manager config files.

Own Id: OTP-5390

[agent] Documented instrumentation utility functions (e.g. current_request_id).

Own Id: OTP-5423

Reported Fixed Bugs and Malfunctions

[manager] If the client crashes after having issued an async request, the server will crash when trying to perform cleanup. Supervision of the calling process issuing an async request has been removed.

Own Id: OTP-5370

Failure to convert an audit-trail-log to text-file when using the default log name. This applies to both the manager and the agent.

Own Id: OTP-5394

[manager] Corrected the discovery handling of the manager.

Own Id: OTP-5414

[manager] Statistic counter creation correction.

Own Id: OTP-5415

[agent] When using the old style agent configuration (pre 4.0), it was not possible to specify a different error report module (the agent always choose snmpa_error_logger). A similar problem existed for the config option force_config_load, which always reverted to false.

Own Id: OTP-5424

[manager] The manager net_if process failed to properly handle the case bind_to option value true.

Own Id: OTP-5431

[agent] Various minor mnesia-related fixes.

Martin Björklund

Own Id: OTP-5433

[manager] Missing interface functions for loading and unloading mibs into/from the manager: load_mib, unload_mib, which_mibs, name_to_oid and oid_to_name.

Own Id: OTP-5441

Added utility functions to retrieve some system and application info, see versions1 and versions2.

Own Id: OTP-5445

Incompatibilities

-

SNMP Development Toolkit v4.1.1

Version 4.1.1 supports code replacement in run-time from/to version 4.1.

When performing a downgrade, make sure the verbosity of the manager server process is silence, or else the process will crash (due to a bug in version 4.0.4) and be restarted by its supervisor.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[manager] Manager synchronous get-function with timeout erroneous. Results in a function clause.

Own Id: OTP-5364

Replace in decoder fun's of the "old style" fun format, {atom(), atom()}, with a proper fun, e.g. "fun the_function/1".

Own Id: OTP-5365

[manager] Register agent using the config file agents.conf failed due to incorrect function guard.

Own Id: OTP-5367

Incompatibilities

-

SNMP Development Toolkit v4.1.0

Version 4.1.0 supports code replacement in run-time from/to version 4.0.4.

When performing a downgrade, make sure the verbosity of the manager server process is silence, or else the process will crash (due to a bug in version 4.0.4) and be restarted by its supervisor.

Improvements and new features

[manager] Added possibility to monitor a registered user. See snmpm:register_user_monitor.

Own Id: OTP-5286

[agent] Improved symbolic store. Alias and Oids where stored with similar key's (separated by types: atom() and lists() respectively). Also added new function: snmpa:which_aliasnames.

Own Id: OTP-5298

[agent] The agent local_db volatile storage method uses an ets-table which is private. This table has been made protected in order to make it easier to debug and test the snmp agent.

Own Id: OTP-5308

Reported Fixed Bugs and Malfunctions

Misspelled deprecated function. Non-existent function snmp:is_constistent/1 was marked as deprecated. Should have been snmp:is_consistent/1).

Own Id: OTP-5273

[agent] Unclear documentation for function snmpa:send_notification. The Recv argument (specifically the {M,F,A} variant).

Own Id: OTP-5281

[manager] It was never documented how the default user behaviour could be overridden (default user is the module snmpm_user_default). See application configuration or configuration params.

Own Id: OTP-5299

[manager] The server process contained a bug that caused it to crash, if it received an exit message from its gct (GC timer) process and its verbosity was log or higher.

This also effects the application downgrade.

Own Id: OTP-5306

[agent] The agent config file, target_addr.conf, was incorrectly described in the Target Address Definitions chapter of the User's Guide. The EngineId option was left out.

Own Id: OTP-5307

Aux Id: Seq 9689

[manager] When a InformRequest is received, the manager sends a response message. This did not include the varbinds of the original message. See RFC 3416, chapter 4.2.7.

Own Id: OTP-5314

[manager] Erroneous function guards made it possible to update some agent info (that should be "static").

Own Id: OTP-5315

Incompatibilities

-

SNMP Development Toolkit v4.0.4

Version 4.0.4 supports code replacement in run-time from/to version 4.0.3, 4.0.2, 4.0.1 and 4.0.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[manager] The timeout calculation for the request gc timer incorrect.

Own Id: OTP-5267

Incompatibilities

-

SNMP Development Toolkit v4.0.3

Version 4.0.3 supports code replacement in run-time from/to version 4.0.2, 4.0.1 and 4.0.

Improvements and new features

-

Reported Fixed Bugs and Malfunctions

[manager] Some basic SNMP types where not handled when performing set-requests snmpm:s and snmpm:as): 'BITS' (b), 'IpAddress' (ip), 'Opaque' (op), 'Counter32' (c32), 'Counter64' (c64) and 'TimeTicks' (tt).

Own Id: OTP-5256

[manager] Unnecessary error message when receiving trap from unregistered agent or agent using other port then the request port for trap-sending.

Own Id: OTP-5258

Incompatibilities

-

SNMP Development Toolkit v4.0.2

Version 4.0.2 supports code replacement in run-time from/to version 4.0.1 and 4.0.

Improvements and new features

[manager] When the net_if process failed to send a message, for whatever reason, this is just dropped. And the user is "left hanging". Now, if the request is synchronous, it will return with a proper reason (snmpm:g, snmpm:gn and snmpm:s), and if the request was asynchronous, the new callback function, handle_error (see snmpm_user) is called.

Own Id: OTP-5242

Reported Fixed Bugs and Malfunctions

[manager] The arguments CtxName and Port was swapped in the function snmpm:g/6.

Own Id: OTP-5225

[manager] TRAP receive fails for unknown agent due to failing message size calculation.

Own Id: OTP-5241

Incompatibilities

[manager] Introduced a new callback function in the behaviour snmpm_user.

Own Id: OTP-5242

SNMP Development Toolkit v4.0.1

Version 4.0.1 supports code replacement in run-time from/to version 4.0.

Improvements and new features

[agent] Added functions to get a list of all mibs loaded into an agent (see snmpa:which_mibs) and to get the (full path) file name of a loaded mib (see snmpa:whereis_mib).

Own Id: OTP-5187

Reported Fixed Bugs and Malfunctions

[manager] The wrong default value (1024) was used for the net-if option recbuf. If no value is specified, then the OS default shall be used.

Own Id: OTP-5196

Incompatibilities

-

SNMP Development Toolkit v4.0
Improvements and new features

[manager] Added a proper snmp manager.

Major restructure of the application in order to incorporate the new manager.

[agent] Add a snmpa:get/3 with an extra Context argument. Also added similar snmpa:get_next/2,3 functions. See snmpa:get and snmpa:get_next.

Martin Björklund

Own Id: OTP-5054

[agent] Add notification filters. See snmpa_notification_filter, register_notification_filter, unregister_notification_filter and which_notification_filter.

Own Id: OTP-5055

[agent] Added two mib look-up functions, me_of and mib_of.

Own Id: OTP-5082

Aux Id: Seq 8848

[compiler] The MIB compiler is now (source code) independent of the rest of the application (and vice versa).

[compiler] DISPLAY-HINT and UNITS included in the compiled mib.

Own Id: OTP-5053

[compiler] Added compiler options imports and module_identity to include the imports list and module identity (only SMIv2) info in the compiled mib, see snmpc.

[compiler] Added the MIB compiler option +no_defs, see snmpc.

Martin Björklund

[compiler] Added the MIB compiler option +'{module, atom()}', see snmpc.

Martin Björklund

Reported Fixed Bugs and Malfunctions

[agent] Failing MIB configure/reconfigure was difficult to diagnose. Added better error handling and verbosity.

[compiler] Added "default value" for INTEGER with enumeration without a DEFVAL clause. The lowest valid integer value is chosen for the variable_info defval.

Own Id: OTP-5124

Aux Id: Seq 8738

[compiler] Unnecessarily reserved words in the mib compiler can cause some enumeration definitions to fail.

Martin Björklund

Own Id: OTP-5066

Incompatibilities

New sys configuration format. Although the old configuration format still works (if only the agent is used), it is no longer documented and will eventually be eliminated. See application configuration or configuration params for more info.

Three new interface modules have been introduced. One for each of the individual parts of the application:

[agent] snmpa

[manager] snmpm

[compiler] snmpc

The primary interface module, snmp, still exist. It contains the application generic functions. The agent specific stuff still exist (for backward compatibility reasons), but has been deprecated and will eventually be removed.

Some previously already deprecated functions has been removed (since they in turn was dependent on deprecated functions, see calendar).

[agent] The agent network interface API has changed. See snmp agent net if,

[agent] The default agent audit trail log name has changed.

[compiler] Mib format has changed (see OTP-5053 above).