## 1 SNMP Release Notes history

### 1.1 SNMP Development Toolkit 4.3

Version 4.3 supports code replacement in runtime from/to version 4.2.

#### 1.1.1 Improvements and new features

- [manager] Improved asynch 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

#### 1.1.2 Reported Fixed Bugs and Malfunctions

- [manager] Reset of USM-cache when unregister agent.
  Own Id: OTP-5636
  Aux Id: Seq 9970

#### 1.1.3 Incompatibilities

-

### 1.2 SNMP Development Toolkit 4.2

Version 4.2 supports code replacement in runtime from/to version 4.1.5.

#### 1.2.1 Improvements and new features

- [manager] Added another get, get-next and set function with another argument, `ExtraInfo` (see synchroneous get, asynchroneous get, synchroneous set, asynchroneous set, synchroneous get-next and asynchroneous get-next). 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 synchroneous get, synchroneous set and synchroneous get-next) 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

#### 1.2.2 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 function snmpm:g/5 when forwarding call.
  Kostis Sagonas
  Own Id: OTP-5592 (dialyzer)

#### 1.2.3 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

### 1.3 SNMP Development Toolkit 4.1.5

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

#### 1.3.1 Improvements and new features

- [agent] Add mapping of notification oid to aliasname.
  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

#### 1.3.2 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 lookup 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 lookup errors.
  Own Id: OTP-5508
  Aux Id: Seq 9804
- [manager] Registering of USM users erroneous.
  Own Id: OTP-5505
  Aux Id: Seq 9804

#### 1.3.3 Incompatibilities

-

### 1.4 SNMP Development Toolkit 4.1.4

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

#### 1.4.1 Improvements and new features

-

#### 1.4.2 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

#### 1.4.3 Incompatibilities

-

### 1.5 SNMP Development Toolkit 4.1.3

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

#### 1.5.1 Improvements and new features

- Added utility functions to update agent and manager config files.
  Own Id: OTP-5468

#### 1.5.2 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
  Own Id: OTP-5479
  Dialyzer
- [manager] Invalid check for illegal options.
  Kostis Sagonas
  Own Id: OTP-5480
  Dialyzer
- Faulty utility function for generation of agent config file target_addr.conf.
  Own Id: OTP-5482

#### 1.5.3 Incompatibilities

-

### 1.6 SNMP Development Toolkit 4.1.2

Version 4.1.2 supports code replacement in runtime from/to version 4.1.1 and 4.1.

#### 1.6.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

#### 1.6.2 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 textfile 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 allways choose snmpa_error_logger). A similar problem existed for the config option force_config_load, which allways 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

#### 1.6.3 Incompatibilities

-

### 1.7 SNMP Development Toolkit v4.1.1

Version 4.1.1 supports code replacement in runtime 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 it's supervisor.

#### 1.7.1 Improvements and new features

-

#### 1.7.2 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

#### 1.7.3 Incompatibilities

-

### 1.8 SNMP Development Toolkit v4.1.0

Version 4.1.0 supports code replacement in runtime 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 it's supervisor.

#### 1.8.1 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 (seperated 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 bedug and test the snmp agent.
  Own Id: OTP-5308

#### 1.8.2 Reported Fixed Bugs and Malfunctions

- Misspelled deprecated function. Non-existent function snmp:is_constistent/1 was marked as depricated. 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 overriden (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 it's gct (GC timer) process and it's verbosity was log or higher.
  This also effects the application dowgrade.
  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

#### 1.8.3 Incompatibilities

-

### 1.9 SNMP Development Toolkit v4.0.4

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

#### 1.9.1 Improvements and new features

-

#### 1.9.2 Reported Fixed Bugs and Malfunctions

- [manager] The timeout calculation for the request gc timer incorrect.
  Own Id: OTP-5267

#### 1.9.3 Incompatibilities

-

### 1.10 SNMP Development Toolkit v4.0.3

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

#### 1.10.1 Improvements and new features

-

#### 1.10.2 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

#### 1.10.3 Incompatibilities

-

### 1.11 SNMP Development Toolkit v4.0.2

Version 4.0.2 supports code replacement in runtime from/to version 4.0.1 and 4.0.

#### 1.11.1 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 syncroneous, it will return with a proper reason (see snmpm:g, snmpm:gn and snmpm:s), and if the request was asynchroneous, the new callback function, handle_error (see snmpm_user) is called.
  Own Id: OTP-5242

#### 1.11.2 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 failes for unknown agent due to failing message size calculation.
  Own Id: OTP-5241

#### 1.11.3 Incompatibilities

- [manager] Introduced a new callback function in the behaviour snmpm_user.
  Own Id: OTP-5242

### 1.12 SNMP Development Toolkit v4.0.1

Version 4.0.1 supports code replacement in runtime from/to version 4.0.

#### 1.12.1 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

#### 1.12.2 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

#### 1.12.3 Incompatibilities

-

### 1.13 SNMP Development Toolkit v4.0

#### 1.13.1 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 lookup 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

#### 1.13.2 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 choosen for the variable_info defval.
  Own Id: OTP-5124
  Aux Id: Seq 8738
- [compiler] Unnecssarily reserved words in the mib compiler can cause some enumeration definitions to fail.
  Martin Björklund
  Own Id: OTP-5066

#### 1.13.3 Incompatibilities

- New sys configuration format. Allthough 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 compatibillity 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).

Copyright © 1991-2006 Ericsson AB