<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">
<chapter>
<header>
<copyright>
<year>1996</year><year>2011</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
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.
</legalnotice>
<title>SNMP Release Notes</title>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved></approved>
<checked></checked>
<date></date>
<rev></rev>
<file>notes.xml</file>
</header>
<section>
<title>SNMP Development Toolkit 4.21.3</title>
<p>Version 4.21.3 supports code replacement in runtime from/to
version 4.21.2, 4.21.1, 4.21 and 4.20.1. </p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] Improved version info printout. </p>
<p>Own Id: OTP-9618</p>
</item>
</list>
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] Fix the <c>--warnings/--W</c> option parsing in the
<seealso marker="snmpc(command)#option_warnings">snmpc</seealso>
wrapper (e)script.
The short warning option was incorrectly <c>--w</c>, instead
of as documented <c>--W</c>. This has now been corrected. </p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
<p>Tuncer Ayaz</p>
<p>Own Id: OTP-9718</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] The short warning option has been changed from
<c>--w</c> to <c>--W</c> to comply with the documentation. </p>
<p>Tuncer Ayaz</p>
<p>Own Id: OTP-9718</p>
</item>
</list>
</section>
</section> <!-- 4.21.3 -->
<section>
<title>SNMP Development Toolkit 4.21.2</title>
<p>Version 4.21.2 supports code replacement in runtime from/to
version 4.21.1, 4.21, 4.20.1, 4.20 and 4.19. </p>
<section>
<title>Improvements and new features</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>Bad note store GC timer deactivation.
Wrong field in the state record was set (timeout instead active). </p>
<p>Stefan Grundmann</p>
<p>Own Id: OTP-9690</p>
</item>
</list>
-->
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>Bad note store GC timer deactivation.
Wrong field in the state record was set (timeout instead active). </p>
<p>Stefan Grundmann</p>
<p>Own Id: OTP-9690</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.21.2 -->
<section>
<title>SNMP Development Toolkit 4.21.1</title>
<p>Version 4.21.1 supports code replacement in runtime from/to
version 4.20.1, 4.20 and 4.19. </p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] Used wrong variable name (for
warnings-as-errors variable), which caused the
compiler to crash when using the snmpc (e)script. </p>
<p>Also added the option
<seealso marker="snmpc(command)#option_werror">--Werror</seealso>
for the SNMP MIB compiler (escript) frontend (to mimic
<seealso marker="erts:erlc">erlc</seealso>),
which specifies whether warnings should be treated as errors. </p>
<p>Own Id: OTP-9447</p>
</item>
<item>
<p>[agent] Some very minor debugging improvements. </p>
<p>Own Id: OTP-9446</p>
</item>
</list>
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>The snmp config tool could not handle (manager) audit trail config
because the option seqno was not handled. </p>
<p>Own Id: OTP-9354</p>
</item>
</list>
-->
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.21.1 -->
<section>
<title>SNMP Development Toolkit 4.21</title>
<p>Version 4.21 supports code replacement in runtime from/to
version 4.20.1, 4.20 and 4.19. </p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[manager] There was no way to specify transport domain.
The transport domains was assumed to be IPv4 (transportDomainUdpIpv4).
This has now been changed so that it can also be IPv6
(transportDomainUdpIpv6).
To facilitate this, the transport domain, <c>tdomain</c>,
is now a (new) valid option when
<seealso marker="snmpm#register_agent">registering</seealso>
a new agent (and
<seealso marker="snmpm#update_agent_info">updating</seealso>
agent info). </p>
<p>This also mean that the transport behaviour has changed. </p>
<p>Own Id: OTP-9305</p>
<p>Aux Id: Seq 11847</p>
</item>
<item>
<p>[compiler] Added the option
<seealso marker="snmpc#compile">warnings_as_errors</seealso>
(for the SNMP MIB compiler (escript) frontend, the option
<seealso marker="snmpc(command)#option_wae">--wae</seealso> is used)
which specifies whether warnings should be treated as errors. </p>
<p>Tuncer Ayaz</p>
<p>Own Id: OTP-9437</p>
</item>
</list>
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>The snmp config tool could not handle (manager) audit trail config
because the option seqno was not handled. </p>
<p>Own Id: OTP-9354</p>
</item>
<item>
<p>[agent] The SNMP ACM cache was not properly updated when
changes where made to the VACM security-to-group, access and
view-tree-family tables. </p>
<p>Own Id: OTP-9367</p>
<p>Aux Id: Seq 11858</p>
</item>
<item>
<p>Fixed install directory typo for man3. </p>
<p>Peter Lemenkov</p>
<p>Hans Ulrich Niedermann</p>
<p>Own Id: OTP-9442</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.21 -->
<section>
<title>SNMP Development Toolkit 4.20.1</title>
<p>Version 4.20.1 supports code replacement in runtime from/to
version 4.20, 4.19 and 4.18.</p>
<section>
<title>Improvements and new features</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>Added type specs for functions that do not return. </p>
<p>Kostis Sagonas</p>
<p>Own Id: OTP-9208</p>
</item>
</list>
-->
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[agent] Did not handle transport domains properly in some cases,
for instance trap sending. </p>
<p>Own Id: OTP-9400</p>
</item>
<item>
<p>[agent] Wrong default transport domain, snmpUDPDomain, instead
of transportDomainUdpIpv4. </p>
<p>Own Id: OTP-9425</p>
<p>Aux Id: Seq 11874</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.20.1 -->
<section>
<title>SNMP Development Toolkit 4.20</title>
<p>Version 4.20 supports code replacement in runtime from/to
version 4.19 and 4.18.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[agent] Added support for sending traps to IPv6 targets. </p>
<p>See the
<seealso marker="snmp_agent_config_files#target_addr">target address config file</seealso>,
the <seealso marker="snmpa_conf#target_addr_entry">target_addr_entry/11</seealso> function or
<seealso marker="snmp_target_mib#add_addr">add_addr/11</seealso> for more info. </p>
<p>Own Id: OTP-9088</p>
<p>Aux Id: Seq 11790</p>
</item>
<item>
<p>[agent] To be able to handle multiple engine-id(s) when
sending trap(s), the function
<seealso marker="snmp_community_mib#add_community">
add_community/6</seealso> has been added. </p>
<p>Own Id: OTP-9119</p>
<p>Aux Id: Seq 11792</p>
</item>
<item>
<p>[manager] The API for snmp requests has been augmented to
allow the caller to override some configuration. </p>
<p>This has been done by introducing a new set of API functions, see
<seealso marker="snmpm#sync_get2">sync_get2/3,4</seealso>,
<seealso marker="snmpm#async_get2">async_get2/3,4</seealso>,
<seealso marker="snmpm#sync_get_next2">sync_get_next2/3,4</seealso>,
<seealso marker="snmpm#async_get_next2">async_get_next2/3,4</seealso>,
<seealso marker="snmpm#sync_get_bulk2">sync_get_bulk2/5,6</seealso>,
<seealso marker="snmpm#async_get_bulk2">async_get_bulk2/5,6</seealso>,
<seealso marker="snmpm#sync_set2">sync_set2/3,4</seealso> and
<seealso marker="snmpm#async_set2">async_set2/3,4</seealso>
for more info. </p>
<p>Own Id: OTP-9162</p>
</item>
<item>
<p>[manager] The old API functions (for get and set
requests:
snmpm:g/3,4,5,6,7, snmpm:ag/3,4,5,6,7,
snmpm:gn/3,4,5,6,7, snmpm:agn/3,4,5,6,7,
snmpm:s/3,4,5,6,7, snmpm:s/3,4,5,6,7,
snmpm:gb/5,6,7,8,9 and snmpm:agb/5,6,7,8,9)
are now officially deprecated.
They will be removed as of R16B. </p>
<p>Own Id: OTP-9174</p>
</item>
<item>
<p>[agent] Pass extra info through the agent to the net-if
process when sending notifications. </p>
<p>See
<seealso marker="snmpa#send_notification2">
snmpa:send_notification2/3</seealso> for more info.
See also the incomming net-if messages when sending a
<seealso marker="snmp_agent_netif#im_send_pdu">trap</seealso>
(send_pdu message) and
<seealso marker="snmp_agent_netif#im_send_pdu_req">
notification</seealso> (send_pdu_req message). </p>
<p>Own Id: OTP-9183</p>
<p>Aux Id: Seq 11817</p>
</item>
<item>
<p>Added type specs for functions that do not return. </p>
<p>Kostis Sagonas</p>
<p>Own Id: OTP-9208</p>
</item>
</list>
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>Fixed endode/decode of values of type <c>Counter32</c>. </p>
<p>This type (<c>Counter32</c>) is an unsigned integer 32,
but is actually encoded as an signed integer 32.
The encode/decode functions however, treated it as if it was
encodeded as an unsigned integer 32. </p>
<p>Own Id: OTP-9022</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.20 -->
<section>
<title>SNMP Development Toolkit 4.19</title>
<p>Version 4.19 supports code replacement in runtime from/to
version 4.18.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] Added support for textual convention
<c>AGENT-CAPABILITIES</c> and "full" support for textual
convention MODULE-COMPLIANCE, both defined by the SNMPv2-CONF
mib.</p>
<p>The <c>reference</c> and <c>modules</c> part(s) are
stored in the <c>assocList</c> of the mib-entry (<c>me</c>)
record.
Only handled <em>if</em> the option(s) <c>agent_capabilities</c>
and <c>module_compliance</c> (respectively) are provided to the
compiler. </p>
<p>See <seealso marker="snmpc#compile">compile/2</seealso>
for more info. </p>
<p>For backward compatibillity, the MIBs provided with
this application are <em>not</em> compiled with these
options. </p>
<p>Own Id: OTP-8966</p>
</item>
<item>
<p>[agent] Added a "complete" set of (snmp) table and variable
print functions, for each mib handled by the SNMP (agent)
application. This will be usefull when debugging a running agent.</p>
<p>See
<seealso marker="snmpa#print_mib_info">print_mib_info/0</seealso>,
<seealso marker="snmpa#print_mib_tables">print_mib_tables/0</seealso>
and
<seealso marker="snmpa#print_mib_variables">print_mib_variables/0</seealso>
for more info. </p>
<p>Own Id: OTP-8977</p>
</item>
<item>
<p>[compiler] Added a MIB compiler (frontend) escript,
<c>snmpc</c>. </p>
<p>Own Id: OTP-9004</p>
</item>
</list>
</section>
<section>
<title>Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[agent] For the table vacmAccessTable,
when performing the is_set_ok and set operation(s),
all values of the vacmAccessSecurityModel column was
incorrectly translated to <c>any</c>. </p>
<!--
that is when calling:
snmp_view_basec_acm_mib:vacmAccessTable(set, RowIndex, Cols).
-->
<p>Own Id: OTP-8980</p>
</item>
<item>
<p>[agent] When calling
<seealso marker="snmp_view_based_acm_mib#reconfigure">snmp_view_based_acm_mib:reconfigure/1</seealso>
on a running node, the table <c>vacmAccessTable</c> was not properly
cleaned.
This meant that if some entries in the vacm.conf file was removed
(compared to the <c>current</c> config),
while others where modified and/or added, the removed entrie(s)
would still exist in the <c>vacmAccessTable</c> table. </p>
<p>Own Id: OTP-8981</p>
<p>Aux Id: Seq 11750</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.19 -->
<section>
<title>SNMP Development Toolkit 4.18</title>
<p>Version 4.18 supports code replacement in runtime from/to
version 4.17.1 and 4.17.</p>
<section>
<title>Improvements and new features</title>
<list type="bulleted">
<item>
<p>Prepared for R14B release.</p>
</item>
</list>
</section>
<section><title>Fixed Bugs and Malfunctions</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>[agent] When the function FilterMod:accept_recv/2 returned false
the SNMP agent stopped collecting messages from UDP.</p>
<p>Own Id: OTP-8761</p>
</item>
</list>
-->
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.18 -->
<section>
<title>SNMP Development Toolkit 4.17.1</title>
<p>Version 4.17.1 supports code replacement in runtime from/to
version 4.17, 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<p>-</p>
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p>When the function FilterMod:accept_recv/2
returned false the SNMP agent stopped collecting
messages from UDP.</p>
<p>Own Id: OTP-8761</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.17.1 -->
<section>
<title>SNMP Development Toolkit 4.17</title>
<p>Version 4.17 supports code replacement in runtime from/to
version 4.16.2, 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[agent] Added very basic support for multiple SNMPv3
EngineIDs in a single agent. See
<seealso marker="snmpa#send_notification">send_notification/7</seealso>,
<seealso marker="snmpa_mpd#process_packet">process_packet/7</seealso>,
<seealso marker="snmpa_mpd#generate_response_msg">generate_response_msg/6</seealso> or
<seealso marker="snmpa_mpd#generate_msg">generate_msg/6</seealso>
for more info. </p>
<p>Own Id: OTP-8478</p>
</item>
</list>
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>The config utility
(<seealso marker="snmp#config">snmp:config/0</seealso>)
generated a default notify.conf
with a bad name for the standard trap entry (was "stadard trap",
but should have been "standard trap"). This has been corrected. </p>
<p>Kenji Rikitake</p>
<p>Own Id: OTP-8433</p>
</item>
</list>
-->
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.17 -->
<section>
<title>SNMP Development Toolkit 4.16.2</title>
<p>Version 4.16.2 supports code replacement in runtime from/to
version 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[compiler] The SMI specifies that a table row OID should be
named: { <tableIdentifier> "1" }. </p>
<p>A new option has been introduced,
<seealso marker="snmpc#compiler_opts">relaxed_row_name_assign_check</seealso>,
that allows for a more liberal numbering scheme</p>
<p>Own Id: OTP-8574</p>
</item>
<item>
<p>[agent|manager] Changes to make snmp (forward) compatible with
the new version of the crypto application (released in R14).
As of R14, crypto is implemented using NIFs. Also,
the API is more strict. </p>
<p>Own Id: OTP-8594</p>
</item>
<item>
<p>Auto [agent] Changed default value for the MIB server cache.
GC is now on by default. </p>
<p>Own Id: OTP-8648</p>
</item>
</list>
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>Encode/decode of Counter64 values larger than
16#7fffffffffffffff (9223372036854775807) failed. </p>
<p>Own Id: OTP-8563</p>
</item>
<item>
<p>[compiler] Fails to compile non-contiguous BITS. </p>
<p>Per Hedeland</p>
<p>Own Id: OTP-8595</p>
</item>
<item>
<p>[manager] Raise condition causing the manager server process to
crash. Unregistering an agent while traffic (set/get-operations)
is ongoing could cause a crash in the manager server process
(raise condition). </p>
<p>Own Id: OTP-8646</p>
<p>Aux Id: Seq 11585</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.16.2 -->
<section>
<title>SNMP Development Toolkit 4.16.1</title>
<p>Version 4.16.1 supports code replacement in runtime from/to
version 4.16, 4.15, 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<p>-</p>
<!--
<list type="bulleted">
<item>
<p>[agent|manager] Entries in the audit trail log can now be
augmented by a sequence number. </p>
<p>This is enabled by the <c>seqno</c> option, which is part of the
<seealso marker="snmp_config#audit_trail_log">Audit Trail Log</seealso>
config option. </p>
<p>See the
<seealso marker="snmp_app#configuration_params">reference manual</seealso>
or the
<seealso marker="snmp_config#configuration_params">Configuring the application</seealso>
chapter of the User's Guide for further info. </p>
<p>Own Id: OTP-8395</p>
</item>
</list>
-->
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[manager] Fixed an upgrade/downgrade problem. </p>
<p>Upgrade/downgrade from/to 4.13.5 did not work for the net-if
process. This has now been fixed. </p>
<p>Own Id: OTP-8481</p>
</item>
<item>
<p>[agent] A minor mnesia related performance improvement. </p>
<p>Own Id: OTP-8480</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.16.1 -->
<section>
<title>SNMP Development Toolkit 4.16</title>
<p>Version 4.16 supports code replacement in runtime from/to
version 4.15, 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[agent|manager] Entries in the audit trail log can now be
augmented by a sequence number. </p>
<p>This is enabled by the <c>seqno</c> option, which is part of the
<seealso marker="snmp_config#audit_trail_log">Audit Trail Log</seealso>
config option. </p>
<p>See the
<seealso marker="snmp_app#configuration_params">reference manual</seealso>
or the
<seealso marker="snmp_config#configuration_params">Configuring the application</seealso>
chapter of the User's Guide for further info. </p>
<p>Own Id: OTP-8395</p>
</item>
</list>
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[manager] Registration of agents using the config file,
<seealso marker="snmp_manager_config_files#agents">agents.conf</seealso>,
does not work. This has now been corrected. </p>
<p>Per Hedeland</p>
<p>Own Id: OTP-8442</p>
</item>
<item>
<p>The config utility
(<seealso marker="snmp#config">snmp:config/0</seealso>)
generated a default notify.conf
with a bad name for the standard trap entry (was "stadard trap",
but should have been "standard trap"). This has been corrected. </p>
<p>Kenji Rikitake</p>
<p>Own Id: OTP-8433</p>
</item>
</list>
</section>
<section>
<title>Incompatibilities</title>
<p>-</p>
</section>
</section> <!-- 4.16 -->
<section>
<title>SNMP Development Toolkit 4.15</title>
<p>Version 4.15 supports code replacement in runtime from/to
version 4.14 and 4.13.5.</p>
<section>
<title>Improvements and new features</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>The documentation is now built with open source tools
(<em>xsltproc</em> and <em>fop</em>) that exists on most
platforms. One visible change is that the frames are removed.</p>
<p>Own Id: OTP-8249</p>
</item>
</list>
</section>
<section>
<title>Reported Fixed Bugs and Malfunctions</title>
<!--
<p>-</p>
-->
<list type="bulleted">
<item>
<p>[manager] When information from an unknown agent is received,
it was previously delivered to the default user via calls to all
the functions of the callback API depending on the info type
(<c>pdu</c>, <c>trap</c>, <c>report</c> or <c>inform</c>).
The problem was that the <c>TargetName</c> argument was useless
in this case (only an already known agent has a known/valid
<c>TargetName</c>, but the <c>TargetName</c> used in these calls
was generated "on the fly"). </p>
<p>This has now been changed so that when a message is received
from an unknown agent, then only
<seealso marker="snmpm_user#handle_agent">handle_agent</seealso>
(for the default user) is called, but now this call also has a
<c>Type</c> argument, which is
<c>pdu | trap | report | inform</c>, depending on what kind of
message was actually received, thus making it possible for the
user to properly analyze the data received. </p>
<p>To handle this, the
<seealso marker="snmpm_user">snmpm_user</seealso> behaviour has
been updated. </p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
<p>Own Id: OTP-8229</p>
<!-- <p>Aux Id: Seq 11312</p> -->
</item>
</list>
</section>
</section> <!-- 4.15 -->
<!-- section>
<title>Release notes history</title>
<p>For information about older versions see
<url href="part_notes_history_frame.html">release notes history</url>.</p>
</section -->
</chapter>