File: Changes

package info (click to toggle)
libnet-snmp-perl 6.0.1-8
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 908 kB
  • sloc: perl: 7,790; makefile: 9
file content (330 lines) | stat: -rw-r--r-- 16,210 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
                           Net::SNMP Changes

RELEASE 6.0.1 SEP-09-2010

- Removed all occurrences of the "locked" attribute that was
  deprecated in Perl 5.12.0.
- Changed the test validating the presence of a monotonic time value
  to check for invalid implementations.
- The SNMPv3 contextEngineID and contextName are now stored as part
  of the request allowing for these values to be changed between
  messages.


RELEASE 6.0.0 SEP-09-2009

- Substantial internal code cleanup was performed based upon the
  Perl::Critic module and the "Perl Best Practices" book.
- Added support for the Module::Build system for building, testing,
  and installing Perl modules.
- The translation logic for OCTET STRINGs now uses the definition of
  a DisplayString in RFC 2579 to determine if the octets are to be
  converted into a hexadecimal representation.
- The get_table() and get_entries() methods were refactored as part
  of the code cleanup.  The get_entries() method now handles "holes"
  in tables better and indexes with a value of zero.
- The inheritance structure of the Transport Domain objects was
  updated to reduce code duplication and increase maintainability.
- The resolution of IPv6 addresses was made more exhaustive.
- The handling of OBJECT IDENTIFIERs was made more efficient by 
  using [un]pack() with a BER compressed integer template. 
- Additional validation of the values passed to most methods is now
  performed and the error messages have been made more robust.
- The documented examples were updated based upon commonly asked
  questions (specifically Example 3 and Example 4).
- A Response-PDU with an error-status set to "noError" no longer
  generates an error when the error-index is non-zero, as decribed
  in Section 4.2.4 of RFC 3416.
- The function oid_lex_cmp() was added to provide for the
  lexicographical comparison of two OBJECT IDENTIFIERs.
- The error-status is no longer set for the exceptions noSuchObject,
  noSuchInstance, and endOfMibView when translation is not enabled.

RELEASE 5.2.0 OCT-20-2005

- Removed the dependency on the IO::Socket::INET and IO::Socket::INET6
  modules.  The IO::Socket module is now used for all socket objects.
- The port information can now be included as part of the transport
  address specified with the session() Transport Domain arguments.
- Added support for specifying the scope zone index for IPv6 addresses
  as described in RFC 4007 - "IPv6 Scoped Address Architecture".
- The default value for the agent-addr in SNMPv1 Trap-PDUs is now the
  IP address associated with the interface on which the trap will be
  transmitted.

RELEASE 5.1.0 JUL-20-2005

- Support of the AES privacy protocol was updated to be compliant with
  RFC 3826 - "The Advanced Encryption Standard (AES) Cipher Algorithm
  in the SNMP User-based Security Model".
- Corrected an issue where any non-blocking SNMPv3 message queued prior
  to calling snmp_dispatcher() was sent with an empty contextEngineID. 
- The first SNMPv3 discovery message is again being sent with a zero-
  length msgUserName as suggested by RFC 3414.
- All sockets are now flagged as non-blocking to prevent a possible
  deadlock due to an interaction between recv() and select().
- The sending of messages is now bounded by the receive processing rate
  to avoid receive buffer overflows.
- The return value of select() is now checked for both "undef" and -1.
- The "usm.t" tests are now skipped if any of the non-core modules
  required by the Net::SNMP::Security::USM module are not present.

RELEASE 5.0.1 SEP-09-2004

- The module is now again functional with Perl 5.6.x.  Compensations
  were made for compatibility problems with the IO::Socket::INET and
  Math::BigInt modules packaged with Perl 5.6.x.
- The UDP/IPv6 and TCP/IPv6 Transport Domains are now functional when
  using version 2.0x of the IO::Socket::INET6 module.
   
RELEASE 5.0.0 JUL-20-2004 

- Added support for the UDP/IPv6 Transport Domain listed in RFC 3419.
- Support for the TCP/IPv4 and TCP/IPv6 Transport Domains was added
  as described in RFC 3430 - "SNMP over TCP Transport Mapping".  
- Optimizations were made to ASN.1 processing and preparation methods. 
- Corrected a possible memory exhaustion error with OCTET STRINGs that
  contain "printf" format characters. 
- The ASN.1 types associated with the ObjectSyntax values in the
  VarBindList can now be retrieved using the var_bind_types() method.
- The function snmp_type_ntop() was added for displaying ASN.1 types.
- The Net::SNMP::Dispatcher module now checks for select() errors.
- Passing the "-maxrepetitions" argument with a value of 1 or less
  to the get_table() or get_entries() methods instructs them to use 
  get-next-request messages instead of get-bulk-request messages. 
- The maximum allowed value for the maxMsgSize was reduced to 65535.
- The Perl modules for the non-default Transport Domains and Security
  Model are now loaded at runtime instead of compile time.

RELEASE 4.1.2 SEP-11-2003

- Removed an unintended dependency on the Crypt::Rijndael that would cause 
  SNMPv3 support to be unavailable and the "usm.t" tests to fail due to
  a "strict subs" error in Net::SNMP::Security::USM module.
 
RELEASE 4.1.1 SEP-09-2003

- Corrected a misinterpretation of the "The AES Cipher Algorithm in the
  SNMP's User-based Security Model" draft specification that lead to
  the incorrect encoding and decoding of the last block of the message.
- The syntax of the get_entries() method was changed to expect the column
  values to entered as full OBJECT IDENTIFIERs allowing the traversal of
  conceptual rows in different tables which are indexed identically.
- The processing of the serialization of an OBJECT IDENTIFIER was optimized.
- The oid_lex_sort() function was updated to order OBJECT IDENTIFIER strings
  padded with spaces as lexicographically greater than unpadded strings.
- An empty contextEngineId in a response message is now accepted during  
  the SNMPv3 discovery process.
- Corrected an argument validation error with the get_bulk_request()
  method.

RELEASE 4.1.0 MAY-06-2003

- Working in conjunction with the Extended Security Options Consortium
  (http://www.snmp.com/eso), support for additional privacy protocols 
  has been added to the SNMPv3 User-based Security Model.
  "Extension to the USM to Support Triple-DES EDE in 'Outside' CBC Mode"
  Reeder and Gudmunsson; October 1999, expired April 2000
  http://www.snmp.com/eso/draft-reeder-snmpv3-usm-3desede-00.txt
  "The AES Cipher Algorithm in the SNMP's User-based Security Model"
  Blumenthal, Maino, and McCloghrie; October 2002, expired April 2003 
  http://www.snmp.com/eso/draft-blumenthal-aes-usm-04.txt
- A new method called get_entries() was added to allow the retrieval
  of columns of a table entry using get-next-requests or get-bulk-requests.
- The argument "-maxrepetitions" was added to the get_table() method.
- Responses to SNMPv3 messages with non-default contextEngineIDs or
  contextNames are now properly processed.
- The method var_bind_names() was added to retrieve an array of the 
  ObjectNames in the VarBindList in the order in which they were 
  received in the GetResponse-PDU. 
 
RELEASE 4.0.3 SEP-09-2002

- Net::SNMP objects are now destroyed as expected when they are no
  longer referenced.  An internal reference to the object allocated by  
  the Net::SNMP::Dispatcher module is now properly cleared.
- A socket with a file descriptor value of 0 is now accepted by the 
  Net::SNMP module as a valid and open filehandle. 
- Removed an "optimization" which was intended to provide a smoother 
  initialization of the dispatcher but instead could lead to messages 
  incorrectly timing out. 

RELEASE 4.0.2 MAY-06-2002

- The SNMPv3 request message sent for time synchronization is now sent
  with the same securityLevel that is configured for the session.
- The "reserved" bits in the msgFlags field of an incoming SNMPv3
  message are now ignored as suggested by RFC 2572.
- When encrypting a SNMPv3 message, the padding byte(s) are now set to
  a value equal to the size of the padding.  "The actual pad value is
  irrelevant..." according RFC 2574 Section 8.1.1.2.  However, there 
  are some agents that expect this byte pattern.
- Corrected a reference count mismatch which would leave a listening 
  socket open if no response is received from the remote agent.
- Corrected a "deep recursion" error that occurred when using the
  get_table() method to retrieve large tables in blocking mode.
- Using the "-delay" argument with the get_table() method no longer
  incorrectly delays between message exchanges when retrieving the table.
- Optimizations and improvements were made to the Net::SNMP::Dispatcher
  event scheduling and handling procedures.
- The "translate unsigned" logic now correctly handles properly 
  formatted (but unexpected) negative Counter64, Counter, Gauge, and 
  TimeTick values. 

RELEASE 4.0.1 JAN-01-2002

- SNMPv3 objects using authentication now send a separate authenticated
  request message for time synchronization while performing discovery.
- Non-blocking SNMPv1/2c messages with a "-delay" argument which are
  queued before entering the event loop are no longer incorrectly
  discarded.
- The Net::SNMP::Security::Community::security_model() method now 
  returns the correct value as reserved by RFC 2571.
- The first subidentifier in an OBJECT IDENTIFIER is now restricted to
  ccitt(0), iso(1), or joint-iso-ccitt(2) as specified by ISO/IEC 8825.
- Changed the appropriate CHECK blocks into BEGIN blocks to avoid the 
  "Can't call method 'send_pdu' on an undefined value" error when the 
  module is loaded using a quoted eval statement. 

RELEASE 4.0.0 NOV-09-2001

- The module has been completely redesigned to add support for SNMPv3 
  and to follow the SNMP Management Framework defined by RFC 2571.
- Perl version 5.6.0 or greater is now required to use the module.
- Updated the method calls to expect the same argument syntax regardless 
  of whether they are invoked by "blocking" or "non-blocking" objects. 
- The non-core modules Crypt::DES, Digest::MD5, Digest::SHA1, and 
  Digest::HMAC are now required to support SNMPv3.
- Added the ability to specify the local address and port number used by
  each object.

RELEASE 3.65 SEP-09-2001

- Corrected an error in the Net::SNMP::FSM module that would cause all
  response messages to be dropped in "non-blocking" mode if there is
  a recv() error.
- Updated the logic in the "blocking" response handling method such
  the transmit buffer is properly updated if there is a decode
  error while parsing the GetResponse-PDU. 
- Counter, Gauge, and TimeTick values that are incorrectly encoded as
  negative signed integers are now converted to unsigned values.  This
  feature can be disabled by setting the "-unsigned" flag to false 
  using the translate() method.
- An empty community name is now allowed.
- Updated the "non-blocking" example script.

RELEASE 3.60 SEP-09-2000

- Translation can now be enabled or disabled on a per ASN.1 type basis.
- The Net::SNMP::FSM "event loop" now prioritizes processing SNMP responses
  over other actions.
- A set of example scripts is now included with the distribution.

RELEASE 3.50 MAY-06-2000

- The methods that expect a SNMP GetResponse-PDU in "blocking" mode now ignore
  messages with request-ids that do not match the current request-id.  This
  change addresses a common occurrence of the "Received request-id xxxx is
  not equal to transmitted request-id xxxx" error.  The manifestation of this
  error that has been corrected occurs when a remote agent is too busy to
  respond immediately, buffers the request, and responds to the request after
  the Net::SNMP timeout has expired.
- A new argument "-delay" was added to all methods that can function in "non-
  blocking" mode.
- The Net::SNMP::FSM "event loop" sub-module was completely rewritten to more
  logically handle events.
- The get_table() method now uses get-bulk-requests instead of
  get-next-requests when the calling object's version is SNMPv2c.
- When a duplicate OBJECT IDENTIFIER is received in the VarBindList of a
  GetResponse-PDU, the duplicate is now padded with an appropriate number of
  spaces to make it an unique key in the HASH reference returned by the object.
- The default Maximum Transport Unit was changed from 484 to 1500.  The
  minimum allow MTU is now 484.

RELEASE 3.01 JAN-01-2000

- Performance enhancements were made to the most heavily used methods.
- Changed the default timeout to 5.0 seconds and the default number of retries
  to 1 to reduce network traffic and to work around a problem with responses 
  from certain routers when they are busy.  The total default timeout period
  remains the same at 10 seconds. 
- Removed the verify_ip() method and the "-verifyip" argument to the 
  constructor.

RELEASE 3.00 SEP-09-1999

- Added event loop based "non-blocking" support.
- Deprecated the verify_ip() method because verification of the received
  IP address and port number is no longer done.
- The "null" character (\000) no longer triggers an OCTET STRING in a
  GetResponse-PDU to be converted to a hexadecimal representation if
  translation is enabled.
- A single socket is now used for all Net::SNMP objects.
- Corrected an error where a blocking session would send one too many 
  retries and fail to listen for the last message sent.
- Added a new export tag ":snmp" used to define SNMP related symbols.
- New utility functions oid_context_match(), oid_lex_sort(), and 
  ticks_to_time() were added to provide support for commonly requested 
  tasks.
- The length of the varBind SEQUENCE is now properly encoded when multiple
  varBinds exist. 

RELEASE 2.00 MAY-06-1999

- Added support for SNMPv2c (Community-Based SNMPv2).
- Modified the ASN.1 encode routine for INTEGERs to correctly handle 
  positive values greater than 8388607.
- Added an installation test to verify basic usage of the module, 
  including verification of basic encode and decode methods.

RELEASE 1.40 APR-26-1999

- All parameters for the object that used to be only configurable via an 
  object method can now be modified at object creation by passing named
  arguments to the constructor.
- The translate() and debug() methods were modified to require a boolean
  argument to enable or disable the feature.  This deprecates the toggle
  functionality they had previously.
- New method verify_ip() added that enables or disables the verification
  of the IP address and UDP port number on datagrams received by the object.
- Added support for decoding ASN.1 lengths encoded with 3 or 4 bytes. 
- Installation tests for the modules required by Net::SNMP and for basic 
  socket functionality were added to the distribution. 

RELEASE 1.30 MAR-17-1999

- Modified the OBJECT INDENTIFIER decode method to return a leading dot
  on all identifiers if there was a leading dot on any OBJECT IDENTIFIER
  passed to the encode method. 
- Changed the address comparison used when receiving an UDP packet to just 
  include the port and address information in order to work around an AIX 
  problem.

RELEASE 1.20 NOV-06-1998

- Now use gensym() from the Symbol module to generate typeglob references 
  for socket handles, correcting a memory leak.
- All private methods renamed to Perl programming style recommendations. 

RELEASE 1.10 OCT-14-1998

- New method trap() for sending SNMP Trap-PDUs added.
- New method error_status() which retrieves the SNMP error-status contained
  in the last SNMP GetResponse-PDU added.
- Named arguments for the method session() are now validated.
- New export tags ":asn1", ":generictrap", and ":ALL" added.
- New exportable symbols for generic-trap types added. 
- A comma contained in an OCTET STRING no longer causes the decoded result 
  of a GetResponse-PDU to be converted to a hexadecimal representation if 
  translation is enabled.
- The control characters \n\r\t no longer trigger an OCTET STRING in a
  GetResponse-PDU to be converted to a hexadecimal representation if 
  translation is enabled.
 
RELEASE 1.00 SEP-09-1998

- Initial release.

RCS

    $Id: Changes,v 6.1 2010/09/10 00:01:22 dtown Rel $