summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2005-10-26 15:20:56 +0000
committerelie <elie>2005-10-26 15:20:56 +0000
commit37faa14bba3e4dc397000ddd1635b19b2fcffe4b (patch)
treef815b05a7086f7ccde3ed4338b64c8fe9cbeea63
parent4c8b50287d3308bfc78e99a759cac62427ba6fc0 (diff)
downloadpysnmp-37faa14bba3e4dc397000ddd1635b19b2fcffe4b.tar.gz
2.0.9
-rw-r--r--CHANGES610
-rw-r--r--setup.py25
2 files changed, 534 insertions, 101 deletions
diff --git a/CHANGES b/CHANGES
index b24dbcb..7bf6611 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,80 +1,530 @@
-Revision 4.1.5a
----------------
-
-- UNSTABLE ALPHA RELEASE.
-- Multi-lingual SNMP Trap/Inform Applications completed; examples added
-- SNMP SET Application support completed
-- Minor, though backward incompatible, changes to one-liner API
-- Many bugfixes
-
-Revision 4.1.4a
----------------
-
-- UNSTABLE ALPHA RELEASE.
-- SHA-based authentication fixed and privacy implemented
-- ...oneliner.cmdgen.UsmUserData constructor now takes
- authProtocol and privProtocol parameters in a backward incompatible
- manner.
-
-Revision 4.1.3a
----------------
-
-- UNSTABLE ALPHA RELEASE.
-- rfc3413 applications API changes (related to callback function
- behaviour).
-- TransportDispatcher now provides "jobs" interface to clients
- for better control of dispatcher's execution.
-- Many minor fixes.
-
-Revision 4.1.2a
----------------
-
-- UNSTABLE ALPHA RELEASE.
-- Top-level application classes renamed into longer, self descripting names
- for clarity.
-- CommandResponder & NotificationOriginator applications now uses
- stand-alone SnmpContext for application registration.
-- Many minor fixes (inspired by testing on WinXP)
-
-Revision 4.1.1a
----------------
-
-- UNSTABLE ALPHA RELEASE.
-- SNMPv3 code first published
-- SNMP engine and applications implemented on library level
-- Major re-design towards SNMPv3-style API.
-
-Release 4.0.2a
---------------
-
-- Adopted to slightly changed asyncore API (as shipped with python 2,4)
-
-Release 4.0.1a
---------------
-
-- Minor bug/typo fixes, mostly in example/ scripts.
-
-Release 4.0.0a
---------------
-
-- UNSTABLE EARLY ALPHA RELEASE.
-- Major re-design and re-implementation.
-- Rudimental API versioning implemented to let incompatible package
- branches to co-exist within the same Python installation.
-- 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).
-- 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).
-- Asn1Item constraints machinery re-implemented based on Mike C. Fletcher's
- 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).
-- 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.
+Wed Oct 26 19:17:53 MSD 2005
+
+Changes to version 2.0.9
+------------------------
+
+- Bugfix to pysnmp/bulkrole.py: role.manager() instantiation
+ parameters fixed
+- Bugfix to pysnmp/bulkrole.py: propagate transport timeout setting
+ from bulkrole.manager scope to role.manager.
+
+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 <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;
diff --git a/setup.py b/setup.py
index faab11e..2f5ba58 100644
--- a/setup.py
+++ b/setup.py
@@ -1,30 +1,13 @@
#!/usr/bin/env python
+
from distutils.core import setup
setup(name="pysnmp",
- version="4.1.5a",
- description="SNMP framework for Python",
+ version="2.0.9",
+ description="Python SNMP Toolkit",
author="Ilya Etingof",
author_email="ilya@glas.net ",
url="http://sourceforge.net/projects/pysnmp/",
- packages = [ 'pysnmp',
- 'pysnmp.v4',
- 'pysnmp.v4.smi',
- 'pysnmp.v4.smi.mibs',
- 'pysnmp.v4.carrier',
- 'pysnmp.v4.carrier.asynsock',
- 'pysnmp.v4.carrier.asynsock.dgram',
- 'pysnmp.v4.entity',
- 'pysnmp.v4.entity.rfc3413',
- 'pysnmp.v4.entity.rfc3413.oneliner',
- 'pysnmp.v4.proto',
- 'pysnmp.v4.proto.mpmod',
- 'pysnmp.v4.proto.secmod',
- 'pysnmp.v4.proto.secmod.rfc3414',
- 'pysnmp.v4.proto.secmod.rfc3414.auth',
- 'pysnmp.v4.proto.secmod.rfc3414.priv',
- 'pysnmp.v4.proto.acmod',
- 'pysnmp.v4.proto.proxy',
- 'pysnmp.v4.proto.api' ],
+ packages=['pysnmp'],
license="BSD"
)