1
<?xml version="1.0" encoding="latin1" ?>
2
<!DOCTYPE chapter SYSTEM "chapter.dtd">
7
<year>1996</year><year>2009</year>
8
<holder>Ericsson AB. All Rights Reserved.</holder>
11
The contents of this file are subject to the Erlang Public License,
12
Version 1.1, (the "License"); you may not use this file except in
13
compliance with the License. You should have received a copy of the
14
Erlang Public License along with this software. If not, it can be
15
retrieved online at http://www.erlang.org/.
17
Software distributed under the License is distributed on an "AS IS"
18
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
19
the License for the specific language governing rights and limitations
24
<title>SNMP Release Notes</title>
26
<responsible></responsible>
32
<file>notes.xml</file>
36
<title>SNMP Development Toolkit 4.13.1</title>
38
<p>Version 4.13.1 supports code replacement in runtime from/to
42
<title>Improvements and new features</title>
46
<list type="bulleted">
48
<p>[agent] Support for the discovery process. </p>
49
<p>The agent can both initiate discovery itself (see the
50
<seealso marker="snmp_agent_funct_descr#discovery">discovery</seealso> chapter
51
for more info) and respond to discovery initiated by a manager.</p>
52
<p>Own Id: OTP-7571</p>
53
<p>Aux Id: Seq 11053</p>
62
<title>Reported Fixed Bugs and Malfunctions</title>
66
<list type="bulleted">
68
<p>[manager] Registration of users had some issues. </p>
69
<p>Not all of the registration functions where actually exported
70
(<seealso marker="snmpm#register_user">register_user/4</seealso>
72
<seealso marker="snmpm#register_user_monitor">register_user_monitor/4</seealso>).
73
This has now been fixed. </p>
74
<p>Also, the registration did not succeed unless
75
user implemented the *new* behaviour. This has now
76
also been fixed (registration succeeds if the user
77
implements either the new (i.e. updated
78
<seealso marker="snmpm_user">snmpm_user</seealso>)
79
or the old user behaviour (<c>snmpm_user_old</c>)). </p>
80
<p>Own Id: OTP-7902</p>
81
<p>Aux Id: Seq 11240</p>
89
<title>Incompatibilities</title>
92
</section> <!-- 4.13.1 -->
95
<title>SNMP Development Toolkit 4.13</title>
97
<p>Version 4.13 supports code replacement in runtime from/to
102
<title>Improvements and new features</title>
106
<list type="bulleted">
108
<p>[agent] Support for the discovery process. </p>
109
<p>The agent can both initiate discovery itself (see the
110
<seealso marker="snmp_agent_funct_descr#discovery">discovery</seealso> chapter
111
for more info) and respond to discovery initiated by a manager.</p>
112
<p>Own Id: OTP-7571</p>
113
<p>Aux Id: Seq 11053</p>
121
<title>Reported Fixed Bugs and Malfunctions</title>
125
<list type="bulleted">
127
<p>[agent] Unnecessary use of math:pow/2 could cause problems
128
on systems without floating point support. </p>
130
<p>Own Id: OTP-7735</p>
131
<!-- <p>Aux Id: Seq 10966</p> -->
135
<p>[manager] A major flaw was discovered with the agent handling. </p>
136
<p>First, <c>TargetName</c> was never used as intended, as a unique
137
identifier for the target (agent in this case). </p>
138
<p>Second, <c>TargetName</c> had a <em>default value</em>, which meant
139
that several agents could have the same <c>TargetName</c>, causing
140
unpredictable behaviour in the manager. </p>
141
<p>Third, <c>EngineID</c> was not a mandatory config option and had
142
furthermore also a <em>default value</em>. </p>
144
<p>These problems has been solved in the following way: </p>
145
<p>First, a new set of api functions has been introduced (and documented):
146
<seealso marker="snmpm#register_user">register_user/4</seealso>,
147
<seealso marker="snmpm#register_user_monitor">register_user_monitor/4</seealso>,
148
<seealso marker="snmpm#register_agent">register_agent/3</seealso>,
149
<seealso marker="snmpm#unregister_agent">unregister_agent/2</seealso>,
150
<seealso marker="snmpm#agent_info">agent_info/2</seealso>,
151
<seealso marker="snmpm#update_agent_info">update_agent_info/4</seealso>,
152
<seealso marker="snmpm#sync_get">sync_get/3,4,5,6</seealso>,
153
<seealso marker="snmpm#async_get">async_get/3,4,5,6</seealso>,
154
<seealso marker="snmpm#sync_get_next">sync_get_next/3,4,5,6</seealso>,
155
<seealso marker="snmpm#async_get_next">async_get_next/3,4,5,6</seealso>,
156
<seealso marker="snmpm#sync_set">sync_set/3,4,5,6</seealso>,
157
<seealso marker="snmpm#async_set">async_set/3,4,5,6</seealso>,
158
<seealso marker="snmpm#sync_get_bulk">sync_get_bulk/5,6,7,8</seealso> and
159
<seealso marker="snmpm#async_get_bulk">async_get_bulk/5,6,7,8</seealso>
160
that all use <c>TargetName</c> (and not, as previously, <c>Addr</c>
161
and <c>Port</c>) to identify the agent (also the return value of
162
<seealso marker="snmpm#which_agents">which_agents</seealso> has
164
<p>Second, for backward compatibillity, the old functions still
165
exist, but are no longer documented and are now wrappers for the
166
new functions, including erroneous default value for EngineID and
167
all. The TargetName is however generated from the provided
168
<c>Addr</c>, <c>Port</c> and <c>Version</c> config options. </p>
169
<p>Third, the behaviour of the
170
<seealso marker="snmpm_user">SNMP manager user</seealso> has
171
been changed to reflect this, i.e.
172
<seealso marker="snmpm_user#handle_pdu">handle_pdu/4</seealso>,
173
<seealso marker="snmpm_user#handle_trap">handle_trap/3</seealso>,
174
<seealso marker="snmpm_user#handle_inform">handle_inform/3</seealso>,
175
<seealso marker="snmpm_user#handle_report">handle_report/3</seealso>
176
and the return-value of
177
<seealso marker="snmpm_user#handle_agent">handle_agent/4</seealso>.
178
The old (non-documented) callback-functions (using Addr and Port)
179
will still be called if the agent was registered using the old
180
registration functions. </p>
182
<p>Own Id: OTP-7836</p>
183
<!-- <p>Aux Id: Seq 10966</p> -->
191
<title>Incompatibilities</title>
194
</section> <!-- 4.13 -->
197
<title>SNMP Development Toolkit 4.12.2</title>
198
<p>Version 4.12.2 supports code replacement in runtime from/to
199
version 4.12.1, 4.12, 4.11.2, 4.11.1 and 4.11.</p>
202
<title>Improvements and new features</title>
205
<list type="bulleted">
208
<p>[agent] Improvement of the inform reporting.
209
It was previously not certain how many acks an
210
application received, 0, 1 or 2. This has now been
211
fixed, so that only 1 (one) ack is issued. </p>
213
<p>Own Id: OTP-7525</p>
222
<title>Reported Fixed Bugs and Malfunctions</title>
226
<list type="bulleted">
228
<p>[agent] Bad session cache (usm+camv-info) invalidation
229
could cause user crash, through call(s) to (a number of)
230
MIB API function(s) (undefined function). </p>
231
<p>Own Id: OTP-7868</p>
232
<!-- <p>Aux Id: Seq 11124</p> -->
240
<title>Incompatibilities</title>
243
</section> <!-- 4.12.2 -->
246
<title>SNMP Development Toolkit 4.12.1</title>
247
<p>Version 4.12.1 supports code replacement in runtime from/to
248
version 4.12, 4.11.2, 4.11.1 and 4.11.</p>
251
<title>Improvements and new features</title>
254
<list type="bulleted">
257
<p>[agent] Improvement of the inform reporting.
258
It was previously not certain how many acks an
259
application received, 0, 1 or 2. This has now been
260
fixed, so that only 1 (one) ack is issued. </p>
262
<p>Own Id: OTP-7525</p>
271
<title>Reported Fixed Bugs and Malfunctions</title>
275
<list type="bulleted">
277
<p>Logging of messages with the GetBulk-request PDU
278
incorrectly produced an erroneous entry in the
279
log: "An error occured". </p>
280
<p>The reason for this was that the PDU-fields
281
error_status and error_index is re-used for
282
Non-repeaters and Max-repetitions for
283
GetBulk-request PDUs, but this was not handled
284
by the logging code. </p>
285
<p>Own Id: OTP-7695</p>
286
<p>Aux Id: Seq 11124</p>
290
<p>[agent] An attempt to set the row status to active for an
291
notReady table row, could result in an "inconsistentValue"
293
<p>The same problem existed when attempting to set row status
294
to notInService for a row in notReady. </p>
295
<p>Serge Aleynikov</p>
296
<p>Own Id: OTP-7698</p>
297
<!-- <p>Aux Id: Seq 10966</p> -->
305
<title>Incompatibilities</title>
308
</section> <!-- 4.12.1 -->
311
<title>SNMP Development Toolkit 4.12</title>
312
<p>Version 4.12 supports code replacement in runtime from/to
313
version 4.11.2, 4.11.1 and 4.11.</p>
316
<title>Improvements and new features</title>
320
<list type="bulleted">
322
<p>[agent] A simple lookup cache has been added to improve
323
the mib server lookup performance. </p>
324
<p>This can be disabled with the mib_server
325
<seealso marker="snmp_app">cache</seealso> option. </p>
326
<p>Own Id: OTP-7346</p>
330
<p>[agent] Improvement of the inform reporting.
331
It was previously not certain how many acks an
332
application received, 0, 1 or 2. This has now been
333
fixed, so that only 1 (one) ack is issued. </p>
335
<p>Own Id: OTP-7525</p>
343
<title>Reported Fixed Bugs and Malfunctions</title>
346
<list type="bulleted">
348
<p>[manager] Encryption error when attempting to send
349
version 3 inform-requests. </p>
350
<p>Own Id: OTP-7432</p>
351
<p>Aux Id: Seq 10966</p>
360
<title>Incompatibilities</title>
363
</section> <!-- 4.12 -->
366
<title>SNMP Development Toolkit 4.11.2</title>
367
<p>Version 4.11.2 supports code replacement in runtime from/to
368
version 4.11.1 and 4.11. </p>
371
<title>Improvements and new features</title>
374
<list type="bulleted">
376
<p>Added utility functions for transforming DateAndTime
377
as [int()] to strings;
378
<seealso marker="snmp#dat2s">date_and_time_to_string/2</seealso>
380
<seealso marker="snmp#dat2s2">date_and_time_to_string2/1</seealso>. </p>
381
<p>Also added new validation function
382
<seealso marker="snmp#vdat">validate_date_and_time/2</seealso>. </p>
383
<p>Own Id: OTP-7412</p>
384
<p>Aux Id: Seq 10987</p>
391
<title>Reported Fixed Bugs and Malfunctions</title>
395
<list type="bulleted">
397
<p>[manager] Erroneous engine-id check when receiving version 3
399
<p>Own Id: OTP-7570</p>
400
<p>Aux Id: Seq 11060</p>
404
<p>Receiving an snmp message with a very large version
405
number could cause the erlang node to run out of
406
memory and consequently crash. </p>
407
<p>The standard specifies the snmp version as an
408
(unlimited) INTEGER, but today only
409
0 (version 1), 1 (version 2) and 3 (version 3) is
410
actually used. So, when decoding a message, a limit
411
has been put on the snmp version integer in order
412
to not allow this kind of a problem. </p>
413
<p>Own Id: OTP-7575</p>
414
<p>Aux Id: Seq 11064</p>
421
<title>Incompatibilities</title>
424
</section> <!-- 4.11.2 -->
428
<title>SNMP Development Toolkit 4.11.1</title>
429
<p>Version 4.11.1 supports code replacement in runtime from/to
433
<title>Improvements and new features</title>
437
<list type="bulleted">
439
<p>[compiler] The MIB compiler did not retreive the REFERENCE part
440
of a SNMP MIB definition. </p>
441
<p>This problem has been partly solved. For SNMP tables,
442
the assocList field of the tables mib-entry record now contains
443
this info (as <c>{reference, string()}</c>), <em>if</em> the
444
MIB was compiled with the compiler option <em>+reference</em>. </p>
445
<p>This solution is temporary, until such time as a permanent
446
solution (and probably not backward compatible) is devised, which
447
retreives and stores all REFERENCE part(s) of a MIB. </p>
449
<seealso marker="snmpc#compiler_opts">compiler options</seealso>
452
<p>Serge Aleynikov</p>
453
<p>Own Id: OTP-7426</p>
457
<p>Added utility functions for transforming DateAndTime
458
as [int()] to strings;
459
<seealso marker="snmp#dat2s">date_and_time_to_string/2</seealso>
461
<seealso marker="snmp#dat2s2">date_and_time_to_string2/1</seealso>. </p>
462
<p>Also added new validation function
463
<seealso marker="snmp#vdat">validate_date_and_time/2</seealso>. </p>
464
<p>Own Id: OTP-7412</p>
465
<p>Aux Id: Seq 10987</p>
473
<title>Reported Fixed Bugs and Malfunctions</title>
477
<list type="bulleted">
479
<p>[manager] Encryption error when attempting to send
480
version 3 inform-requests. </p>
481
<p>Own Id: OTP-7432</p>
482
<p>Aux Id: Seq 10966</p>
489
<title>Incompatibilities</title>
492
</section> <!-- 4.11.1 -->
495
<title>SNMP Development Toolkit 4.11</title>
496
<p>Version 4.11 supports code replacement in runtime from/to
497
version 4.10.3, 4.10.2, 4.10.1 and 4.10.</p>
500
<title>Improvements and new features</title>
504
<list type="bulleted">
506
<p>[agent] Performance improvements in the case when an SNMP
507
manager performs an snmpwalk. </p>
508
<p>Martin Björklund</p>
509
<p>Own Id: OTP-7201</p>
513
<p>The API for sending inform(s) has been improved. Also
514
the documentation has been corrected and updated. See
515
<seealso marker="snmpa#send_notification">snmpa:send_notification</seealso> and
516
<seealso marker="snmpa_notification_delivery_info_receiver">snmpa_notification_delivery_info_receiver</seealso>
518
<p>Own Id: OTP-7287</p>
519
<p>Aux Id: Seq 10926</p>
523
<p>[agent] Performance of the internal database (local-db)
524
has been improved.</p>
525
<p>Own Id: OTP-7319</p>
526
<p>Aux Id: Seq 10942</p>
530
<p>[agent] Added utility functions,
531
<seealso marker="snmpa#restart_worker">snmpa:restart_worker/0,1</seealso> and
532
<seealso marker="snmpa#restart_set_worker">snmpa:restart_set_worker/0,1</seealso>,
533
for restarting the agent worker processes (in case the agent is
535
<p>Own Id: OTP-7369</p>
539
<p>Add utility function to
540
<seealso marker="snmp#read_mib">read</seealso>
542
<p>Own Id: OTP-7371</p>
549
<title>Reported Fixed Bugs and Malfunctions</title>
553
<list type="bulleted">
555
<p>[manager] Encryption error when attempting to send
556
version 3 inform-requests. </p>
557
<p>Own Id: OTP-7377</p>
558
<p>Aux Id: Seq 10966</p>
565
<title>Incompatibilities</title>
568
</section> <!-- 4.11 -->
571
<title>Release notes history</title>
572
<p>For information about older versions see
573
<url href="part_notes_history_frame.html">release notes history</url>.</p>