1 SNMP Release Notes
1.1 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.1.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 the io
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.1.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.2 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.2.1 Improvements and new features
1.2.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.3 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.3.1 Improvements and new features
1.3.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.4 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.4.1 Improvements and new features
1.4.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.5 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.5.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.5.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:
-
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.
Own Id: OTP-3881
Aux Id: seq5113
1.6 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.6.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.6.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.7 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.7.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.8 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.8.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.9 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.9.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.9.2 Reported Fixed Bugs and Malfunctions
-
Failure converting audit trace log to text file.
Own Id: OTP-3649, OTP-3650
Aux Id: seq4844
1.10 SNMP Development Toolkit v3.1.4
Version 3.1.4 supports code replacement in runtime from/to
version 3.1.3.
1.10.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.10.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 are false
(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.11 SNMP Development Toolkit v3.1.3
Version 3.1.3 supports code replacement in runtime from
version 3.1.2.
1.11.1 Improvements and new features
1.11.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.12 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.12.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.12.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 option no_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.13 SNMP Development Toolkit v3.1.1
1.13.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 function snmp: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.13.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
SNMP src
directory.
Own Id: OTP-3327
Aux Id:
1.13.3 Incompatibilities with v3.1
-
Applications that parses the audit trail log text files
have to be rewritten.
1.14 SNMP Development Toolkit v3.1
1.14.1 Improvement and new features
-
Adaption to new format of exit codes.
1.15 SNMP Development Toolkit v3.0.3
1.15.1 Improvements and new features
-
A new function
snmp:date_and_time_to_string/1
has been added. It converts a DateAndTime octet string to a
string, according to the DISPLAY-HINT in RFC1903.
-
A new function
snmp_target_mib:set_target_engine_id/2
has been
added. It
1.15.2 Reported Fixed Bugs and Malfunctions
-
get-next on vacmAccessTable finds all columns.
Own Id: OTP-3187
Aux Id: seq3647
-
The functions in the module
snmp
for
manipulating DateAndTime objects didn't handle the year
component correctly. Specifically, the two octets
representing the year should be coded in hex.
NOTE: see
"Incompatibles" below.
Own Id: OTP-3189
Aux Id: seq3655
-
It is now possible to create new rows in
snmpTargetAddrTable
in SNMP-TARGET-MIB
. The
engine id associated with the target is initialized to "" by
default. This can be changed by using the new function
snmp_target_mib:set_target_engine_id/2
.
1.15.3 Incompatibilities with v3.0.*
-
Applications that uses the DateAndTime manipulating
functions might need to be rewritten to handle the correct
coding of the year component. For example, a function that
prints a DateAndTime value needs to be changed. The new
function
snmp:date_and_time_to_string/1
can be used.
1.16 SNMP Development Toolkit v3.0.2
1.16.1 Reported Fixed Bugs and Malfunctions
-
The agent now starts correctly when a Audit Trail Log
is used.
Own Id: OTP-3137
Aux Id: seq3594
1.17 SNMP Development Toolkit v3.0.1
1.17.1 Improvements and new features
-
A new function
snmp:change_log_size/1
has been
added to dynamically change the size of the Audit Trail Log.
Own Id: OTP-2989
Aux Id: seq1499
1.17.2 Reported Fixed Bugs and Malfunctions
-
The function
snmp:get/2
didn't preserve the order
of its input variable list. The order of the elements in
the returned list was not the same as in the input list.
Own Id: OTP-3134
Aux Id: seq1727
-
The record
message
in snmp_types.hrl
has been changed to reflect the new SNMPv3 message format.
Specifically, the community
field has changed name to
vsn_hdr
. If the message version is v1 or v2c, it is still
just the community string, but if the version is v3, it is a
v3_hdr
record. This change only affects applications that
encodes / decodes SNMP messages using the module snmp_pdus
.
If an application wants to use this new record (i.e. it needs to
use SNMPv3), it must define the constant SNMP_USE_V3
before
the header file is included. This ensures that old applications
that uses the old definition of message
and don't use v3
don't have to be modified.
1.18 SNMP Development Toolkit v3.0
1.18.1 Improvements and new features
-
The agent is multi-lingual, and understands SNMPv1,
SNMPv2c, and SNMPv3. Full SNMPv3 support is given,
including encryption and authentication, but the optional
proxy and notification filtering features are not
implemented.
-
A new function
snmp:send_notification/6
is
added, which can be used to specify from which context a
notification is sent.
-
All relevant standard MIBs are included in the
mibs/
directory in the distribution, for reference
purposes.
-
The agent uses the application
crypto
for
authentication and encryption. If these functions are to be
used, the crypto
application must be started before the
snmp
application.
-
The manager supports SNMPv3. A few new options
has been added to the start function
snmp_mgr:start/1
.
1.18.2 Reported Fixed Bugs and Malfunctions
-
The Mib Compiler now handles forward references in
OBJECT IDENTIFIERs.
Own Id: OTP-2942
Aux Id: seq1415
-
GET-NEXT on an empty table implemented with
snmp_generic
returns correctly.
Own Id: OTP-2979
Aux Id: seq1496
-
The functions
snmp:log_to_text/2,3
can be used
when the log is opened and in use by the agent.
Own Id: OTP-2994
Aux Id: seq1508
1.18.3 Incompatibilities with v2.2.x
-
The OTP-SNMPEA-MIB is not used anymore. The
functionality is provided by standard MIBs. This means that
managers that are using this MIB should use the standard MIBs
instead. Applications that include the header file
OTP-SNMPEA-MIB.hrl
need to be changed.
-
The handling of data in the configuration files
vs. data in the actual tables is reworked and made
consistent. This means that data changed by a manager
survives a reboot, if the manager so wishes (by using the
StorageType columns in the tables). There is a new
configuration parameter,
force_config_load
which can be set to true
to
get the old behaviour, i.e. that the configuration files are
always read at startup.
-
The configuration files
address.conf
,
view.conf
and trap_dest.conf
are not used
anymore. The formats of agent.conf
and
community.conf
have changed. context.conf
,
usm.conf
and vacm.conf
are new files. If the
agent is started with the old files, it will convert them to
the new files. Note however, that all information is not
available in the old files. Thus, it is recommended to check
the configuration files manually, or re-generate them using
snmp:config/0
.
-
The module
snmp_mpc
has changed name to
snmp_mpd
, and it is now documented. It should be
called only from a net if
process.
1.19 SNMP Development Toolkit v2.2.3
1.19.1 Reported Fixed Bugs and Malfunctions
-
When issuing a GET-NEXT request which contains more
than one column from a table, and the table is empty, an
erroneus GET-RESPONSE was sent to the manager. The
agent failed to locate the next object for all columns.
Own Id: OTP-2979
1.20 SNMP Development Toolkit v2.2.2
1.20.1 Reported Fixed Bugs and Malfunctions
-
The function
snmp:validate_date_and_time/1
now
works for all valid times.
Own Id: OTP-2776
Aux Id: seq1238
-
The MIB compiler now handles DEFVALs specified as bit
strings (e.g.
'10010'b
.
Own Id: OTP-2826
Aux Id: seq1285
-
The MIB compiler now handles DEFVALs for
Opaque
objects. Such a DEFVAL must be in string
format, e.g. 'c0fa'H
,
Own Id: OTP-2827
Aux Id: seq1285
-
The MIB compiler now handles DEFVALs with no bits set
for
BITS
objetcs.
Own Id: OTP-2827
Aux Id: seq1285
-
The MIB compiler gives better error messages when
erroneous DEFVALs are detected.
Own Id: OTP-2827
Aux Id: seq1285
-
The MIB compiler gives better error messages when
erroneous table definitions are detected.
Own Id: OTP-2832
1.21 SNMP Development Toolkit v2.2.1
1.21.1 Reported Fixed Bugs and Malfunctions
-
The example mib EX1-MIB in the user's guide compiles.
Own Id: OTP-2576
Aux Id: seq933
-
The supervisor of the mibs has a correct shutdown
time (infinity instead of 2 secs).
Own Id: OTP-2606
Aux Id: seq947
-
The automatic conversion of trap_dest.conf to the new
notify.conf, target_addres.conf, and target_params.conf now
gives an error message if the conversion fails.
Own Id: OTP-2647
-
The UDP port used by the agent is now opened with the
flag
reuseaddr
set to true.
Own Id: OTP-2655
-
authenticationFailure
are now sent correctly.
Own Id: OTP-2690
-
A
get
operation that refers to a
not-accessible
object now returns the correct error code.
Own Id: OTP-2691
-
The counter
snmpInTotalsetVars
is now updated
properly.
Own Id: OTP-2694
1.22 SNMP Development Toolkit v2.2
1.22.1 Improvements and new features
-
The agent and
snmp_mgr
support
Inform-Requests when sending SNMPv2 notifications, as defined
in rfc2273. This means that it is now possible to send a
notification and have the agent wait for an acknowledgement
from the manager. See the User's guide, "Notification
Sending" for a description of the mechanism.
-
The agent uses the SNMP-NOTIFICATION-MIB and
SNMP-TARGET-MIB from rfc2273 to select notification
destinations, instead of the
intTrapDestTable
from
OTP-SNMPEA-MIB.
-
There are a few new functions in the module
snmp
for trap/notification sending.
-
Two new modules are added;
snmp_notification_mib
and snmp_target_mib
.
These modules contain functions for initialising the agent
data from configuration files.
-
There is a new function
reconfigure/1
in
snmp_standard_mib
, which reconfigures the persistent
objects from the configuration files.
-
The following mibs are added to the distribution for
completeness:
-
SNMPv2-TM
-
SNMPv2-SMI
-
SNMPv2-CONF
-
SNMP-FRAMEWORK-MIB
-
RFC1155-SMI
-
RFC-1212
-
RFC-1215
1.22.2 Reported Fixed Bugs and Malfunctions
-
The
snmp_mgr
no longer crashes if an unknown
trap is received.
Own Id: OTP-2137, OTP-2464
-
The supervisor of the mibs has a correct shutdown
time (infinity instead of 2 secs).
Own Id: OTP-2310
Aux Id: seq767, HA79462
-
The Mib Compiler now handles the construct MODULE
OtherModule in the MODULE-COMPLIANCE macro.
Own Id: OTP-2465
-
The Mib Compiler now handles the construct INTEGER
(0..1 | 3..4).
Own Id: OTP-2466
-
The Mib Compiler now handles IMPLIED OIDs
Own Id: OTP-2467
-
The Mib Compiler now handles REFERENCE in the
OBJECT-IDENTITY macro.
Own Id: OTP-2468
1.22.3 Incompatibilities with v2.1.1
-
The table
intTrapDestTable
in OTP-SNMPEA-MIB
is not used anymore.
-
There are three new configuration files;
target_addr.conf
, target_params.conf
and
notify.conf
. The old file trap_dest.conf
is not
used. However, if a trap_dest.conf
file exists, the
agent automatically converts that file to the new files.
-
The function
snmp:send_trap
no longer takes a
CommunityString
as a parameter. This parameter is now
optional, and refers to the snmpNotifyName
in
snmpNotifyTable
. Old code that uses the old function
does not have to be changed.
-
There are two new messages a
net if
process must
handle. These are messages to handle Inform-Requests.
1.22.4 Future Improvements
More MIBs from the so-called SNMPv3 effort will be
implemented, as these mibs become standards (although these
MIBs don't require SNMPv3). This means that more tables from
OTP-SNMPEA-MIB become obsolete, e.g. intCommunityTable
,
intAddressTable
and intViewTable
.
SNMPv3 itself will be implemented.
1.23 SNMP Development Toolkit v2.1.1
1.23.1 Reported Fixed Bugs and Malfunctions
-
The
snmp_note_store
server sometimes didn't
invoked its gc, which meant that its internal data
structure could grow very large.
Own Id: OTP-1946, OTP-2004
Aux Id: seq451
-
If a (possibly user-defined)
net if
process crahses
and restarts, the agent could crash as well.
Own Id: OTP-2017
-
Failover/takeover of the SNMP agent administering the MIB
did not work, since the old implementation tried to delete a
Mnesia table on a node which was not up and running (which
always is the case at failover). Now the SNMP related Mnesia
table is defined to have the
local_content
property.
Own Id: OTP-2146
Aux Id: seq1
1.24 SNMP Development Toolkit v2.1.1
1.24.1 Reported Fixed Bugs and Malfunctions
-
The
snmp_note_store
server sometimes didn't
invoked its gc, which meant that its internal data
structure could grow very large.
Own Id: OTP-1946, OTP-2004
Aux Id: seq451
-
If a (possibly user-defined)
net if
process crahses
and restarts, the agent could crash as well.
Own Id: OTP-2017
-
Failover/takeover of the SNMP agent administering the MIB
did not work, since the old implementation tried to delete a
Mnesia table on a node which was not up and running (which
always is the case at failover). Now the SNMP related Mnesia
table is defined to have the
local_content
property.
Own Id: OTP-2146
Aux Id: seq1
1.25 SNMP Development Toolkit v2.1
1.25.1 Improvements and new features
-
The agent does not use the application
sockets
anymore. Thus, sockets
does not have to be started
before the agent (or manager).
-
There are several new functions in the module
snmp
to check the syntax of and convert to/from
DateAndTime
structures.
1.25.2 Reported Fixed Bugs and Malfunctions
-
If an
is_set_ok
or undo
instrumentation
function crashed because it called an undefined function, the
agent treated this as if the instrumentation function
succeeded.
Own Id: OTP-1762
Aux Id: seq369
-
The function
snmp:date_and_time/0
returns a
correct DateAndTime
structure. Previously, the
sign in position 9 was wrong.
Own Id: OTP-1838
-
Traps larger than the maximum packet size are now
handled.
Own Id: OTP-1850
Aux Id: seq416
-
The
snmp_note_store
server never invoked its
gc, which meant that its intenal data structure could grow
very large.
Own Id: OTP-1946
Aux Id: seq451
-
Some objects in traps in SNMP v1 MIBs did not get the
correct type in the compiled mib. This could lead to that
the trap could not be sent.
Own Id: OTP-2063
1.26 SNMP Development Toolkit v2.0
1.26.1 Improvements and new features
-
The agent is bilingual, and understands SNMPv1 and
SNMPv2c.
-
The agent is made multi-threaded (configurable
option).
-
The agent can be configured to log requests to an
Audit Trail Log.
-
The application is restructured to be able to restart
large parts of the agent in case of an error.
-
The NetIf process API is simpler than in previous
versions.
-
New functions for handling AGENT-CAPABILITES
statements in the module
snmp
.
-
A few new MIBs are added to the distribution. These
are SNMPv2-MIB and SNMPv2-TC. The INTERNAL-MIB has changed
its name to OTP-SNMPEA-MIB.
-
Added the
coldStart
and warmStart
traps
to the STANDARD-MIB. None of them are sent by default
though. The STANDARD-MIB and SNMPv2-MIB defines the same
objects and notifications, except for the object specifc to v1
and v2 respectively.
-
snmp:enum_to_int/2
and
snmp:int_to_enum/2
works for types as well as for objects.
-
RowStatus no longer needs to be the last column for
snmp_generic
to work. This
allows a table to be extended at a later stage.
-
A table doesn't need to have all columns
defined. Example:
snmp_generic
can handle a table with
columns 1,2,3,5.
-
snmp_generic
works even though some columns in
the middle of a table are not-accessible.
-
Default values for strings may use "" syntax.
-
The Mib Compiler understands both SNMPv1 and SNMPv2
MIBs and implements cross-version-IMPORTs.
-
The Mib Compiler produces several error messages at
the same time.
-
The Mib Compiler is more strict.
-
snmp_mgr
can send and receive SNMPv2 messages.
-
snmp:config/0
generates a sys.config file.
-
Added a record definition for the Mnesia table
snmp_variables
to snmp_types.hrl
.
-
The master agent may now be a distributed Erlang
applications, and it reloads loaded mib during takeover.
1.26.2 Reported Fixed Bugs and Malfunctions
-
The Mib Compiler and
snmp_generic
handle
objects with STATUS deprecated and obsolete.
Own Id: OTP-1372
Aux Id: HA47707
-
Agent restarts after crashes keeps information about
loaded mibs. Previously, the agent restarted, but all
loaded mibs were unloaded.
Own Id: OTP-1423
Aux Id: AD84262
-
The generated
.hrl
files now starts with an
-ifndef
which makes it possible to include the same
file several times.
Own Id: OTP-1425
-
The agent could under som circumstances crash when a
table instrumentation function crashed.
Own Id: OTP-1738
Aux Id: seq351
1.26.3 Incompatibilities with v1.3.1
-
The MIBs must be recompiled.
-
The MIB compiler is more strict. Now it also checks
that macros are imported correctly.
-
The NetIf API is entirely re-written. It is now
easier to implement a NetIf process.
-
The Proxy handling in
snmp_net_if
is removed.
-
The INTERNAL-MIB has changed its name to
OTP-SNMPEA-MIB.
1.26.4 Known bugs and problems
The User's Guide now describes where the Agent
and MIB compiler don't implement the standard.
1.27 SNMP Development Toolkit v1.3.1
1.27.1 Reported Fixed Bugs and Malfunctions
-
When trying to create a row that already exists in
snmp_local_db, the new row is inserted instead of the old
row.
1.28 SNMP Development Toolkit v1.3
1.28.1 Improvements and new features
-
The MIB compiler has a new "include_lib"-like option
called
il
.
Own Id: OTP-1041
-
The
RFC1213-MIB
, STANDARD-MIB
and
INTERNAL-MIB
are delivered in compiled form
(.bin
) as well as source form. The compiled
mibs are located in snmp-1.2.3/priv/mibs
directory.
Use the option il
to the mib compiler to find these
files.
Own Id: OTP-1272
-
A new module
snmp_index
for building snmp indexes
like the one used by Mnesia is added.
Own Id: OTP-1307
-
snmp:mib_to_hrl
generates OBJECT IDENTIFIERs for
all internal nodes in a MIB module, not just for the
leaves in the tree.
Own Id: OTP-1319
1.28.2 Reported Fixed Bugs and Malfunctions
-
The agent now treats the SNMPv2 error value
wrongValue
correctly.
Own Id: OTP-1162
-
It is now possible to load MIBs with short names.
Own Id: OTP-1195
-
The MIB-compiler now compiles full-path files.
Own Id: OTP-1217
-
The function
snmp:config/0
works for WinNT.
Own Id: OTP-1216
-
The agent handles bad index returned from table
instrumentation functions.
Own Id: OTP-1222
-
The data type
IpAddress
works better.
Own Id: OTP-1234
-
The function
snmp:date_and_time/0
now works
correctly when called at midnight.
Own Id: OTP-1236
-
The documentation of
snmp_generic:table_set_elements/3
is updated to
reflect the fact that it is the caller's responsibility to
call this function from within a transaction, if Mnesia is
used.
Own Id: OTP-1265
-
The MIB compiler prints the error message "Unexpected 0"
when an INTEGER begins with 0.
Own Id: OTP-1274
-
The agent now decodes negative integers correctly.
Own Id: OTP-1298
-
Trying to delete a non-existing row implemented with
snmp_generic
now returns noError
instead of
inconsistentValue
.
Own Id: OTP-1331
-
Default value initialisation now works for Mnesia
tables when
snmp_generic:table_set_row/5
is called.
Own Id: OTP-1338
-
Trying to set a row implemented with
snmp_generic
when an INDEX column was read-write
got the agent
into an infinite loop.
Own Id: OTP-1342
-
mib_to_hrl
doesn't generate enum definitions for imported
OBJECT-TYPE
s.
Own Id: OTP-1355
-
Traps are not only sent to one manager if several managers
are specified as trap destinations, but to all of them.
Own Id: OTP-1366
1.29 SNMP Development Toolkit v1.2.1
1.29.1 Improvements and new features
-
The file
STANDARD-MIB.hrl
is now included in the
directory snmp/include
. It may de included in
source code with
-include_lib("snmp/include/STANDARD-MIB.hrl").
Own Id: OTP-1063
Aux Id: HA34986, HA36413
1.29.2 Reported Fixed Bugs and Malfunctions
-
Calls to the agent had too short timeout. This was
most obvious in calls to
snmp:load_mibs/2
.
Own Id: OTP-1078, OTP-1096
Aux Id: HA36413
-
snmp:config/0
tried to validate correct IP
addresses, resulting in an error when DNS was not used.
Own Id: OTP-1094
-
snmp:mib_to_hrl/1
generated entries for imported
OBJECT IDENTIFIERs and imported DEFVALs, which could
result in macro conflict when .hrl
files from more
than one MIB was included.
Own Id: OTP-1126
-
When a row was
createAndWait
ed, it wasn't possible
to set a row to active
in the same request as the
rest of the mandatory columns were set.
Own Id: OTP-1128
-
snmp:int_to_enum/2
crashed when called with an Oid
without any enums.
Own Id: OTP-1129
-
The agent could crash if a
RowIndex
in a
set-request was of bad type.
Own Id: OTP-1131
1.30 SNMP Development Toolkit v1.2
1.30.1 Improvements and new features
-
A new set-phase
undo
is added. When the agent
has called is_set_ok
for an object, it will always
call either set
or undo
at a later
stage. This may be used to reserve resources in the
is_set_ok
function.
-
More documentation on Mnesia.
-
Added conversion functions from OBJECT IDENTIFIER to
symbolic name, and vice versa. These are called
snmp:oid_to_name/1
and
snmp:name_to_oid/1
.
-
Added conversion functions from enumerated integers
to symbolic value, and vice versa. These are called
snmp:int_to_enum/2
and
snmp:enum_to_int/2
.
-
Added an extra parameter from the (configurable) Net
If process for each SNMP packet. This value can be
retrieved by
snmp:current_net_if_data/0
from an
instrumentation function.
-
Added a function
snmp:date_and_time/0
, which
returns a DateAndTime value, according to RFC1903.
-
A new function
snmp:str_apply/1
may be used to
pass options to the Mib Compiler from the unix command
line.
-
There is now no need to have a RowStatus column for a
read-only table that is implemented with
snmp_generic
.
-
A Mnesia table that implements an SNMP table with
snmp_generic
may have more columns than the SNMP
table.
-
Added a function
snmp:get/2
to retrieve values
from the agent from programs.
-
The
snmp:config/0
tool handles host names as
strings better.
-
The Mib Compiler generates better warnings.
-
The agent handles atoms as return values from
enumerated integers better.
1.30.2 Reported Fixed Bugs and Malfunctions
-
DEFVALs for strings are handled correctly by the Mib
Compiler.
-
The SNMPv2 error code
notWritable
is
translated to the SNMPv1 code noSuchName
.
-
The instrumentation function
delete
is now
called correctly when unloading a Mib.
-
An
is_set_ok
function is added for
snmp_generic:variable_func
.
-
snmp:mib_to_hrl
doesn't generate output for
imported MIB objects.
-
The SNMP type
IpAddress
is now BER
encoded correctly.
-
The agent could hang when last object in the
MIB was
not-accessible
, and a
GET-NEXT request was received.
-
The Mib Compiler doesn't crash when the MIB file
doesn't exist.
-
The Mib Compiler doesn't crash when an
instrumentation function is specified for a column object
in a table.
1.30.3 Incompatibilities with v1.1
-
The MIBs must be recompiled.
-
The contents of the output file from
snmp:mib_to_hrl
has changed. Imported objects are
not included. All MIBs with imported objects must be run
through snmp:mib_to_hrl
, and included in the Erlang
code as well.
-
The start functions for the agent has changed. Note
that this is invisible when Erlang 4.4 is used.
Copyright © 1991-2002
Ericsson Utvecklings AB