diff options
author | elie <elie> | 2005-10-26 15:20:56 +0000 |
---|---|---|
committer | elie <elie> | 2005-10-26 15:20:56 +0000 |
commit | 37faa14bba3e4dc397000ddd1635b19b2fcffe4b (patch) | |
tree | f815b05a7086f7ccde3ed4338b64c8fe9cbeea63 | |
parent | 4c8b50287d3308bfc78e99a759cac62427ba6fc0 (diff) | |
download | pysnmp-37faa14bba3e4dc397000ddd1635b19b2fcffe4b.tar.gz |
2.0.9
-rw-r--r-- | CHANGES | 610 | ||||
-rw-r--r-- | setup.py | 25 |
2 files changed, 534 insertions, 101 deletions
@@ -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; @@ -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" ) |