Sun Oct 24 00:18:20 MSK 2004 Changes to version 3.4.4 ------------------------ - Bugfix to version checking logic at pysnmp.version.py - Python 2.4 compatibility fix to test suite code (int vals > maxint issue) Fri Oct 22 18:23:43 MSK 2004 Changes to version 3.4.3 ------------------------ - Bugfixes and improvements to pysnmp.test code - Bugfix to asn1.univ.Null() -- always initialize to an empty string - Python < 2.0 issue fixed at pysnmp.asn1 (defined slice operations for custom sequence objects) - Bugfix to compatibility class v1.Message: decode() overloaded to behave like original on BER decoding errors - Fixed __cmp__ methods at pysnmp.base to hide coercion errors on comparation - The examples/manager/snmpset.py example added for clarity Sun Feb 8 19:12:34 MSK 2004 Changes to version 3.4.2 ------------------------ - The pysnmp.test package implemented (pyunit based). - Bugfix to pysnmp1.x compatibility API that makes it operational again. - Bugfix to None -> Null() value translation at proto.api.generic. - Bugfix to OIDs comparation & SNMP error propagation code at proto.api.generic. - Bugfix to role.Agent instantiation at asyncrole.Agent code. - The VarBindMixIn.apiAlphaSetOidVal() method now does not modify current oid and/or val whenever None's passed as oid and/or val parameters respectively. Thu Feb 5 18:35:38 MSK 2004 Changes to version 3.4.1 ------------------------ - The examples/* tools reworked to act more like examples while full-blown SNMP tools (along with their CLI and friends) moved to a stand-alone package which is pysnmp-apps available from PySNMP homepage. - Components caching implemented at almost all asn1.base.Asn1Object deviratives what aims at significant performance improvement. What is related to this change is that various structured ASN.1 objects might not now return newly created inner components as well as not copying (but borrowing) passed objects on assignment. - The pysnmp.mapping.udp.bulkrole module dropped as it looks somewhat redundant to asynrole functionality. - Alpha API to pysnmp.proto objects is now the API of choice. Besides other improvements, this package introduces a protocol version-neutral API. Previous Generic API (pysnmp.proto.api.generic) remains for compatibility. - Code cleaned up to better comply with coding standards. Particularily, some symbols changed their case, though, aliases set for compatibility. - The suggested way to process SNMP responses at role.Agent has been changed to perform complete response processing at the callback function (cbFun). That's why the sendAndReceive() method of role.Agent class now accepts cbCtx parameter. Thu Oct 30 18:43:44 MSK 2003 Changes to version 3.3.6 ------------------------ - Another bugfix to broken errorIndex/VarBindList handling at examples/*.py tools - Syntax error fixed at cli/ucd/rfc1157.py - Bugfix to asn1.ObjectIdentifier labeling code - Bugfix to VarBindList initialization at compat.pysnmp2x - Bugfix to extra data at the tail of structured types BER octetstream handling Wed Aug 27 22:45:44 MSD 2003 Changes to version 3.3.5 ------------------------ - The examples/snmp*walk.py tools fixed not to query first OID in range by GetRequest unless explicitly specified by command line. - The -C
option implemented at examples/snmp*walk.py tools
- Bugfix to empty/malformed VarBindList reference by ErrorIndex on
ErrorStatus reported at examples/* tools.
- Syntax errors fixed at pysnmp/mapping/udp/asynrole.py and
pysnmp/proto/cli/ucd/rfc1905.py
- The manager class at pysnmp/mapping/udp/role.py fixed not to connect()
to default destination as this prevents underlying socket from
receiving UDP from non-default source (some agents appear to respond
from a strange IP/port). Note: this change raises the risk of agent
IP/port spoofing!
- New another flavor of API to protocol objects (pysnmp.proto.api.alpha)
implemented as a superset of pysnmp.proto.api.generic API, which
remains fully functional.
- Bugfix to v*.SetRequest.Community initialization at pysnmp.proto
- Bugfix to ObjectIdentifier class wrapper at pysnmp.compat.pysnmpxx
- rfc1902 BITS construct implemented (as an ApplicationSyntax component
whilst SMI defines it as one of possible Syntax values. Why it's defined
so and what's the right implementation is still unclear to me).
- Obsolete rfc1442 BIT STRING type implemented to handle outdated SNMP
entities.
- Make pysnmp.mapping.udp.role.manager attempting to resolve and cache default
agent IP on instantiation for better peformance.
Thu Jun 07 19:23:33 MSD 2003
Changes to version 3.3.4
------------------------
- Raw values access interface of asn1.base.SimpleAsn1Object reworked for
better performance
- initialValue of asn1.base.SimpleAsn1Object class objects may now be
defined as method
- Bugfix to asn1.base.SimpleAsn1Object value assignment -- copy mutable
values rather then store a reference to the passed one
- The tree-making facility of asn1.univ.ObjectIdentifier class reworked
for better performance and clearer protocol
- Bugfix initial value assignment of proto.rfc1157.RequestId &
proto.rfc1905.RequestId classes to get much less repetitive values
- The getTerminal() method implemented to all base ASN1 data types
(simple & structed) for a more constent API
- Bugfix to examples/* var-bind pretty printing (IpAddress wouldn't print).
- UCD command line interface mixins now support the rest of SNMP data types
(Gauge, Counter32 etc.)
Thu Mar 20 18:43:55 MSD 2003
Changes to version 3.3.3
------------------------
- The constraints methods set of asn1.base.Asn1Object converted to
a set of flags accompanied by a single constraints checking
method for better efficiency.
- The asn1.base.ChoiceTypeAsn1Object.get() method converted to
getTerminal() to handle possible structured Choice elements
(may cause incompatibilities!).
- ber.base.decodeTag() function substitutes functionally similar
code scattered over a few BER decoders.
- asn1.univ.ObjectIdentifier.str2num()/num2str() methods code optimized
for better performance.
- Bugfix to handle_error() methods of udp.asynrole.manager/agent.
- Bugfix to examples/snmpwalk.py v2c.EndOfMibView handling in
response.
- examples/ converted to use `env' for interpreter invocation.
- Many minor optimization changes.
Wed Mar 19 18:01:05 MSD 2003
Changes to version 3.3.2
------------------------
- Bugfix to examples/asyncmgr.py to make the tool simultaneous
request safe
- Bugfix to setup.py -- some sub-packages were not installed
- The request-specific match() method of proto.v1 and proto.v2c
split on request and PDU-specific parts
- Half-baked SNMP v.3 files appeared in 3.3.1 by mistake (rfc2571.py,
rfc2572.py) excluded
Tue Jan 14 19:41:21 MSD 2003
Changes to version 3.3.1
------------------------
- role.manager() now uses a user-specified callback function to
verify received SNMP messages (this mostly addresses the out-of-order
SNMP messages problem).
- examples/* tools updated to utilize role.manager()'s message verification
callback function
- Net-SNMP-style command-line interface implemented (as a sub-package
pysnmp.proto.cli)
- High-level API to SNMP message objects implemented (as a sub-package
pysnmp.proto.api)
- The examples/asyncmgr.py tool now supports all available SNMP message
types
- pysnmp.asn1.ber sub-package re-written to act as an optional mix-in
to base ASN.1 objects (and moved under pysnmp.asn1.encoding package)
- quite a few small fixes
Thu Nov 14 18:09:53 MSD 2002
Changes to version 3.2.2
------------------------
- Bugfix to default value for 'dst' address parameter in
mapping/udp/role.py, mapping/udp/asynrole.py and
mapping/udp/bulkrole.py.
- asyncode compatibility bugfix to asynrole.manager.handle_error()
and asynrole.agent.handle_error() parameters list. Affected the
mapping/udp/asynrole.py and examples/asyncmgr.py scripts.
- Bugfix to transport-level exceptions handling code in
examples/snmpbulk.py and mapping/udp/bulkrole.py.
- Bugfix to reportTypeFlag handling at examples/snmpbulk.py.
- Command line parameters support implemented to the
examples/asyncmgr.py script.
Thu Oct 31 08:32:49 MSD 2002
Changes to version 3.2.1
------------------------
- asn1.base.ChoiceTypeAsn1Object.get() method added for recursively
fetching enclosed scalar terminals whenever possible.
- examples/*.py scripts updated to make use of the above feature
(by means of -R command line swich).
Tue Oct 15 23:53:32 MSD 2002
Changes to version 3.1.3
------------------------
- A few bugs fixed in example/snmptrap.py and example/snmpset.py
Sat Oct 12 10:43:46 MSD 2002
Changes to version 3.1.2
------------------------
- Incorrect params to role.agent() constructor in examples/snmptrapd.py fixed
- The __all__ list memebers in rfc1155.py and rfc1902.py updated
Fri Oct 11 18:34:31 MSD 2002
Changes to version 3.1.1
------------------------
- A bug in setup.py (that prevents package installation) has been fixed.
- Syntax typo in asynrole.py has been fixed.
Mon Oct 7 08:29:58 MSD 2002
Changes to version 3.1.0
------------------------
- The snmpy compatibility sub-package added.
- __hash__() methods implelented for Asn1Object-based
objects.
- Many stupid typos fixed thoughout the code.
Tue Oct 1 08:02:43 MSD 2002
Changes to version 3.0.0
------------------------
- Major re-write of the whole package aimed at a more accurate, standards
compliant and extensible ASN.1 and SNMP protocol objects implementation.
Backward compatibility with earlier PySMMP versions is preserved by means
of compatibility sub-packages.
Wed Dec 18 20:39:00 MSD 2002
Changes to version 2.0.8
------------------------
- Convert examples/snmptable.py into examples/snmpwalk.py as the
functionality of the former seems to closer mimic Net-SNMP's
snmpwalk behavior.
- The examples/snmpwalk.py fixed to include requested OID in the
search range.
Thu Nov 28 18:58:45 MSD 200
Changes to version 2.0.7
------------------------
- Bugfix to asn1.py, incorrect ASN.1 tag used for UNSIGNED32 type.
- Bugfix to v1.py & v2c.py modules, GAUGE32 was missing from the
list of allowed value-bind types.
Fri Sep 20 08:35:43 MSD 2002
Changes to version 2.0.6
------------------------
- Bugfix: in bulkrole.py, ignore transport errors by catching
error.Error based exceptions.
- Use repr() when reporting garbaged octet stream on decoder input.
Tue Jul 16 12:19:35 MSD 2002
Changes to version 2.0.5
------------------------
- Bugfix: use long ints in integers decoders of asn1.py to prevent a
wrapover on left shift what sometimes decodes to negative in unsigned
data types decoders.
- Verify against negative initializers to unsigned data types.
- Split up BER decoders of asn1.INTEGER and asn1.UNSIGNED32 classes,
derive asn1.COUNTER64 class from asn1.UNSIGNED32 for clarity.
Tue Jun 25 8:34:39 MSD 2002
Changes to version 2.0.4
------------------------
- Bugfix: the 'UPTIME' BER tag removed from asn1.BERHEADER.TAGS dictionary
as it seems to duplicate the 'TIMETICKS' flag what accidentally causes
pysnmp.asn1.TypeError exception.
- The FLAGS dictionaries in various classes split up to CLASS and
FORMAT ones to better follow BER specification.
- The asn1.TAGGEDSEQUENCE class renamed to asn1.SEQUENCE as the latter
seems not to be defined and used in SNMP context.
Fri Jun 21 08:54:43 MSD 2002
Changes to version 2.0.3
------------------------
- Bugfix: role.agent class constructor must be passed a list type parameter.
Fri Jun 7 10:35:30 MSK 2002
Changes to version 2.0.2
------------------------
- Bugfix: non-existent exception class error.PySNMPError replaced with
error.Generic in asynchronous code.
- Bugfix: check that exc_type is not None in asyncmgr.py
telnet_server.request_done_fun() to see if an exception
occurred.
Mon May 20 18:55:09 MSK 2002
Changes to version 2.0.1
------------------------
- The whole package has been completely redesigned and rewritten
in a more object-oriented fashion.
Major changes from user's point of view include:
* SNMP v.2c support added;
* SNMP agent (server) support added to SNMP transport code;
* API level compatibility with previous PySNMP versions is
not preserved at the moment (work on the compatibility layer is
in progress).
Changes to version 1.6.5
------------------------
- Distutils support added by drt@un.bewaff.net.
Tue Sep 25 18:34:56 MSK 2001
Changes to version 1.6.4
------------------------
- The snmpagent.py script previously contributed by Cayce Ullman
updated by Ivan Begtin to run with the latest versions of PySNMP.
- Oddly handled exceptions fixed to msession.multisession() class. Thanks
to Chris Green for pointing out.
- Inconsistent default return value fixed in multisession.retrieve() method.
This bug may lead to IndexError on timed out SNMP request. Thanks to
Chris Green for a patch.
Fri Jun 22 08:55:39 MSK 2001
Changes to version 1.6.3
------------------------
- Bug fixed in examples/async_snmpget.py: this example script misses
async_session() class structure change introduced in version 1.6.1.
Thanks to Chris Green for a patch.
- Also, a minor improvement has been made to examples/async_snmpget.py
script -- now this script handles cases when remote SNMP agent returns
SNMP error in reply.
Sat Jun 16 11:06:34 MSK 2001
Changes to version 1.6.2
------------------------
- Missing "opaque" ASN.1 data type support committed to BER engine. Thanks
to Carl Bray for providing a patch for it.
Sat May 5 10:02:40 MSK 2001
Changes to version 1.6.1
------------------------
- SNMP traps support has finally been completed. Example agent and manager
along with some documentation included. Thanks to Ted Crossman for initial
traps handling code.
- The ber.decode_ipaddress() method renamed to ber.decode_ipaddr() to
look as a counterpart to ber.encode_ipaddr(). Compatibility stub
ber.encode_ipaddress() remained.
- __doc__ strings improved throughout the code.
- BER engine code slightly optimized for a little bit better performance.
Thu Mar 22 08:37:02 MSK 2001
Changes to version 1.5.5
------------------------
- In objid.objid(), the str variable name replaced with txt to avoid
interferention with str() builtin function. Thanks to Kal Lin for
pointing it out.
- Bug fixed in ber.encode_an_integer() and ber.decode_integer() methods.
They used to handle negative integers in a wrong way. Thanks to
Tim Kwiatkowski