From 9093923f20f22e4615e9bdb509d39b8d26be56e2abfa934225ce42f14e66feff Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Thu, 1 Feb 2024 08:13:03 +0000 Subject: [PATCH] =?UTF-8?q?-=20use=20poetry-core=20for=20building=20-=20Up?= =?UTF-8?q?date=20to=20version=204.4.6=20=20=20=20=20=20+=20=20Promote=20t?= =?UTF-8?q?he=20use=20of=20dedicated=20classes=20for=20dealing=20with=20OI?= =?UTF-8?q?D-value=20pairs.=20=20=20=20=20=20=20=20=20Instances=20of=20tho?= =?UTF-8?q?se=20classes=20resemble=20OBJECT-IDENTITY,=20OBJECT-TYPE=20and?= =?UTF-8?q?=20=20=20=20=20=20+=20=20Oneliner=20API=20reworked=20to=20becom?= =?UTF-8?q?e=20more=20generic:=20its=20LCD=20configuration=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20shortcuts=20and=20and=20var-bindings=20processing?= =?UTF-8?q?=20code=20split=20off=20SNMP=20apps=20=20=20=20=20=20=20=20=20c?= =?UTF-8?q?lasses=20to=20stand-alone=20objects.=20The=20whole=20API=20also?= =?UTF-8?q?=20moved=20up=20in=20package=20=20=20=20=20=20=20=20=20naming?= =?UTF-8?q?=20hierarchy=20and=20becomes=20=E2=80=98pysnmp.hlapi.asyncore?= =?UTF-8?q?=E2=80=99=20(hlapi=20is=20=20=20=20=20=20=20=20=20apparently=20?= =?UTF-8?q?an=20African=20fish).=20Old=20oneliner=20API=20remains=20fully?= =?UTF-8?q?=20operational=20=20=20=20=20=20+=20=20Synchronous=20oneliner?= =?UTF-8?q?=20apps=20redesigned=20to=20offer=20Python=20generator-based=20?= =?UTF-8?q?=20=20=20=20=20+=20=20Twisted=20API=20moved=20entirely=20into?= =?UTF-8?q?=20high-level=20domain=20to=20be=20aligned=20with=20=20=20+=20S?= =?UTF-8?q?phinx=20documentation=20added=20to=20source=20code=20and=20exam?= =?UTF-8?q?ple=20scripts.=20Library=20=20=20+=20Execution=20Observer=20fac?= =?UTF-8?q?ility=20implemented=20to=20give=20app=20an=20inside=20view=20of?= =?UTF-8?q?=20SNMP=20=20=20=20=20(and=20modifying)=20various=20internal=20?= =?UTF-8?q?states=20of=20pysnmp=20engine.=20Previously=20=20=20=20=20intro?= =?UTF-8?q?duced=20non-standard=20APIs=20(like=20getting=20peer=E2=80=99s?= =?UTF-8?q?=20transport=20endpoint=20which=20=20=20=20=20+=20=20=20Respond?= =?UTF-8?q?ing=20to=20SNMP=20requests=20from=20exactly=20the=20same=20IP?= =?UTF-8?q?=20address=20the=20query=20=20=20+=20Internal=20oneliner=20apps?= =?UTF-8?q?=20configuration=20cache=20moved=20from=20respective=20apps=20?= =?UTF-8?q?=20=20=20=20objects=20to=20[a=20singular]=20snmpEngine=20?= =?UTF-8?q?=E2=80=9Cuser=20context=E2=80=9D=20object.=20That=20would=20all?= =?UTF-8?q?ow=20=20=20=20=20for=20better=20cache=20reuse=20and=20allow=20f?= =?UTF-8?q?or=20a=20single=20app=20working=20with=20many=20=20=20+=20Oneli?= =?UTF-8?q?ner=20GETBULK=20Command=20Generator=20now=20strips=20possible?= =?UTF-8?q?=20excessive=20OIDs=20off=20=20=20+=20Constraints=20assignment?= =?UTF-8?q?=20shortcut=20added=20to=20some=20base=20rfc1902=20types=20(Int?= =?UTF-8?q?eger,=20=20=20+=20Examples=20on=20a=20single=20Transport=20Disp?= =?UTF-8?q?atcher=20use=20with=20multiple=20SnmpEngine=20=20=20+=20Abstrac?= =?UTF-8?q?tTransportDispatcher=E2=80=99s=20jobStarted()=20and=20jobFinish?= =?UTF-8?q?ed()=20methods=20now=20=20=20+=20Oneliner=20transport=20object?= =?UTF-8?q?=20now=20supports=20setLocalAddress()=20method=20to=20force=20?= =?UTF-8?q?=20=20+=20New=20public=20DgramSocketTransport.getLocalAddress()?= =?UTF-8?q?=20returns=20local=20endpoint=20=20=20+=20Change=20to=20rfc2576?= =?UTF-8?q?.v1tov2()=20logic:=20errorStatus=20=3D=20noSuchName=20is=20now?= =?UTF-8?q?=20=20=20=20=20on=20the=20platform.=20It=20would=20help=20handl?= =?UTF-8?q?ing=20a=20really=20large=20number=20(>1024)=20=20=20=20=20addV3?= =?UTF-8?q?User()=20functions=20as=20well=20as=20to=20their=20oneliner's?= =?UTF-8?q?=20wrappers.=20=20=20=20=20in=20both=20Generator=20and=20Respon?= =?UTF-8?q?der=20modes=20and=20better=20follow=20RFC2576=20=20=20=20=20unt?= =?UTF-8?q?agged=20snmpCommunityTable=20entries=20will=20*not*=20match=20t?= =?UTF-8?q?agged?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pysnmp?expand=0&rev=51 --- python-pysnmp.changes | 95 +++++++++++++++++++++++-------------------- python-pysnmp.spec | 4 +- 2 files changed, 52 insertions(+), 47 deletions(-) diff --git a/python-pysnmp.changes b/python-pysnmp.changes index eb9c4d0..a291920 100644 --- a/python-pysnmp.changes +++ b/python-pysnmp.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Feb 1 08:12:53 UTC 2024 - Dirk Müller + +- use poetry-core for building + ------------------------------------------------------------------- Tue Aug 1 06:20:01 UTC 2023 - Steve Kowalik @@ -46,17 +51,17 @@ Wed Jul 31 20:44:55 UTC 2019 - Martin Hauke - Update to version 4.4.10 * Reworked VACM access control function. Most important changes include: - + + Added subtree match negation support (vacmViewTreeFamilyType) + Added subtree family mask support (vacmViewTreeFamilyMask) + Added prefix content name matching support (vacmAccessContextMatch) + Added key VACM tables caching for better `isAccessAllowed` lookup performance - + One potential incompatibility may be caused by the `addContext()` call which now needs to be made explicitly during low-level VACM configuration rather than be a side effect of `addVacmAccess()` call. - + * Rebased MIB importing code onto `importlib` because `imp` is long deprecated * Received MIB objects resolution made more forgiving to errors, added @@ -112,7 +117,7 @@ Tue Dec 4 12:52:53 UTC 2018 - Matej Cepl ------------------------------------------------------------------- Thu Nov 27 17:56:55 UTC 2018 - alexander_naumov@opensuse.org -- Update to version 4.4.6 +- Update to version 4.4.6 * Improved package build and dependency tracking * Fixed missing LICENSE from the tarball distribution * Fixed CommandGeneratorLcdConfigurator.unconfigure() to fully @@ -156,7 +161,7 @@ Fri Jun 29 13:17:52 UTC 2018 - mardnh@gmx.de * Copyright notice extended to the year 2018 * Fixed short local key expansion at 3DES key localization implementation. - + - Update to 4.4.3: * Migrated references from SourceForge * Added missing SHA2 support for Blumenthal key localization @@ -357,28 +362,28 @@ Tue Oct 6 10:05:12 UTC 2015 - hpj@urpla.net cache + newly introduced sendVarBinds() method offers a more functional and logical signatures. - + Promote the use of dedicated classes for dealing with OID-value pairs. - Instances of those classes resemble OBJECT-IDENTITY, OBJECT-TYPE and + + Promote the use of dedicated classes for dealing with OID-value pairs. + Instances of those classes resemble OBJECT-IDENTITY, OBJECT-TYPE and NOTIFICATION-TYPE MIB structures. - + Oneliner API reworked to become more generic: its LCD configuration - shortcuts and and var-bindings processing code split off SNMP apps - classes to stand-alone objects. The whole API also moved up in package - naming hierarchy and becomes ‘pysnmp.hlapi.asyncore’ (hlapi is - apparently an African fish). Old oneliner API remains fully operational + + Oneliner API reworked to become more generic: its LCD configuration + shortcuts and and var-bindings processing code split off SNMP apps + classes to stand-alone objects. The whole API also moved up in package + naming hierarchy and becomes ‘pysnmp.hlapi.asyncore’ (hlapi is + apparently an African fish). Old oneliner API remains fully operational at its original location. - + Synchronous oneliner apps redesigned to offer Python generator-based + + Synchronous oneliner apps redesigned to offer Python generator-based API along with a more comprehensive set of accepted parameters. + Asyncore-based asynchronous apps reworked to become functions. - + Twisted API moved entirely into high-level domain to be aligned with + + Twisted API moved entirely into high-level domain to be aligned with other high-level APIs. This WILL BREAK backward compatibility for those apps that use Twisted API. + Keep backward compatibility for all existing major/documented interfaces - + Sphinx documentation added to source code and example scripts. Library + + Sphinx documentation added to source code and example scripts. Library documentation converted from .html into RsT markup. - + Execution Observer facility implemented to give app an inside view of SNMP + + Execution Observer facility implemented to give app an inside view of SNMP engine inner workings. This is thought to be a generic framework for viewing - (and modifying) various internal states of pysnmp engine. Previously - introduced non-standard APIs (like getting peer’s transport endpoint which + (and modifying) various internal states of pysnmp engine. Previously + introduced non-standard APIs (like getting peer’s transport endpoint which is not suggested in RFCs) will be gradually migrated to this new framework. + Initial support for the asyncio & Trollius frameworks and coroutines-based SNMP Applications interfaces added. Both IPv4 and IPv6 datagram transports @@ -392,31 +397,31 @@ Tue Oct 6 10:05:12 UTC 2015 - hpj@urpla.net following features were brought into pysnmp with this update: + Sending SNMP packets from a non-local IP address + Receiving IP packets for non-local IP addresses - + Responding to SNMP requests from exactly the same IP address the query + + Responding to SNMP requests from exactly the same IP address the query was sent to. This proves to be useful when listening on both primary and secondary IP interfaces. - + Internal oneliner apps configuration cache moved from respective apps - objects to [a singular] snmpEngine “user context” object. That would allow - for better cache reuse and allow for a single app working with many + + Internal oneliner apps configuration cache moved from respective apps + objects to [a singular] snmpEngine “user context” object. That would allow + for better cache reuse and allow for a single app working with many snmpEngine instances. - + Oneliner GETBULK Command Generator now strips possible excessive OIDs off + + Oneliner GETBULK Command Generator now strips possible excessive OIDs off the bottom of returned var-binds table. - + Constraints assignment shortcut added to some base rfc1902 types (Integer, + + Constraints assignment shortcut added to some base rfc1902 types (Integer, Integer32, OctetString, Bits). That formally constitutes ASN.1 sub-typing. + Built-in debugging is now based on Python logging module. - + Examples on a single Transport Dispatcher use with multiple SnmpEngine + + Examples on a single Transport Dispatcher use with multiple SnmpEngine instances applicatons added. + Example script on transport timeout & retries manipulation added. + Example script explaining incoming message’s communityName re-mapping added. + Broadcast socket option can now be enabled with the .enableBroadcast() call for any datagram-based transport (namely, UDP and UDP6). - + AbstractTransportDispatcher’s jobStarted() and jobFinished() methods now + + AbstractTransportDispatcher’s jobStarted() and jobFinished() methods now accept optional ‘count’ parameter which is a way for an app to indicate how many responses are expected or have been processed in bulk. + Example script on SNMP Agents UDP broadcast-based discovery added. - + Oneliner transport object now supports setLocalAddress() method to force + + Oneliner transport object now supports setLocalAddress() method to force socket binding to specified local interface. - + New public DgramSocketTransport.getLocalAddress() returns local endpoint + + New public DgramSocketTransport.getLocalAddress() returns local endpoint address underlying BSD socket is currently bound to. + Passing request details to access control callback at CommandResponder reworked towards more robust and simple design with the execution observer @@ -535,7 +540,7 @@ Sun Nov 24 20:56:12 UTC 2013 - p.drouand@gmail.com scene. + The $PYSNMP_MIB_DIR & $PYSNMP_MIB_DIRS & $PYSNMP_MIB_PKGS path separator made platform +specific. - + Change to rfc2576.v1tov2() logic: errorStatus = noSuchName is now + + Change to rfc2576.v1tov2() logic: errorStatus = noSuchName is now translated into rfc1905.noSuchObject exception value for *all* var +bindings at once. Although RFC2576 does not suggest error +status +> v2c exception translation, historically pysnmp used to perform it for a long time so we @@ -552,7 +557,7 @@ Sun Nov 24 20:56:12 UTC 2013 - p.drouand@gmail.com + The snmpCommunityTable row selection improved to follow RFC2576, clause 5.2.1. + Asyncore +based dispatcher attempts to use poll() whenever available - on the platform. It would help handling a really large number (>1024) + on the platform. It would help handling a really large number (>1024) of file descriptors. + AsynCommandGenerator.makeReadVarBinds() generalized into a new makeVarBinds() method which replaces somewhat redundant code at setCmd() @@ -563,7 +568,7 @@ Sun Nov 24 20:56:12 UTC 2013 - p.drouand@gmail.com specific securityName. + SNMP credentials management reworked to separate userName from securityName in snmpCommunityEntry and usmUserEntry tables. Changes made to addV1System(), - addV3User() functions as well as to their oneliner's wrappers. + addV3User() functions as well as to their oneliner's wrappers. + The contextEngineId parameter of config.addV3User() and auth.UsmUserData() renamed into securityEngineId as it's semantically correct + Oneliner UsmUserData() and CommunityData() classes now support clone()'ing @@ -588,9 +593,9 @@ Sun Nov 24 20:56:12 UTC 2013 - p.drouand@gmail.com + Fix to usmUserSecurityName table column implementation + + automatic value generation from index value removed. + Fix and significant logic rework of snmpCommunityTable to make it working - in both Generator and Responder modes and better follow RFC2576 + in both Generator and Responder modes and better follow RFC2576 requirements on sequential entries lookup and selection. As a side effect, - untagged snmpCommunityTable entries will *not* match tagged + untagged snmpCommunityTable entries will *not* match tagged snmpTargetAddrTable entries and vice versa. + Fix to Twisted +based NotificationOriginator to make it serving INFORMs again. + Fix to rfc2576.v1tov2() logic: errorStatus = noSuchName is now translated @@ -660,7 +665,7 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com 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 + - 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 @@ -671,7 +676,7 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com 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 + - 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 @@ -718,12 +723,12 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com 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 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 + 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. @@ -735,16 +740,16 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com 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 + - 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 + - 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 + - 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 @@ -780,11 +785,11 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com - 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 + 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 + - 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. @@ -799,7 +804,7 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com - 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. + running Python3. - Fix to SNMPv2 exception objects translation into SNMPv1 PDU and NEXT OIDs calculation. - Fix to MibTree class to properly report noSuchObject & noSuchInstance @@ -830,7 +835,7 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com 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 + - 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. @@ -879,7 +884,7 @@ Wed Apr 24 05:04:49 UTC 2013 - highwaystar.ru@gmail.com - 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. + - Fix to libsmi2pysnmp to support inheritance of MIB types. ------------------------------------------------------------------- Sun Nov 27 08:35:10 UTC 2011 - jfunk@funktronics.ca diff --git a/python-pysnmp.spec b/python-pysnmp.spec index e43ff7d..70c8733 100644 --- a/python-pysnmp.spec +++ b/python-pysnmp.spec @@ -1,7 +1,7 @@ # # spec file for package python-pysnmp # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ Source: https://github.com/lextudio/pysnmp/archive/refs/tags/v%{version} # PATCH-FIX-UPSTREAM ish? Sourced from gh#pyasn1/pyasn1/issues/28 Patch0: support-new-pyasn1.patch BuildRequires: %{python_module pip} -BuildRequires: %{python_module poetry} +BuildRequires: %{python_module poetry-core} BuildRequires: %{python_module pysmi} BuildRequires: %{python_module wheel} BuildRequires: fdupes