14
0
forked from pool/python-pysnmp

Accepting request 173430 from home:HighwayStar:branches:devel:languages:python

update to 4.2.4
python3 package added
License in spec file updated to BSD-4-clause according to text of LICENSE file in source tarball

OBS-URL: https://build.opensuse.org/request/show/173430
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pysnmp?expand=0&rev=14
This commit is contained in:
Sascha Peilicke
2013-04-26 10:06:50 +00:00
committed by Git OBS Bridge
parent 78a1e897d1
commit 4554fd77bf
6 changed files with 345 additions and 10 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9b8b0d4ecc45e6f6a920b13f09e28e9d6051ed0b5cf458847bc34bcb0422ff0
size 194057

3
pysnmp-4.2.4.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5d78273f14afc6401b7456f086e7b56baaaa51fa0c39830d159bed611c9d89d
size 213079

View File

@@ -1,3 +1,251 @@
-------------------------------------------------------------------
Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com
- update to 4.2.4
Revision 4.2.4
--------------
- SNMPv3 high-level and native API examples reworked and extended to cover
many use cases.
- The missing functionality of NOTIFICATION-TYPE objects being looked up
at local Management Instrumentation and attached to TRAP/INFORM message
by Notification Originator is now fully implemented.
- The missing functionality of passing Response PDU contents of INFORM
request is now implemented at Notification Originator app. The return
value of NotificationOriginator.sendNotification is now a composite object
that includes errorStatus, errorIndex and varBinds.
- The missing functionality of passing lookupNames & lookupValues params
to Notification Originator is now implemented. It may make sense for
INFORMs.
- The missing functionality of passing contextName to oneliner
version of NotificationOriginator.sendNotification is now implemented.
- Oneliner example apps now include cases where non-default SNMP
ContextEngineId/ContextName/SecurityEngineId is used.
- The contextName parameter of SnmpContext.getMibInstrum made optional.
- AbstractMibInstrumController class added as a base class for all possible
kinds of Management Instrumentation controllers.
- Report package version on debugging code initialization.
- MibInstrumController.getMibBuilder() added.
- I/O sockets buffer sizes made configurable, minimum default is now
forced to be no less than 2**17 (to fit two huge datagrams).
- Catch possible exceptions on pyasn1 encoder invocation.
- VACM modules converted from a function into an object to let it keep
state (caches) in the future.
- Unnecessary *MibSource explicit initialization calls removed at MibBuilder.
- Example configuration for Net-SNMP's snmptrapd added.
- Cast additionalVarBinds into ObjectIdentifier type at
NotificationOriginator.sendNotification()
- Standard SNMPv3 Apps hardened to catch protocol-related exceptions and
report them as errorIndication's.
- Catch and mute possible failure of getsockname(), that seems to happen
on Windows only so far.
- Memory leak fixed at oneliner cache of already configured targets.
- Fixes to at AsynNotificationOriginator.sendNotification() to make
a) the notificationType param mandatory b)t e varBinds param really
optional
- Fixes to ContextEngineId/ContextName support at the oneliner API: now
both items should be passed to request PDU through *Cmd() request
initiation method, the items of authData object should be used only for
LCD configuration.
- Fix to MibVariable handling of the MIB, <empty-symbol> initializers.
- Fix to outgoing queue processing order at socket transport. Now
it's a FIFO discipline rather than LIFO.
- Fix to NotificationOriginator's additionalVarBinds parameter - it is
not mandatory anymore with the oneliner API. Also additionalVarBinds
defaulted value changed from None to () meaning no var-binds.
- Attempt to convert Windows style EOL into UNIX ones in MIB source
modules appeared to be unnecessary and even destructive to modules
data in some cases. So the convertion code removed altogether.
- Fix to isAccessAllowed() error handling at NotificationOriginator. System
used to crash on access denied condition.
- Fix to NotificationOriginator to make it use system uptime and trap OID
values from SNMP engine's instrumentation rather then from SNMP context.
- Fix a couple of bugs at MibTable* logic involved for table instances
creation.
- Fix to Management Instrumentation code to handle cases of non-initialized
or not-compliant-to-constraints Managed Objects Instances.
- Fix to Management Instrumentation code to make table row removal through
SNMP working again. Wrong method (instumClone) was probed at terminal
MIB nodes values instead of the right one (setValue).
Revision 4.2.3
--------------
- SECURITY FIX: USM subsystem did not verify securityLevel of a request
to an authoritative SNMP engineinbound against auth/priv protocols
configured for the user in question. That allowed unauthenticated/unciphered
access to pysnmp-based Agent even if USM user is configured to provide one.
- Oneliner [Asyn]CommandGenerator now supports optional keyword args
lookupNames, lookupValues that enable response OID / value looked up at
MIB and reported as a MibVariable container object carrying relevant
MIB info.
- Oneliner [Asyn]CommandGenerator now supports symbolic MIB object names to be
passed within a MibVariable container object which would do a deferred
MIB lookup for name resolution. This is a new and preferred API which
obsoletes the tuple-based one (it is still suppored though).
- Oneliner CommandGenerator's class attributes lexicographicMode, maxRows
and ignoreNonIncreasingOid moved to optional keyword args of nextGen()
and bulkGen() methods.
- IPv6/UDP and Local Domain Socket transport interfaces added to the
oneliner API.
- Mib Instrumentation subsystem re-worked to replace excessive
MibNode's smiCreate()/smiWrite()/smiDestroy() methods with
MibScalarInstance's getValue()/setValue()
- MibTree.readTest[Get]Next() reworked to be called uniformely so
user could tap on these methods at any level of the MIB tree.
- MibTableColumn.getNextNodeWithValue() unpublished API method obsoleted
and removed for clarity.
- Hex dumps of binary parts of the protocol added to ease system
operations analysis.
- SnmpEngineId autogeneration does not call DNS resolver but uses
local hostname not to depend upon local IP availability and performance.
- Example apps reworked, additional SNMPv3 auth/priv protocols and transports
added.
- Package version is now available as __init__.__version__ and it is
in-sync with distutils.
- Package meta-information updated.
- The __init__.py's made non-empty (rumors are that they may be optimized
out by package managers).
- Multiple fixes to UNIX domain socket transport to make it fully
operational again.
- Use sysUpTime value whenever it is included in Notification PDU, otheriwese
resort to SNMP engine uptime reading.
- SNMPv2c Message is now defined in rfc1901.py what matches standard
definition.
- Types defined within SNMPv1/v2c data structures (rfc1157.py/rfc1905.py)
moved to module scope to become accessible by wrapper routines
(v1.py/v2c.py). This is used for setting strictly typed default values
to corresponding SNMP data structures.
- The obsolete and unpublished MibInstrumController.readVarsFast() method
removed for API clarity.
- MibBuilder now distinguishes case of MIB modules filenames even if
underlying OS does not.
- LCD configuration caching is implemented at pysnmp.entity.rfc3413.config
that improves performance of repetitive calls by 10% and might hugely
improve NotificationOriginator's performance when working on a large
number of targets.
- A caching maps implemented at rfc2576 subsystem to speed-up communityName
to/from securityName resolution. The also makes transport tags processing
better compliant to the standard.
- Community and Transport tags processing changed at the oneliner interface
to make the whole mechanism more compliant with the standard. Most
importantly, it is now possible to tag authentication and transport
information separately.
- The NoSuchInstanceError exception class is no more inherits from
NoSuchObjectError to make class hierarchy closer to SNMP specification
which states that these errors are separate and independent.
- The Next & BulkCommandGenerator's split onto single-run and iterative
impementations. The former just process a single interaction and complete
while the latter run as many interactions as user callback function
indicates to.
- The pysnmp.entity.rfc3413.mibvar module is now obsolete by
pysnmp.entity.rfc3413.oneliner.mibvar featuring basically the same
features but within a stateful, dedicated object.
- Auth & target configuration container classes moved to their separate
modules at oneliner API.
- The notificationType parameter of AsynNotificationOriginator.sendNotification
made defaulted to reflect its optional nature.
- Oneliner UsmUserData, UdpTransportTarget, Udp6TransportTarget instances
are not hashable anymore as they are intended to act more like a data
structure than object.
- Built-in debugger now supports negating debugging categories.
- An async/getgen.py example script added.
- Fix to MIB data reading routine to make it working with possible
Windows end-of-line's.
- Fix to CommandGenerator's SNMPv3 engine autodiscovery algorithm
when retryCount is administratively set to 0.
- Fix to Notification Originator to make it communicating a single
sendPduHandle to an application even when multiple INFORMs are triggered
and processed by a single call by way of transport tagging feature.
- Fix to rfc2576:processIncomingMessage() to take SecurityModel into account
when lookup up SecurityName by CommunityName. This allows mixed SNMPv1/v2c
communication with the same target.
- Fix to internal MessageProcessing and SecurityModel timers so they become
dependant on system timer resolution.
- Fix to v1.PDUAPI.setDefaults() method that used to set wrongly typed
time-stamp component.
- Fix to IPv6 address handling to prevent system from crashing whilst
running Python3.
- Fix to SNMPv2 exception objects translation into SNMPv1 PDU and NEXT
OIDs calculation.
- Fix to MibTree class to properly report noSuchObject & noSuchInstance
SNMP special values.
- Fix to libsmi2pysnmp tool to make it working again in Python < 2.7
- Fix to exception handling at decodeMessageVersion() caller to prevent
ASN.1 parsing errors crashing the whole app.
- Fix to GenericTrap type processing at rfc2576:v1Tov2c() which used to
crash the whole SNMP engine.
- Fix to [possibly uninizilaized] pyasn1 objects printouts at
MibInstrumController.__indexMib()
- Fix to maxSizeResponseScopedPDU calculation at rfc3414/service.py.
- Dedicated 'withmib' example set is obsolete and removed.
- Another SNMP proxy example app added (1to3.py).
- Fix to MIB modules loading code to make it using __import__() properly.
This also makes pysnmp working again with Python 3.3rc0.
- Typo fix to snmpInASNParseErrs MIB instance object.
- Typo fix to errind.EngineIdMismatch class and its instance.
Revision 4.2.2
--------------
- Oneliner CommandGenerator can now limit the number of SNMP table
rows returned by nextCmd()/bulkCmd() methods.
- Oneliner CommunityData configuration object can now be initialized
with community name only, security name will be chosen automatically.
- Oneliner LCD configuration routines reworked towards clarity. The
side-effect of this change is that repetitive oneliner call with the same
securityName and different configuration options will only honor
the first settings. Previous implementation would override older settings.
- Transport dispatcher now provides its own time expressed in
fractions of second. SNMP engine uses this notion of time for
handling requests timeout to make packet flow time bound
to async I/O core operations rather than to real time.
- The libsmi2pysnmp tool improved to handle incomplete SMI v1->v2
conversion performed by smidump. The remaining core SMIv1 modules
excluded from the core MIB set.
- The pyasn1 constraint and enumeration objects put into ASN1-*
MIB modules what appears to be more in-line with SMI. Existing
MIB modules as well as libsmi2pysnmp tool corrected accordingly.
- SMIv1 MIB modules (including RFC1155 and RFC1213) were moved to
pysnmp-mibs as pysnmp is SMIv2-based.
- The MibBuilder.importSymbols() now takes optional kwargs and
push them into MIB modules globals(). This is to facilitate
passing user infomation, such as DB connection handler, to MIB
module namespace so it could be used by ManagedObjects implementations.
- When running on Python3, SMI will re-raise exceptions with the original
traceback for easier diagnostics.
- Out of PYTHONPATH MIB paths now supported.
- Added pyasn1 decoder failures diagnistics in debug mode.
- Fix to non-MT-safe class attributes at SNMPv3 MP & SEC modules.
- Fix to ContextName handling in bytes form whilst running Python3. Data
mismatch error would return otherwise.
- Fix to SNMPv3 MP peer engine ID discovery not to learn and use
user-specified ContextEngineId.
- Fix to socket.error processing at Py3 on Windows.
- Fix to oneliner GETNEXT/GETBULK implementation to properly support
ignoreNonIncreasingOIDs option.
- Fix to setEndOfMibError()/setNoSuchInstanceError() at v1 PDU not to
loose errorIndex.
- Fix to api.v2c.getVarBindTable() to ignore possible non-rectangular GETBULK
response tables.
- Fix to oneliner getnext/getbulk response table rectangulation procedure
to gracefully handle an empty column condition.
- Fix to legacy MibBuilder.getMibPath() to prevent it from missing
.egg-based components in path.
- Fix to oneliner configuration routine that used to implicitly
tag SNMPv1/v2c auth and transport LCD rows what resulted in
huge delays when processing incoming messages with large number
of peers configured.
- Fix to UDP6 transport handling at rfc2576 security module.
- Fix to SnmpEngineID value autogeneration (used to fail on Mac).
- SNMPv2-SMI.ObjectType.__repr__() fixed to do a repr() on its components.
- All SNMPv2-SMI.MibNode-based objects, once exported to a mibBuilder, will
carry an embedded label symbol.
- Exlicit repr() calls replaced with '%r'
- Fix to error processing at GETNEXT & GETBULK apps response handlers.
- Fix to libsmi2pysnmp to make it supporting long (256+) list of function
params.
- Fix to libsmi2pysnmp to support inheritance of MIB types.
-------------------------------------------------------------------
Sun Nov 27 08:35:10 UTC 2011 - jfunk@funktronics.ca

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-pysnmp
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,11 +16,11 @@
#
Name: python-pysnmp
Version: 4.2.1
Version: 4.2.4
Release: 0
Url: http://pysnmp.sourceforge.net/
Summary: A pure-Python SNMPv1/v2c/v3 library
License: Other License(s), see package
License: BSD-4-Clause
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/p/pysnmp/pysnmp-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -67,9 +67,7 @@ python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
install -m 0755 -d %{buildroot}%{_bindir}
install -m 0755 tools/libsmi2pysnmp %{buildroot}%{_bindir}/libsmi2pysnmp
install -m 0755 tools/build-pysnmp-mib %{buildroot}%{_bindir}/build-pysnmp-mib
chmod -x docs/net-snmptrapd.conf docs/net-snmpd.conf
%clean
rm -rf %{buildroot}
@@ -77,7 +75,8 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc CHANGES LICENSE README THANKS TODO docs examples
%{python_sitelib}/*
%{python_sitelib}/pysnmp/
%{python_sitelib}/pysnmp-%{version}-py%{py_ver}.egg-info
%files utils
%defattr(-,root,root)

6
python3-pysnmp.changes Normal file
View File

@@ -0,0 +1,6 @@
-------------------------------------------------------------------
Wed Apr 24 04:41:22 UTC 2013 - highwaystar.ru@gmail.com
- initial python 3 package
- initial version 4.2.4

82
python3-pysnmp.spec Normal file
View File

@@ -0,0 +1,82 @@
#
# spec file for package python-pysnmp
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python3-pysnmp
Version: 4.2.4
Release: 0
Url: http://pysnmp.sourceforge.net/
Summary: A pure-Python SNMPv1/v2c/v3 library
License: BSD-4-Clause
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/p/pysnmp/pysnmp-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python3-devel
BuildRequires: python3-pycrypto
BuildRequires: python3-pyasn1
Requires: python3-pycrypto
Requires: python3-pyasn1
BuildArch: noarch
%description
This project aims at developing an SNMP v1/v2c/v3 engine written in the Python
programming language:
* Complete SNMPv1/v2c and SNMPv3 engine support
* Can act Manager and/or Agent role
* Manager and Agent side MIB support
* Asynchronous operations support
* Pure-Python implementation
* py2exe and .egg friendly
* Twisted binding
%package utils
Group: Development/Tools/Other
Requires: python3-pysnmp
Summary: Python-pysnmp libsmi utilities
# Needed for build-pysnmp-mib
Requires: libsmi > 0.4.5
%description utils
Utitilites used for the creation of python mib description files.
%prep
%setup -q -n pysnmp-%{version}
%build
python3 setup.py build
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
chmod -x docs/net-snmptrapd.conf docs/net-snmpd.conf
mv %{buildroot}%{_bindir}/libsmi2pysnmp %{buildroot}%{_bindir}/libsmi2pysnmp-%{py3_ver}
mv %{buildroot}%{_bindir}/build-pysnmp-mib %{buildroot}%{_bindir}/build-pysnmp-mib-%{py3_ver}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc CHANGES LICENSE README THANKS TODO docs examples
%{python3_sitelib}/pysnmp
%{python3_sitelib}/pysnmp-%{version}-py%{py3_ver}.egg-info
%files utils
%defattr(-,root,root)
%{_bindir}/libsmi2pysnmp-%{py3_ver}
%{_bindir}/build-pysnmp-mib-%{py3_ver}
%changelog