summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2000-11-28 07:49:09 +0000
committerelie <elie>2000-11-28 07:49:09 +0000
commit8047836f6957a23d38a3b30454d1686d0ebf5456 (patch)
tree4c8a5d57b2a75cf79631082dd191090f6d9d4eba
downloadpysnmp-8047836f6957a23d38a3b30454d1686d0ebf5456.tar.gz
Initial revision
-rw-r--r--CHANGES176
-rw-r--r--LICENSE24
-rw-r--r--README78
-rw-r--r--TODO5
4 files changed, 283 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000..adc654a
--- /dev/null
+++ b/CHANGES
@@ -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;
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..1b1a01f
--- /dev/null
+++ b/LICENSE
@@ -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.
+
diff --git a/README b/README
new file mode 100644
index 0000000..20af537
--- /dev/null
+++ b/README
@@ -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>
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..344878e
--- /dev/null
+++ b/TODO
@@ -0,0 +1,5 @@
+YET TO BE DONE
+--------------
+
+- implement an example server listening for SNMP traps;
+- implement MIB parser;