1 SNMP Release Notes
1.1 SNMP Development Toolkit v3.4.7
Version 3.4.7 supports code replacement in runtime from/to version 3.4.6, 3.4.5, 3.4.4, 3.4.3, 3.4.2, 3.4.1 and 3.4.
1.1.1 Improvements and new features
- Application test directory included in the source release.
Own Id: OTP-5056
Aux Id: Seq 8738
1.1.2 Reported Fixed Bugs and Malfunctions
- [compiler] The value range part of the SYNTAX Integer32 does not handle values given as hexStr or bitStr (only 10-base integers).
Own Id: OTP-5051
Aux Id: Seq 8738
- [compiler] The mib compiler cannot handle mib traps/notifications with included values (OBJECTS) which are defined later in the MIB.
Own Id: OTP-5052
Aux Id: Seq 8738
1.1.3 Incompatibilities
1.2 SNMP Development Toolkit v3.4.6
Version 3.4.6 supports code replacement in runtime from/to version 3.4.5, 3.4.4, 3.4.3, 3.4.2, 3.4.1 and 3.4.
1.2.1 Improvements and new features
1.2.2 Reported Fixed Bugs and Malfunctions
- [agent] Incorrect (v3-) password causes the agent to not send a report back to the manager and counters to not be updated, due to a decode crash.
Martin Björklund
Own Id: OTP-5041
1.2.3 Incompatibilities
1.3 SNMP Development Toolkit v3.4.5
Version 3.4.5 supports code replacement in runtime from/to version 3.4.4, 3.4.3, 3.4.2, 3.4.1 and 3.4.
1.3.1 Improvements and new features
1.3.2 Reported Fixed Bugs and Malfunctions
- [agent] snmp_user_based_sm_mib:add_user/13 calls undef function snmp_conf:check_user/1.
Should have been snmp_conf:check_usm/1. Introduced in snmp-3.4.3
Own Id: OTP-5017
1.3.3 Incompatibilities
1.4 SNMP Development Toolkit v3.4.4
Version 3.4.4 supports code replacement in runtime from/to version 3.4.3, 3.4.2, 3.4.1 and 3.4.
1.4.1 Improvements and new features
1.4.2 Reported Fixed Bugs and Malfunctions
- [agent] SNMP trap send stops after change to Access Group Data.
Own Id: OTP-4999
Aux Id: Seq 8626
- [agent] get-next on vacmAccessTable exits (badarg) for column 3.
Own Id: OTP-5000
Aux Id: Seq 8626
1.4.3 Incompatibilities
1.5 SNMP Development Toolkit v3.4.3
Version 3.4.3 supports code replacement in runtime from/to version 3.4.2, 3.4.1 and 3.4.
1.5.1 Improvements and new features
- [agent] Improved load control. Added a new config parameter, snmp_req_limit, which allow for some load control, see configuration parameters.
Own Id: OTP-4980
Aux Id: Seq 8446
- [agent] The example manager cannot handle start option receive_type.
Nicolas Niclausse
Own Id: OTP-4993
- [compiler] Notifications now included in generated header files.
Own Id: OTP-4931
Aux Id: Seq 8421
- [compiler] Defines of the SNMPv2-TC now builtin. This also means that the SNMPv2-TC provided with this application is the proper one.
Own Id: OTP-4934
Aux Id: Seq 8419
- [agent] Added functions to add/delete config in runtime, equivalent to the config files:
Own Id: OTP-4996
- add_community/5 and delete_community/1
- add_context/1 and delete_context/1
- add_notify/3 and delete_notify/1
- add_addr/10, delete_addr/1, add_params/5 and delete_params/1
- add_user/13 and delete_user/1
- add_sec2group/3, delete_sec2group/1, add_access/8, delete_access/1, add_view_tree_fam/4 and delete_view_tree_fam/1
1.5.2 Reported Fixed Bugs and Malfunctions
- [agent] Access with typo causes system crash. Adding a rudimentary type check to the (set- and is_set_ok-) access functions:
Own Id: OTP-4978
- SNMP-COMMUNITY-MIB:
snmpCommunityTable/3
- SNMP-NOTIFICATION-MIB:
snmpNotifyTable/3
- SNMP-TARGET-MIB:
snmpTargetAddrTable/3
,snmpTargetParamsTable/3
- SNMP-USER-BASED-SM-MIB:
usmUserTable/3
- SNMP-VIEW-BASED-ACM-MIB:
vacmSecurityToGroupTable/3
,vacmAccessTable/3
&vacmViewTreeFamilyTable/3
Aux Id: Seq 8380
- [compiler] SNMP compiler cannot handle MIBs without object defs.
Luke Gorrie
Own Id: OTP-4981
- [agent] Instrumentation function usmUserTable exited on bad values.
Own Id: OTP-3843
Aux Id: Seq 5096
1.5.3 Incompatibilities
1.6 SNMP Development Toolkit v3.4.2
Version 3.4.2 supports code replacement in runtime from/to version 3.4.1 and 3.4.
1.6.1 Improvements and new features
- Added new date and time function(s) utilizing the local_time_to_universal_time_dst of the calendar module.
See local_time_to_date_and_time_dst and date_and_time_to_universal_time_dst.
The old functions,local_time_to_date_and_time/1
anddate_and_time_to_universal_time/1
, has been obsoleted and will be removed at a later date.
Own Id: OTP-4873
1.6.2 Reported Fixed Bugs and Malfunctions
- Handling of subagents (with subtrees not in sequence).
When a subagent has two subtrees registered, A and C, and another agent has a subtree between the two, B. A get-next operation for the last variable in A would return the first variable in B, which is wrong. The master agent did check this, but not very good.
Martin Björklund
Own Id: OTP-4879
1.6.3 Incompatibilities
- Functions
snmp:local_time_to_date_and_time/1
andsnmp:date_and_time_to_universal_time/1
, has been obsoleted and will be removed at a later date.
1.7 SNMP Development Toolkit v3.4.1
Version 3.4.1 supports code replacement in runtime from/to version 3.4.
1.7.1 Improvements and new features
1.7.2 Reported Fixed Bugs and Malfunctions
- [agent] Minor errors in debug macros and sample config file.
Serge Aleynikov
Own Id: OTP-4810
- [agent] Code up/downgrade cleanup.
Own Id: OTP-4811
- [compiler] Fixed a parser error that caused the group checks to behave erratic. Also fixed related group check problems which among other things produced cryptic error messages.
Own Id: OTP-4825
Aux Id: Seq 8183
1.8 SNMP Development Toolkit v3.4
Version 3.4.0 supports code replacement in runtime from/to version 3.3.8.
1.8.1 Improvements and new features
- [agent] MIB server has been re-written to improve memory usage. It is now also possible to create the "mib database" before starting the snmp agent (instead of loading mibs at runtime). MIB data is stored in either ets (default), dets or mnesia.
Own Id: OTP-4601
- [agent] The
snmp_local_db
now usedets
for persistent storage, instead ofsnmp_pets
.
Own Id: OTP-4720
1.8.2 Reported Fixed Bugs and Malfunctions
- [compiler] Added check and warning for sloppy asignment in MIBs.
Own Id: OTP-4660
- [compiler] Fixed a bunch of errors related to group checks.
Own Id: OTP-4607
Aux Id: Seq 7765
1.9 SNMP Development Toolkit v3.3.8
Version 3.3.8 supports code replacement in runtime from/to version 3.3.7, 3.3.6 and 3.3.5.
1.9.1 Improvements and new features
- In case the UDP port dies, the snmp_net_if process now reports this and also tries to re-open the port.
Own Id: OTP-4457
Aux Id: Seq 7594
- SNMP mib compiler warning(s) cleanup. Some of the warnings (e.g. about missing accessfunction) was changed into info printouts, which can be seen with the compiler (erlc) argument +'{verbosity,info}'. See SNMP compiler options.
Own Id: OTP-4478
1.9.2 Reported Fixed Bugs and Malfunctions
- The agent side set and is_set_ok operations on the snmpTargetAddrExtTable was incorrect.
Own Id: OTP-4477
Aux Id: Seq 7444
1.10 SNMP Development Toolkit v3.3.7
Version 3.3.7 supports code replacement in runtime from/to version 3.3.6, 3.3.5, 3.3.4, 3.3.3 and 3.3.2
1.10.1 Improvements and new features
1.10.2 Reported Fixed Bugs and Malfunctions
- SNMP Target mib tag check incorrect.
Own Id: OTP-4394
Aux Id: Seq 7444
1.11 SNMP Development Toolkit v3.3.6
Version 3.3.6 supports code replacement in runtime from/to version 3.3.5, 3.3.4, 3.3.3 and 3.3.2
1.11.1 Improvements and new features
1.11.2 Reported Fixed Bugs and Malfunctions
- Improved error handling in snmp_error_report module (ets-lookup failure).
Own Id: OTP-4345
Aux Id: Seq 7309
- SNMP NotifiyType error. Calls to the functions
snmp_notification_mib:get_targets/0
failes since it assumes that notify type was stored as atoms, which is not always the case.
Furthermore the parsing of the notify config file did not convert the 'trap' and 'inform' to their respective integer values 1 and 2.
Own Id: OTP-4329
Aux Id: Seq 7367
1.12 SNMP Development Toolkit v3.3.5
Version 3.3.5 supports code replacement in runtime from/to version 3.3.4, 3.3.3 and 3.3.2
1.12.1 Improvements and new features
- When opening a log file, the failure reason was not checked. Instead it was assumed to be
{badarg,size}
(when opened without the size option, this means the file does not exist). This is usually correct, but just to be on the safe side the test has beem changed to make sure that no other results get through.
Own Id: OTP-4282
Aux Id: Seq 7312
- Added possiblillity to specify own error report module (instead of the default, snmp_error). This is done with a new application config directive:
snmp_error_report_mod
, see configuration parameters. Also added a size limit to the snmp_error module. Messages larger then 1024 chars will be truncated. Added a very simple error report module,snmp_error_io
, which writes the message to stdout using theio
module (without any limitations).
Own Id: OTP-4279
Aux Id: Seq 7309
- Test manager does not send error message in quiet mode. If the request to the manager contains an erroneous oid, no information is sent back to the client (that started the manager). See quiet config parameter for the new reply value.
Added two new functions for oid to/from aliasname conversion, to be used by the test manager users, see oid_to_name and name_to_oid.
Own Id: OTP-4250
Aux Id: Seq 7270
1.12.2 Reported Fixed Bugs and Malfunctions
- Handling of large erroneous SNMP messages corrected. Encoding of the reply to these messages failed due to a bug in the length encoding. Also corrected counter increments.
Own Id: OTP-4278
Aux Id: Seq 7309
1.13 SNMP Development Toolkit v3.3.4
Version 3.3.4 supports code replacement in runtime from/to version 3.3.3, 3.3.2, 3.3.1, 3.3.0 and 3.2.2 (with the exception of what's mentioned in the version 3.3.0 note).
1.13.1 Improvements and new features
1.13.2 Reported Fixed Bugs and Malfunctions
- Crypto keys changed from string to list
Own Id: OTP-4206
Aux Id: Seq 7207
- SNMP date diff check changed according to RFC 2579 (was according to RFC 1903).
Own Id: OTP-4209
Aux Id: Seq 7185
1.14 SNMP Development Toolkit v3.3.3
Version 3.3.3 supports code replacement in runtime from/to version 3.3.2, 3.3.1, 3.3.0 and 3.2.2 (with the exception of what's mentioned in the version 3.3.0 note).
1.14.1 Improvements and new features
1.14.2 Reported Fixed Bugs and Malfunctions
- Erroneous macro defines corrected.
Own Id: OTP-4006
- Storage of mib data using dets did not work (see OTP-3740).
Own Id: OTP-4076
- Error according to section 3.2.7a of RFC 2274/2574 reported with the wrong OID (usmStatsNotInTimeWindows instead of usmStatsNotInTimeWindows.0)
Own Id: OTP-4090
1.15 SNMP Development Toolkit v3.3.2
Version 3.3.2 supports code replacement in runtime from/to version 3.3.1, 3.3.0 and 3.2.2 (with the exception of what's mentioned in the version 3.3.0 note).
1.15.1 Improvements and new features
1.15.2 Reported Fixed Bugs and Malfunctions
- snmp_net_if:subtr/2 don't handle megaseconds
Own Id: OTP-3920
Aux Id: Seq 5174
- The mib compiler does not detect if an notification and an ordinary mib entry (OBJECT-IDENTITY) has the same OID.
Own Id: OTP-3986
Aux Id: Seq 5256
1.16 SNMP Development Toolkit v3.3.1
Version 3.3.1 supports code replacement in runtime from/to version 3.3.0 and 3.2.2 (with the exception of what's mentioned in the version 3.3.0 note).
1.16.1 Improvements and new features
- The UDP based Network Interface included in this application, snmp_net_if, now sets the UDP receive buffer size, according to the snmp_net_if_recbuf sys config option. If this option is not present, the default value is used (i.e. it is not set at all). There is no need to set the send buffer since the size of the send buffer is adjusted automatically. Note that the underlying IP implementation defines the maximum buffer size.
Own Id: OTP-3874
Aux Id: seq5103
1.16.2 Reported Fixed Bugs and Malfunctions
- Failure to retrieve mib info. This is information (specifically a list of loaded mibs) is retrieved when performing a takover. Could cause a takeover to fail.
Own Id: OTP-3890
Aux Id: seq5123
- Error in mib conversion for notifications. This error exist only in version 3.3.0.
Own Id: OTP-3875
Aux Id: seq4936
- SNMP loop if damaged snmp db. If a table row has been created with own RowIndex (key) of "", this will cause an infinit loop when traversing the table (this is done when the SNMP application at startup performs the table cleanup). This happens if:
Own Id: OTP-3881
- Empty string for CommunityIndex in config file community.conf.
- Empty string for NotifyName in config file notify.conf.
- Empty string for TargetName in config file target_addr.conf.
- Empty string for ParamsName in config file target_params.conf.
Aux Id: seq5113
1.17 SNMP Development Toolkit v3.3.0
Version 3.3.0 supports code replacement in runtime from/to version 3.2.2.
You cannot downgrade if you are using dets or mnesia for mib data storage, since previous versions only supported ets.
1.17.1 Improvements and new features
- The agent can now load mibs compiled with a pre 3.2.0 mib compiler.
Own Id: OTP-3833
- Added a new interface function to retrieve the index types of the table info. This was previously internal info only. See the generic functions.
Own Id: OTP-3816
Aux Id: seq5053
- It is now possible to store mib data in ets, dets and mnesia. Default is ets. See configuration parameters on how to configure this.
Own Id: OTP-3740
Aux Id: seq4947
1.17.2 Reported Fixed Bugs and Malfunctions
- The EVA application called undefined SNMP log conversion function.
Own Id: OTP-3733
- Snmp manager 'get-bulk-request' failure.
This is actually a UDP problem (OTP-3807). In R7 the default receive buffer, recbuf, size of a UDP socket has incorrectly been changed to 1024 bytes. The problem is that when a message bigger then the recbuf size is received it is cut and sizeof(recbuf) bytes is delivered (this is not the correct behaviour). The simple snmp manager app included in this application did not explicitly set the size of recbuf.
So, in R7 a get-bulk-request could easily exceed 1024 bytes, resulting in an erroneous message. The size of recbuf for the snmp manager app is now configurable ({recbuf,integer()}
, see manager options).
Note that the maximum size of outgoing/incoming message should be set to a value less then or equal to the recbuf size! See for example snmpEngineMaxMessageSize in SNMP_FRAMEWORK_MIB.
Note that this problem exists in R7 only!
Own Id: OTP-3797
Aux Id: seq5008
1.18 SNMP Development Toolkit v3.2.2
Version 3.2.2 supports code replacement in runtime from/to version:
- OTP version R7: 3.2.1 and 3.2.0,
- OTP version R6: 3.1.4 and 3.1.3,
- OTP version R5: 3.0.9.4, 3.0.9.3 and 3.0.9.2.
1.18.1 Improvements and new features
- It is now possible to register/unregister for notification of changes stored (permanetly, i.e. on disk) in snmp_local_db.
Own Id: OTP-3704
- Added direct access (read) functions to the symbolic store for faster access (accessible throw the snmp module).
Own Id: OTP-3725
1.19 SNMP Development Toolkit v3.2.1
Version 3.2.1 supports code replacement in runtime from/to version 3.2.0, 3.1.4, 3.1.3, 3.0.9.4, 3.0.9.3 and 3.0.9.2.
1.19.1 Reported Fixed Bugs and Malfunctions
- Bad-arith in snmp_pdus (error case not handled). Erronous user provided messages that could not be encoded caused the application to crash.
Own Id: OTP-3688
Aux Id: seq4874
1.20 SNMP Development Toolkit v3.2.0
Version 3.2.0 supports code replacement in runtime from/to version 3.1.4, 3.1.3 and 3.0.9.2.
When importing MIBs, ensure that the imported MIBs as well as the importing MIB are compiled using the same version of the SNMP-compiler.
The required interface of the Net if module has changed.
1.20.1 Improvements and new features
- Debugging has been improved. It is now possible to "debug" all named processes (individually) of the snmp application. See the snmp module for details.
- Filter (audit trail) logs on timestamp.
Own Id: OTP-3600
- The MIB-compilator has been improved. It is possible to include Description-field into compiled MIB.
Own Id: OTP-3538
1.20.2 Reported Fixed Bugs and Malfunctions
- Failure converting audit trace log to text file.
Own Id: OTP-3649, OTP-3650
Aux Id: seq4844
1.21 SNMP Development Toolkit v3.1.4
Version 3.1.4 supports code replacement in runtime from/to version 3.1.3.
1.21.1 Improvements and new features
- Debugging has been improved. It is now possible to "debug" all named processes (individually) of the snmp application. See the snmp module for details.
1.21.2 Reported Fixed Bugs and Malfunctions
- Erroneous check for duplicate trap/mib entries. A check for duplicate mibentries has been added. This check can be overridden with the sys config tuple:
{snmp_mibentry_override,bool()}
. The check for duplicate trap entries was erroneous, only the first trapentry in a mib was checked. This check can now be overridden with the sys config tupple:{snmp_trapentry_override,bool()}
. Default values in both cases arefalse
(no override, which means the check is made).
Own Id: OTP-3601
- Cloning of user from template user failure.
Own Id: OTP-3596
Aux Id: seq4584
- Problem with deprecated (mib-) definitions.
A new option for the MIB-compilator is used. The option is deprecated, will get around the problem with deprecated definition.
Own Id: OTP-3574
Aux Id: seq4528
- Trap sending example in chapter Manual implementation corrected.
Own Id: OTP-3353
1.22 SNMP Development Toolkit v3.1.3
Version 3.1.3 supports code replacement in runtime from version 3.1.2.
1.22.1 Improvements and new features
1.22.2 Reported Fixed Bugs and Malfunctions
- SNMPv3 discovery process does not work.
Own Id: OTP-3542
Aux Id: seq4449
- Corrupt (snmp_local_db) log files cause snmp crash. Changes to the local db is stored on disk in a logfile. In a takeover senario the new snmp will try to restore the database by reading the ets-table on disk and then update this with the transactions stored in the logfile. If the logfile is corrupt, this caused a crash.
Own Id: OTP-3537
Aux Id: seq4471
- Return value genErr from GET instrumentation function treated as not accepted.
Own Id: OTP-3534
Aux Id: seq4437
- snmp:date_and_time() rewritten to not rely on erlang:now()
Own Id: OTP-3525
Aux Id: seq4391
- the SNMP reportableFlag was set in response messages, which it should not.
Own Id: OTP-3416
Aux Id: seq4200.
- Failure to check if MIBs were already loaded at take-over.
Own Id: OTP-3411
Aux Id: seq4155
- Unneccessary print-outs in snmp_net_if.
Own Id: OTP-3410
Aux Id: seq4241
- A crash-report from disk_log was generated when the SNMP agent was started for the very first time.
Own Id: OTP-3393
Aux Id: seq4211
- The SNMP agent crashed (in snmp_pdus:enc_oid_tag) during initialization of table. Proper check of object identifier values has been added.
Own Id: OTP-3378
Aux Id: seq4155.
1.23 SNMP Development Toolkit v3.1.2
Version 3.1.2 supports code replacement in runtime from versions 3.1.1 and 3.0.6.
1.23.1 Improvements and new features
- The fact that the MIBs SNMPv2-SMI, RFC-1215, RFC-1212, SNMPv2-TC, SNMPv2-CONF and RFC1155-SMI are compiler built-ins, has been added to the compiler documentation.
Own Id: OTP-3316
Aux Id:
- The agent option
authentication_service
has been reintroduced. This option is part of an SNMP internal API.
Own Id: OTP-3324
Aux Id:
- It has been clarified in the documentation, that the value of
snmpEngineID
should not be just a simple string, but has to follow the conventions specified in RFC 2271/2571.
Own Id: OTP-3350
Aux Id:
1.23.2 Reported Fixed Bugs and Malfunctions
- If two Erlang nodes are started on the same host, and each node starts an SNMP agent, and if both agents use the same UDP port, the agent that starts last, will completely control the port. The reason for this is that the UDP port is opened with a reuse directive.
A new optionno_reuse_address
, which, if set, causes the reuse directive not to be set.
Own Id: OTP-3317
Aux Id: seq4008
- Debug printouts from
snmp_net_if
appeared even when the debug flag was not set. This has been corrected.
Own Id: OTP-3345
Aux Id: seq4091
1.24 SNMP Development Toolkit v3.1.1
1.24.1 Improvements and new features
- The audit trail log has been improved. Now each log item also contains a time stamp. Also the text format of a log (produced by a call to
snmp:log_to_txt
) has been changed to be more "line oriented".
The functionsnmp:log_to_txt/4
has been added.
Own Id: OTP-3261
Aux Id: seq3884, OTP-3253
- Each item in an audit trail text log file (produced by
snmp:log_to_txt
) now has a trailing TAB character, and any TAB character in the body of a text item is replaced by ESC TAB.
Own Id: OTP-3282
Aux Id: seq3969
- The function
snmp:log_to_txt/5
has been added, so that not only the log name but also the log file name can be specified when converting an audit trail log to text format.
Own Id: OTP-3298
Aux Id:
- A new optional environment variable
bind_to_ip_addess
has been added, controlling if the agent should bind to the specific IP address or not.
Own Id: OTP-3293
Aux Id:
1.24.2 Reported Fixed Bugs and Malfunctions
- Conversion of a log to text format could crash SNMP if the log was already open.
Own Id: OTP-3261
Aux Id: seq3884
- The BER encoding of integers did not follow the ASN.1 BER encoding rules.
Own Id: OTP-3274
Aux Id: seq3960
- SNMP did not start if the audit disk_log file was corrupt.
Own Id: OTP-3290
Aux Id:
- SNMP was not backward compatible with instrumentation functions that returned
{noValue, unSpecified}
(the SNMP agent crashed). This has been changed by silently transforming such a return value to{noValue, noSuchInstance}
.
Own Id: OTP-3303
Aux Id: seq3975
- The header file
snmp_vacm.hrl
was missing in the SNMPsrc
directory.
Own Id: OTP-3327
Aux Id:
1.24.3 Incompatibilities with v3.1
- Applications that parses the audit trail log text files have to be rewritten.
1.25 SNMP Development Toolkit v3.1
1.25.1 Improvement and new features
- Adaption to new format of exit codes.