diff options
author | elie <elie> | 2000-11-28 07:49:09 +0000 |
---|---|---|
committer | elie <elie> | 2000-11-28 07:49:09 +0000 |
commit | 8047836f6957a23d38a3b30454d1686d0ebf5456 (patch) | |
tree | 4c8a5d57b2a75cf79631082dd191090f6d9d4eba | |
download | pysnmp-8047836f6957a23d38a3b30454d1686d0ebf5456.tar.gz |
Initial revision
-rw-r--r-- | CHANGES | 176 | ||||
-rw-r--r-- | LICENSE | 24 | ||||
-rw-r--r-- | README | 78 | ||||
-rw-r--r-- | TODO | 5 |
4 files changed, 283 insertions, 0 deletions
@@ -0,0 +1,176 @@ + +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; + +Sat Nov 4 19:22:20 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; @@ -0,0 +1,24 @@ +Copyright (c) 1999, 2000, Ilya Etingof <ilya@glas.net> +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + @@ -0,0 +1,78 @@ +SNMP manager module for Python, version 1.3.14 +---------------------------------------------- + +This is a simple Python implementation of SNMP V1 manager. It is written +entirely in Python. + +This package is distributed under terms and conditions of BSD license. See +LICENSE file shipped along with this package for details. + + +PRECAUTIONS +----------- + +SNMP traps are not fully implemented yet. + +MIB parsing's not implemented hence values of Object-Id's need to be +encoded by the application when it's calling PySNMP module to transmit +SNMP packets. + + +OPERATION +--------- + +---- cut here --- + +# import SNMP module +import pysnmp + +# OBJID to lookup +OBJID = '.1.3.6.1.4.1.307.3.2.1.1.1.4.1' + +# initialize lists of BER encoded OBJID's and their values to lookup +encoded_oids = [] +encoded_vals = [] + +# create SNMP session object +session = pysnmp.session(agent='pm16.glasnet.ru', community='mycomm') + +# encode an objid +encoded_oids.append(session.encode_oid(session.str2nums(OBJID))) + +# build SNMP packet to be sent +packet = session.encode_request ('GETREQUEST', encoded_oids, encoded_vals) + +# send SNMP request and receive a response +response = session.send_and_receive (packet) + +# parse a response packet +(encoded_oids, encoded_vals) = session.decode_response (response, 'GETRESPONSE') + +# decode and print OID/value pair +print session.decode_value(encoded_oids[0]), +print ' --> ', +print session.decode_value(encoded_vals[0]) + +--- cut here --- + +See examples/ directory for more examples. + + +AVAILABILITY +------------ + +PySNMP is a free software. Recent versions of this package's available from +ftp://ftp.glas.net/users/ilya/tools/pysnmp/pysnmp.tar.gz + + +FEEDBACK +-------- + +I'm interested in bug reports & fixes, suggestions and improvements. Also, +I'd be happy knowning about your software development projects where you +used my PySNMP module. Please, send me a note about that. + +Thanks! + +=-=-= +This document and the PySNMP module was written by Ilya Etingof <ilya@glas.net> @@ -0,0 +1,5 @@ +YET TO BE DONE +-------------- + +- implement an example server listening for SNMP traps; +- implement MIB parser; |