Hello community, here is the log from the commit of package python-pysnmp for openSUSE:Factory checked in at 2019-09-26 20:40:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pysnmp (Old) and /work/SRC/openSUSE:Factory/.python-pysnmp.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pysnmp" Thu Sep 26 20:40:24 2019 rev:15 rq:733080 version:4.4.12 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pysnmp/python-pysnmp.changes 2019-09-11 10:36:35.775275270 +0200 +++ /work/SRC/openSUSE:Factory/.python-pysnmp.new.2352/python-pysnmp.changes 2019-09-26 20:40:33.562650650 +0200 @@ -1,0 +2,9 @@ +Tue Sep 24 18:28:18 UTC 2019 - Martin Hauke <mar...@gmx.de> + +- Update to version 4.4.12 + * Fixed broken SNMPv3 `msgFlag` initialization on authoritative + SNMP engine ID discovery. This bug causes secure communication + with peer SNMP engines to stall at SNMP engine ID discovery + procedure. + +------------------------------------------------------------------- Old: ---- pysnmp-4.4.11.tar.gz New: ---- pysnmp-4.4.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pysnmp.spec ++++++ --- /var/tmp/diff_new_pack.uW7Xm7/_old 2019-09-26 20:40:34.194648961 +0200 +++ /var/tmp/diff_new_pack.uW7Xm7/_new 2019-09-26 20:40:34.194648961 +0200 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pysnmp -Version: 4.4.11 +Version: 4.4.12 Release: 0 Summary: A pure-Python SNMPv1/v2c/v3 library License: BSD-2-Clause ++++++ pysnmp-4.4.11.tar.gz -> pysnmp-4.4.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/CHANGES.txt new/pysnmp-4.4.12/CHANGES.txt --- old/pysnmp-4.4.11/CHANGES.txt 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/CHANGES.txt 2019-09-24 18:19:19.000000000 +0200 @@ -1,4 +1,11 @@ +Revision 4.4.12, released 2019-09-24 +------------------------------------ + +- Fixed broken SNMPv3 `msgFlag` initialization on authoritative SNMP + engine ID discovery. This bug causes secure communication with peer + SNMP engines to stall at SNMP engine ID discovery procedure. + Revision 4.4.11, released 2019-08-10 ------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/docs/source/examples/hlapi/asyncore/sync/manager/cmdgen/advanced-topics.rst new/pysnmp-4.4.12/docs/source/examples/hlapi/asyncore/sync/manager/cmdgen/advanced-topics.rst --- old/pysnmp-4.4.11/docs/source/examples/hlapi/asyncore/sync/manager/cmdgen/advanced-topics.rst 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/docs/source/examples/hlapi/asyncore/sync/manager/cmdgen/advanced-topics.rst 2019-09-24 18:19:19.000000000 +0200 @@ -70,6 +70,28 @@ :download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/specific-v3-engine-id.py>` script. +.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py + :start-after: """# + :language: python + +:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py>` script. + + +.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py + :start-after: """# + :language: python + +:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py>` script. + + .. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py :start-after: """ :end-before: """# diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py new/pysnmp-4.4.12/examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py --- old/pysnmp-4.4.11/examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pysnmp-4.4.12/examples/hlapi/asyncore/sync/manager/cmdgen/usm-localized-keys.py 2019-09-24 18:19:19.000000000 +0200 @@ -0,0 +1,49 @@ +""" +SNMPv3: localized auth and privacy keys ++++++++++++++++++++++++++++++++++++++++ + +Send SNMP GET request using the following options: + +* with SNMPv3, user 'usr-md5-des', MD5 authentication, DES encryption +* use localized auth and privacy keys instead of pass-phrase or master keys +* configure authoritative SNMP engine ID (0x0000000000 can be used as well) +* over IPv4/UDP +* to an Agent at demo.snmplabs.com:161 +* for SNMPv2-MIB::sysDescr.0 MIB object instance + +Functionally similar to: + +| $ snmpget -v3 -l authPriv \ + -u usr-md5-des \ + -e 0x80004fb805636c6f75644dab22cc \ + -3k 0x6b99c475259ef7976cf8d028a3381eeb \ + -3K 0x92b5ef98f0a216885e73944e58c07345 \ + demo.snmplabs.com SNMPv2-MIB::sysDescr.0 + +"""# +from pysnmp.hlapi import * + +errorIndication, errorStatus, errorIndex, varBinds = next( + getCmd(SnmpEngine(), + UsmUserData('usr-md5-des', + authKey=OctetString( + hexValue='6b99c475259ef7976cf8d028a3381eeb'), + privKey=OctetString( + hexValue='92b5ef98f0a216885e73944e58c07345'), + authKeyType=usmKeyTypeLocalized, + privKeyType=usmKeyTypeLocalized, + securityEngineId=OctetString( + hexValue='80004fb805636c6f75644dab22cc')), + UdpTransportTarget(('demo.snmplabs.com', 161)), + ContextData(), + ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0))) +) + +if errorIndication: + print(errorIndication) +elif errorStatus: + print('%s at %s' % (errorStatus.prettyPrint(), + errorIndex and varBinds[int(errorIndex) - 1][0] or '?')) +else: + for varBind in varBinds: + print(' = '.join([x.prettyPrint() for x in varBind])) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py new/pysnmp-4.4.12/examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py --- old/pysnmp-4.4.11/examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pysnmp-4.4.12/examples/hlapi/asyncore/sync/manager/cmdgen/usm-master-keys.py 2019-09-24 18:19:19.000000000 +0200 @@ -0,0 +1,45 @@ +""" +SNMPv3: master auth and privacy keys +++++++++++++++++++++++++++++++++++++ + +Send SNMP GET request using the following options: + +* with SNMPv3, user 'usr-md5-des', MD5 authentication, DES encryption +* use master auth and privacy keys instead of pass-phrase +* over IPv4/UDP +* to an Agent at demo.snmplabs.com:161 +* for SNMPv2-MIB::sysDescr.0 MIB object instance + +Functionally similar to: + +| $ snmpget -v3 -l authPriv \ + -u usr-md5-des \ + -3m 0x1dcf59e86553b3afa5d32fd5d61bf0cf \ + -3M 0xec5ab55e93e1d85cb6846d0f23e845e0 \ + demo.snmplabs.com SNMPv2-MIB::sysDescr.0 + +"""# +from pysnmp.hlapi import * + +errorIndication, errorStatus, errorIndex, varBinds = next( + getCmd(SnmpEngine(), + UsmUserData('usr-md5-des', + authKey=OctetString( + hexValue='1dcf59e86553b3afa5d32fd5d61bf0cf'), + privKey=OctetString( + hexValue='ec5ab55e93e1d85cb6846d0f23e845e0'), + authKeyType=usmKeyTypeMaster, + privKeyType=usmKeyTypeMaster), + UdpTransportTarget(('demo.snmplabs.com', 161)), + ContextData(), + ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0))) +) + +if errorIndication: + print(errorIndication) +elif errorStatus: + print('%s at %s' % (errorStatus.prettyPrint(), + errorIndex and varBinds[int(errorIndex) - 1][0] or '?')) +else: + for varBind in varBinds: + print(' = '.join([x.prettyPrint() for x in varBind])) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/pysnmp/__init__.py new/pysnmp-4.4.12/pysnmp/__init__.py --- old/pysnmp-4.4.11/pysnmp/__init__.py 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/pysnmp/__init__.py 2019-09-24 18:19:19.000000000 +0200 @@ -1,5 +1,5 @@ # http://www.python.org/dev/peps/pep-0396/ -__version__ = '4.4.11' +__version__ = '4.4.12' # backward compatibility version = tuple([int(x) for x in __version__.split('.')]) majorVersionId = version[0] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/pysnmp/hlapi/auth.py new/pysnmp-4.4.12/pysnmp/hlapi/auth.py --- old/pysnmp-4.4.11/pysnmp/hlapi/auth.py 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/pysnmp/hlapi/auth.py 2019-09-24 18:19:19.000000000 +0200 @@ -317,11 +317,11 @@ Notes ----- - If `~pysnmp.hlapi.usmKeyTypeLocalized` is used when running a - non-authoritative SNMP engine, USM key localization mechanism - is not invoked. As a consequence, local SNMP engine configuration - won't get automatically populated with remote SNMP engine's - *securityEngineId*. + If :py:class:`~pysnmp.hlapi.usmKeyTypeLocalized` is used when + running a non-authoritative SNMP engine, USM key localization + mechanism is not invoked. As a consequence, local SNMP engine + configuration won't get automatically populated with remote SNMP + engine's *securityEngineId*. Therefore peer SNMP engine's *securityEngineId* must be added to local configuration and associated with its localized keys. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/pysnmp/proto/mpmod/rfc3412.py new/pysnmp-4.4.12/pysnmp/proto/mpmod/rfc3412.py --- old/pysnmp-4.4.11/pysnmp/proto/mpmod/rfc3412.py 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/pysnmp/proto/mpmod/rfc3412.py 2019-09-24 18:19:19.000000000 +0200 @@ -1,7 +1,7 @@ # # This file is part of pysnmp software. # -# Copyright (c) 2005-2016, Ilya Etingof <i...@glas.net> +# Copyright (c) 2005-2019, Ilya Etingof <etin...@gmail.com> # License: http://snmplabs.com/pysnmp/license.html # import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pysnmp-4.4.11/pysnmp/proto/secmod/rfc3414/service.py new/pysnmp-4.4.12/pysnmp/proto/secmod/rfc3414/service.py --- old/pysnmp-4.4.11/pysnmp/proto/secmod/rfc3414/service.py 2019-08-11 10:12:23.000000000 +0200 +++ new/pysnmp-4.4.12/pysnmp/proto/secmod/rfc3414/service.py 2019-09-24 18:19:19.000000000 +0200 @@ -385,7 +385,7 @@ # Clear possible auth&priv flags headerData.setComponentByPosition( - 2, univ.OctetString(hexValue='00'), verifyConstraints=False, + 2, univ.OctetString(hexValue='04'), verifyConstraints=False, matchTags=False, matchConstraints=False )