2004-11-15 14:11:44 +01:00
|
|
|
Mon Nov 15 08:11:59 MSD 2004
|
2004-04-12 11:24:49 +02:00
|
|
|
|
2004-11-15 14:11:44 +01:00
|
|
|
Changes to version 4.0.0a (pre-alpha)
|
|
|
|
-------------------------------------
|
2004-04-12 11:24:49 +02:00
|
|
|
|
2004-11-08 21:03:59 +01:00
|
|
|
- Major re-design and re-implementation.
|
2004-11-15 14:11:44 +01:00
|
|
|
- Rudimental API versioning implemented to let incompatible package
|
|
|
|
branches to co-exist within the same Python installation.
|
2004-11-08 21:03:59 +01:00
|
|
|
- SMI framework designed and implemented. This framework provides
|
|
|
|
1) various access to MIB data 2) a way to implement custom MIB
|
|
|
|
instrumentation objects. There's also a tool for building SMI classes
|
|
|
|
from libsmi(3) output (smidump -f python).
|
2004-04-12 11:24:49 +02:00
|
|
|
- ASN.1 subtyping machinery implemented. Now dynamic ASN.1 instances
|
|
|
|
subtyping and quering becomes available. Previously, this has been done
|
|
|
|
through Python classes inheritance what proved to be a wrong concept.
|
|
|
|
- ASN.1 codecs framework re-designed and re-implemented aimed at a more
|
|
|
|
consistent design and better performance. Highlights include abstract
|
|
|
|
codec interface and serialized data caching (at encoder).
|
2004-11-08 21:03:59 +01:00
|
|
|
- Asn1Item constraints machinery re-implemented based on Mike C. Fletcher's
|
2004-04-12 11:24:49 +02:00
|
|
|
design and code. Now various constrains are implemented as stand-alone
|
|
|
|
objects serving interested Asn1Object derivatives through some abstract
|
|
|
|
protocol (that's probably the Decorator design pattern).
|
2004-11-08 21:03:59 +01:00
|
|
|
- ASN.1 tagging facility re-implemented along the client-server design
|
|
|
|
pattern. Besides this seems to be a more appropriate design, it allows
|
|
|
|
an easier way for dynamic subtyping.
|
2004-04-12 11:24:49 +02:00
|
|
|
|
2004-10-25 08:23:27 +02:00
|
|
|
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
|
|
|
|
|
2004-04-12 11:24:49 +02:00
|
|
|
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
|
2003-08-27 22:12:32 +02:00
|
|
|
|
|
|
|
Changes to version 3.4.1
|
|
|
|
------------------------
|
|
|
|
|
2004-04-12 11:24:49 +02:00
|
|
|
- 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
|
2003-09-01 09:40:13 +02:00
|
|
|
|
|
|
|
Changes to version 3.3.6
|
|
|
|
------------------------
|
|
|
|
- Another bugfix to broken errorIndex/VarBindList handling
|
|
|
|
at examples/*.py tools
|
2003-09-04 10:51:03 +02:00
|
|
|
- Syntax error fixed at cli/ucd/rfc1157.py
|
2003-09-05 15:26:19 +02:00
|
|
|
- Bugfix to asn1.ObjectIdentifier labeling code
|
2003-09-20 08:34:46 +02:00
|
|
|
- Bugfix to VarBindList initialization at compat.pysnmp2x
|
2003-09-22 14:19:28 +02:00
|
|
|
- Bugfix to extra data at the tail of structured types BER octetstream
|
|
|
|
handling
|
2003-09-01 09:40:13 +02:00
|
|
|
|
2003-08-27 22:12:32 +02:00
|
|
|
Wed Aug 27 22:45:44 MSD 2003
|
2004-04-12 11:24:49 +02:00
|
|
|
|
2003-08-27 21:31:14 +02:00
|
|
|
Changes to version 3.3.5
|
|
|
|
------------------------
|
2004-04-12 11:24:49 +02:00
|
|
|
|
2003-08-27 21:31:14 +02:00
|
|
|
- The examples/snmp*walk.py tools fixed not to query first OID in range
|
|
|
|
by GetRequest unless explicitly specified by command line.
|
|
|
|
- The -C<p|i|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.
|
2003-08-27 22:12:32 +02:00
|
|
|
- Bugfix to v*.SetRequest.Community initialization at pysnmp.proto
|
2003-08-28 21:13:21 +02:00
|
|
|
- Bugfix to ObjectIdentifier class wrapper at pysnmp.compat.pysnmpxx
|
2003-08-29 10:36:11 +02:00
|
|
|
- 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).
|
2003-08-29 12:05:44 +02:00
|
|
|
- Obsolete rfc1442 BIT STRING type implemented to handle outdated SNMP
|
|
|
|
entities.
|
2003-08-29 13:06:24 +02:00
|
|
|
- Make pysnmp.mapping.udp.role.manager attempting to resolve and cache default
|
|
|
|
agent IP on instantiation for better peformance.
|
2003-08-27 21:31:14 +02:00
|
|
|
|
2003-08-27 20:23:25 +02:00
|
|
|
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.
|
|
|
|
|
2002-12-18 18:47:36 +01:00
|
|
|
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.
|
|
|
|
|
2002-12-18 17:50:03 +01:00
|
|
|
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.
|
|
|
|
|
2002-09-20 09:43:53 +02:00
|
|
|
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.
|
|
|
|
|
2002-07-16 10:34:02 +02:00
|
|
|
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.
|
|
|
|
|
2002-06-25 12:52:02 +02:00
|
|
|
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.
|
|
|
|
|
2002-06-21 13:58:59 +02:00
|
|
|
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.
|
|
|
|
|
2002-06-07 09:04:37 +02:00
|
|
|
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.
|
|
|
|
|
2002-05-20 17:14:32 +02:00
|
|
|
Mon May 20 18:55:09 MSK 2002
|
2002-01-23 10:50:15 +01:00
|
|
|
|
|
|
|
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
|
2002-05-20 17:14:32 +02:00
|
|
|
not preserved at the moment (work on the compatibility layer is
|
2002-01-23 10:50:15 +01:00
|
|
|
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 <jtk@bluesky.ecas.ou.edu> who has fixed this problem
|
|
|
|
by rewriting corresponding code from the scratch.
|
|
|
|
|
|
|
|
Fri Mar 9 19:02:56 MSK 2001
|
|
|
|
|
|
|
|
Changes to version 1.5.4
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- Package documentation added (still not quite complete).
|
|
|
|
|
|
|
|
- The implementation of ber.encode_oid() method replaced with a more
|
|
|
|
consistent one, as suggested by Jarkko Torppa. This also removes a
|
|
|
|
limitation on the size of sub-Object IDs to be encoded.
|
|
|
|
|
|
|
|
- Bug fixed in pysnmp.asynsnmp module -- import of pysnmp components was
|
|
|
|
incorrect.
|
|
|
|
|
|
|
|
- Bug fixed in multisession.retrieve() -- trick SNMP failures to empty
|
|
|
|
responses.
|
|
|
|
|
|
|
|
- The multisession.initialize() method added to facilitate class instances
|
|
|
|
reuse.
|
|
|
|
|
|
|
|
- In async_session.send_request(), the 'type' argument moved to the last
|
|
|
|
position of the argument list and assigned the default value ('GETREQUEST').
|
|
|
|
Unfortunately, this change may cause API incompatibility with the
|
|
|
|
previous versions of PySNMP.
|
|
|
|
|
|
|
|
- The async_session.open() method introduced as a result of splitting
|
|
|
|
apart the async_session.__init__() method. This is done to let user
|
|
|
|
of async_session class modify class instance private variables (port,
|
|
|
|
iface) before they take effect. This change may also cause API
|
|
|
|
incompatibility.
|
|
|
|
|
|
|
|
- In async_session.__init__(), verify the callback_fun argument to make sure
|
|
|
|
it's callable.
|
|
|
|
|
|
|
|
- In message.__init__(), the 'version' argument moved to the very end of
|
|
|
|
argument list, as it is never need to be modified. This change may cause
|
|
|
|
API incompatibility.
|
|
|
|
|
|
|
|
- In message.message() class, the 'decode_pdu' method renamed into
|
|
|
|
'decode_snmp_pdu' for a more consistent view. This change might not
|
|
|
|
affect API compatibility.
|
|
|
|
|
|
|
|
- In error.py, the 'BERError' class renamed into 'BEREngineError' while
|
|
|
|
'EngineError' one renamed into 'SNMPEngineError'. This change may cause
|
|
|
|
API incompatibility.
|
|
|
|
|
|
|
|
- In examples/*.py, the repr() builtin replaced with str() one as it looks
|
|
|
|
more appropriate for printing.
|
|
|
|
|
|
|
|
- In message.message() class, default values for 'type', 'encoded_oids'
|
|
|
|
and 'encoded_vals' arguments in method encode_request() removed.
|
|
|
|
|
|
|
|
- In message.message() class, default value for 'response' arguments in
|
|
|
|
method decode_response() removed.
|
|
|
|
|
|
|
|
- Receive buffers of SNMP engines enlarged up to maximum UDP datagram
|
|
|
|
size (65536 bytes) to accomodate possible huge Object IDs' values
|
|
|
|
in replies.
|
|
|
|
|
|
|
|
- In multisession.retrieve(), delete the list of SNMP sessions on finish
|
|
|
|
to save memory.
|
|
|
|
|
|
|
|
- More explanation messages added to exception class instantiations.
|
|
|
|
|
|
|
|
Tue Mar 6 18:06:56 MSK 2001
|
|
|
|
|
|
|
|
Changes to version 1.5.3
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- Example code in README fixed. Thanks to Jeff Wong and Charles Kong for
|
|
|
|
it pointing out.
|
|
|
|
|
|
|
|
Fri Feb 23 12:28:59 MSK 2001
|
|
|
|
|
|
|
|
Changes to version 1.5.2
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- The ber.encode_length() & ber.decode_length() methods modified to allocate
|
|
|
|
up to three extra bytes for storing the length of BER encoded data item or
|
|
|
|
raise an exception if data item is too large (>16MB).
|
|
|
|
|
|
|
|
Sun Jan 21 13:56:41 MSK 2001
|
|
|
|
|
|
|
|
Changes to version 1.5.1
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- The pysnmp module converted into pysnmp package. This change might
|
|
|
|
cause an incompatibility with previous PySNMP versions, as it
|
|
|
|
affects the way how user refers to pysnmp components.
|
|
|
|
|
|
|
|
- All the PySNMP components converted to use class-based exceptions.
|
|
|
|
|
|
|
|
- Comments to files converted to module __doc__ attribute.
|
|
|
|
|
|
|
|
- The arguments to all objid.objid() methods as well as caller_fun argument
|
|
|
|
to asynsnmp.async_session() class constructor becomes mandatory.
|
|
|
|
|
|
|
|
- Fixed a bug caused an infinit loop in msession.dispatch(), thanks to
|
|
|
|
Case Van Horsen for tracking it down.
|
|
|
|
|
|
|
|
- The repr() function is used in examples/ scripts in place of %
|
|
|
|
for a more consistent result types coercion.
|
|
|
|
|
|
|
|
- The documentation has been taked out of the distribution for a re-work
|
|
|
|
to get it reflecting 1.5.x changes.
|
|
|
|
|
|
|
|
Thu Jan 11 11:42:13 MSK 2001
|
|
|
|
|
|
|
|
Changes to version 1.4.2
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- Argument verification for the most of ber.ber() methods removed,
|
|
|
|
as it looks exessive (user must follow API specs).
|
|
|
|
|
|
|
|
- A bug is fixed in ber.decode_uptime(), thanks to Case Van Horsen for
|
|
|
|
pointing it out.
|
|
|
|
|
|
|
|
- The pysnmp.multisession() class has been re-written. The new version
|
|
|
|
is based on Case Van Horsen's code. Most importantly, a bug which
|
|
|
|
may cause some agents' responses get lost is fixed. Also, the new code
|
|
|
|
makes more efficient use of sockets.
|
|
|
|
|
|
|
|
From the pysnmp.multisession() API perspective, the
|
|
|
|
multisession.encoded_pairs attribute has been removed from class
|
|
|
|
definition, as it seems to be of no use. The multisession.retrieve()
|
|
|
|
method should be used instead.
|
|
|
|
|
|
|
|
Sat Dec 30 21:25:56 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.4.1
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
It's a major rewrite meant to remove known oddities. Unfortunately,
|
|
|
|
the API had to be changed a bit. The changes follow:
|
|
|
|
|
|
|
|
- The SNMP errors reported by remote SNMP process are now indicated
|
|
|
|
with the single exception (pysnmp.SNMP_ERROR) while the details
|
|
|
|
are supplied along with the exception associated value (see docs).
|
|
|
|
|
|
|
|
- Class constructor of pysnmp.session() class now accepts only a few
|
|
|
|
arguments (agent, community). The rest of arguments (such as UDP port
|
|
|
|
number, SNMP version etc.) are now available as the attributes of
|
|
|
|
pysnmp.session() class instances (see docs).
|
|
|
|
|
|
|
|
- Instances of pysnmp.session() class now have the 'iface' attribute
|
|
|
|
which carries the address of local interface SNMP engine is to bind()
|
|
|
|
to (see docs).
|
|
|
|
|
|
|
|
- The pysnmp.bad_parameters exception has been replaced with
|
|
|
|
pysnmp.bad_argument one as they seem to have very similar
|
|
|
|
semantics.
|
|
|
|
|
|
|
|
- Class constructor of pysnmp.multisession() class does not accept any
|
|
|
|
arguments. SNMP engine parameters are now avaliable as class instances
|
|
|
|
attributes (see the comment on pysnmp.session() class constructor above).
|
|
|
|
|
|
|
|
- The asynsnmp.async_session() class now subclasses the pysnmp.session()
|
|
|
|
class for the purpose of inheriting the API of pysnmp.session() class.
|
|
|
|
Consequently, the asynsnmp.async_session() class constructor now accepts
|
|
|
|
only a few [major] parameters. The minor ones should be referred as class
|
|
|
|
instance attributes (see docs).
|
|
|
|
|
|
|
|
- In async_session.handle_read(), when calling caller specified callback
|
|
|
|
function, pass caller a reference to ourselves along with a reference to
|
|
|
|
caller specific data. N.B. This leads to callback function's arguments list
|
|
|
|
change what may cause incompatibility problem to the user of asyncsnmp()
|
|
|
|
class!
|
|
|
|
|
|
|
|
- The pysnmp.packet() class renamed to pysnmp.message() as it better represents
|
|
|
|
its functionality. This also may cause some incompatibilities, though, I do
|
|
|
|
not expect great many people explicitly refer to it from their applications.
|
|
|
|
|
|
|
|
- Some comments in the code turned to objects' doc strings.
|
|
|
|
|
|
|
|
- The examples/ stuff has been re-written for a more consistent view;
|
|
|
|
|
|
|
|
- Module documentation added.
|
|
|
|
|
|
|
|
Thu Nov 16 08:49:14 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.14
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
- The license of the PySNMP package changed for a [more relaxed] BSD License;
|
|
|
|
|
|
|
|
Fri Nov 3 19:20:02 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.13
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
- Fixed wrong (non-tuple type) argument passed to socket.connect() method in
|
|
|
|
session.open();
|
|
|
|
|
|
|
|
Mon Sep 11 11:47:12 MSD 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.12
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
- bug fixed in IP address encapsulation method (ber.encode_ipaddr()). Thanks
|
|
|
|
to Jarkko Torppa for pointing it out!
|
|
|
|
|
|
|
|
Fri Sep 8 11:51:34 MSD 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.11
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
- the obsolete standard Python module 'rand' replaced with 'whrandom'
|
|
|
|
in pysnmp.py for better portability. The random numbers generator is
|
|
|
|
used for SNMP RequestID initialization. This change also enlarges the
|
|
|
|
range of possible RequestID values from 0 to 0x7fffffff.
|
|
|
|
|
|
|
|
- contribution/ directory introduced and Cayce Ullman's PySNMP based
|
|
|
|
SNMP agent put there as an example of possible PySNMP use;
|
|
|
|
|
|
|
|
Mon Sep 4 15:04:05 MSD 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.10
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
- catch all possible SNMP related exceptions in async_session.handle_read()
|
|
|
|
and convert them into (None, None) result as they would arrive out of
|
|
|
|
context at that point (this is subject for further re-work);
|
|
|
|
|
|
|
|
- a syntax error fixed in ber.encode_ipaddr() thanks to Stefan Sami-Soueiha
|
|
|
|
who pointed this out;
|
|
|
|
|
|
|
|
Fri Aug 4 09:50:37 MSD 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.9
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- initialize SNMP Request-Id to a random value (by means of rand.rand())
|
|
|
|
in pysnmp.packet class constructor. This makes sense when user doesn't re-use
|
|
|
|
pysnmp object for subsequent SNMP queries but re-creates new pysnmp
|
|
|
|
object for every request;
|
|
|
|
|
|
|
|
- convert possible pysnnp exceptions when decoding SNMP reply in
|
|
|
|
async_session.handle_read() into (None, None) result as a pysnmp
|
|
|
|
exception at that point would arrive out of context;
|
|
|
|
|
|
|
|
- do not destroy pysnmp.session object in async_session.handle_read()
|
|
|
|
method as pysnmp.session object may be re-used;
|
|
|
|
|
|
|
|
Tue May 30 18:32:23 MSD 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.8
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- a bunch of changes to pysnmp.multisession class suggested by Case Van Horsen.
|
|
|
|
These changes make objects of multisession class handling socket exceptions
|
|
|
|
rather than passing them up to mother application;
|
|
|
|
- socket variable at pysnmp.py: replaced with sock as Case Van Horsen
|
|
|
|
reported that it interferes with the socket module;
|
|
|
|
|
|
|
|
Mon Mar 20 18:48:54 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.7
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- pysnmp.objid class moved to a dedicated module objid.py;
|
|
|
|
- ber.ber now superclasses objid.objid class;
|
|
|
|
- pysnmp.session.__init__() doesn't create an instance of pysnmp.objid()
|
|
|
|
class (THIS MAY CAUSE BACKWARD INCOMPATIBILITY, please, let me know
|
|
|
|
if you think I should maintain backward compatibility at this point
|
|
|
|
of code);
|
|
|
|
- ber.decode_value() now attempts to decode an Object-Id type argument
|
|
|
|
as suggested by Case Van Horsen;
|
|
|
|
- examples/*.py changed to utilize ber.decode_value() method against
|
|
|
|
Object-ID's;
|
|
|
|
- tabs converted to spaces through all the *.py files;
|
|
|
|
- a few cosmetic changes applied to code;
|
|
|
|
|
|
|
|
Tue Jan 25 00:22:18 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.6
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- the README example corrected, thanks to Carl Bray <cbray@Orchestream.com>;
|
|
|
|
|
|
|
|
Wed Jan 19 14:43:31 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.5
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- the asynchronous SNMP manager class previously founded in
|
|
|
|
examples/async_snmpget.py moved to a separate module asynsnmp.py;
|
|
|
|
- examples/async_snmpget.py now imports asynchronous SNMP manager class
|
|
|
|
from asynsnmp.py module;
|
|
|
|
|
|
|
|
Mon Jan 17 15:50:04 MSK 2000
|
|
|
|
|
|
|
|
Changes to version 1.3.4
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- session.open() now returns the socket object it created;
|
|
|
|
- added a session.get_socket() method which returns socket object
|
|
|
|
previously created with session.open() method;
|
|
|
|
- examples/async_snmpget.py added;
|
|
|
|
|
|
|
|
Thu Nov 25 16:42:59 MSK 1999
|
|
|
|
|
|
|
|
Changes to version 1.3.3
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- added a method which figures out if one OBJID is a prefix of another OBJID
|
|
|
|
(this is used in table retrieval;
|
|
|
|
- example/snmptable.py added;
|
|
|
|
|
|
|
|
Sat Nov 13 23:43:08 MSK 1999
|
|
|
|
|
|
|
|
Changes to version 1.3.2
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- community argument of examples/* tools is now obligatory;
|
|
|
|
- multisession example of snmpget tool converted to snmpbulk tool;
|
|
|
|
|
|
|
|
Wed Nov 10 18:06:34 MSK 1999
|
|
|
|
|
|
|
|
Changes to version 1.3.1
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- a couple of bugfixes for BER [en,de]coders reported by
|
|
|
|
Steve Cochran <steve@more.net> commited to the distribution;
|
|
|
|
|
|
|
|
Thu Oct 28 17:40:09 MSD 1999
|
|
|
|
|
|
|
|
Changes to version 1.3
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
- example/snmpset.py added;
|
|
|
|
|
|
|
|
Sun Oct 17 17:42:31 MSD 1999
|
|
|
|
|
|
|
|
Changes to version 1.2
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
- examples/* tools now support command line arguments;
|
|
|
|
- order of the arguments of session.__init__() and multisession.submit_request()
|
|
|
|
changed to better use defaults;
|
|
|
|
- order of the arguments of session.decode_response() changed, response type
|
|
|
|
may now be ommited;
|
|
|
|
|
|
|
|
Sat Oct 16 19:19:00 MSD 1999
|
|
|
|
|
|
|
|
Changes to version 1.1
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
- more checks against inconsistent arguments passed to various methods added;
|
|
|
|
- SMTP request type can now be passed to the packet constructing methods;
|
|
|
|
- more comments added to the code;
|
|
|
|
- a Object ID's convertion class (pysnmp.objid) added;
|
|
|
|
- examples/* updated (snmpwalk.py added);
|
|
|
|
- a few significant bugs fixed;
|