Changelog for
python2-pysnmp-4.4.12-1.26.noarch.rpm :
* Tue Sep 24 2019 mardnhAATTgmx.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.
* Tue Sep 10 2019 tchvatalAATTsuse.com- Update to 4.4.11: - Added SNMPv3 USM master and localized keys support to LCD configuration - Improved initial and runtime USM debugging - Fixed a bug in USM configuration which did not allow the same user names to be added under different security names
* Wed Jul 31 2019 mardnhAATTgmx.de- 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 optional `ignoreErrors` parameter to `ObjectType.resolveWithMib()` to control that behaviour.
* Fixed asyncore main loop to respect non-default timer resolution
* Fixed `.setTimerResolution()` behaviour of abstract main loop dispatcher to update call intervals of the existing periodic dispatcher jobs
* Fixed `var-bindings` initialization to prevent pyasn1 encoder failures with newer pyasn1 versions where `SequenceOf` type looses its default initializer.
* Fixed crash on uninitialized component serialization left out in SNMP v1 TRAP PDU to SNMPv2/3 TRAP PDU proxy translation routine.
* Sat Feb 09 2019 mardnhAATTgmx.de- Update to version 4.4.9
* Made MIB loader ignoring file and directory access errors
* Added missing SNMP PDU error classes and their handling in Command Responder
* Fixed crash on MIB load failure in case of directory access error
* Fixed socket transparency option (IPV6_TRANSPARENT) to make IPv6 transparent operation functional
* Thu Jan 10 2019 mardnhAATTgmx.de- Update to version 4.4.8
* Fixed Pythonized MIB load (in the source form) - made sure to turn it into a code object prior to its execution- Update to version 4.4.7
* Exposed ASN.1 `Null` type through `rfc1902` module for convenience.
* Use `compile()` before `exec`\'ing MIB modules to attach filename to the stack frames (ultimately shown in traceback/debugger)
* Fixed hlapi/v3arch transport target caching to ensure transport targets are different even if just timeout/retries options differ
* Fixed hlapi LCD configurator to include `contextName`. Prior to this fix sending SNMPv3 TRAP with non-default `contextName` would fail.
* Fixed possible duplicate key occurrence in the `OrderedDict` following a race condition
* Fixed undefined name references in `inet_pton`/`inet_ntop` substitute routines for IPv6 in `TRANSPORT-ADDRESS-MIB.py`
* Tue Dec 04 2018 mceplAATTsuse.com- Remove superfluous devel dependency for noarch package
* Tue Nov 27 2018 alexander_naumovAATTopensuse.org- Update to version 4.4.6
* Improved package build and dependency tracking
* Fixed missing LICENSE from the tarball distribution
* Fixed CommandGeneratorLcdConfigurator.unconfigure() to fully clean up internal caches, otherwise repetitive attempts to configure the target would fail.
* Fix to tolerate possible duplicate enumerations in Bits and IntegerSMI types.
* Fix to tolerate non-initialised entries in SNMP community table. Once a bad entry sneaked into the SNMP community table, all the subsequent SNMP v1/v2c operations failed. The fix ignores incomplete SNMP community table entries in the course of building indices. This is a bug fix release addressing a handful of accumulated bugs.
* Thu Nov 01 2018 tchvatalAATTsuse.com- Use cryptodome not cryptodomex, to keep working
* Mon Aug 06 2018 mardnhAATTgmx.de- Update to version 4.4.5
* Added PySnmpError.cause attribute holding parent exception tuple
* Fixed broken InetAddressType rendering caused by a pyasn1 regression
* Fixed typo in RFC1158 module
* Fixed possible infinite loop in GETBULK response PDU builder
* Fixed memory leak in the `config.delContext()` VACM management harness
* Fixed `Bits` class initialization when enumeration values are given
* Fixed crash caused by incoming SNMPv3 message requesting SNMPv1/v2c security model
* Fixed out-of-scope OIDs leaking at the end of SNMP table at hlapi `nextCmd` and `bulkCmd` calls when `lexicographicMode = False`
* Fri Jun 29 2018 mardnhAATTgmx.de- Fix license- Update to 4.4.4:
* 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
* Fixed named bits handling at rfc1902.Bits
* Fixed missing SmiError exception class at pysnmp.proto.rfc1155
* Fixed SNMP v1->v2c PDU proxy -- error-status & error-index fields from v1 PDU get copied over to v2c PDU in addition to the exception sentinels being set- Update to 4.4.2:
* The pysnmp version being used gets exposed to the MIB modules via the `MibBuilder` instance
* The .setObjects() method of the SMI types now accepts `append=False` parameter to let the caller adding more than 255 elements over the course of multiple calls
* Added support for some more missing fields of SMIv2 MACRO types
* Example scripts rearranged in a way that IPv6 requirement is clearly encoded in the script\'s name
* Fixed SNMPv2-SMI.NotificationType to expose .set/getReference() instead of .set/getRevision() which should not be there in the first place
* Fixed non-implied-OID encoding in SNMP table indices
* Fixed inconsistent SNMPv3 discovery and retrying algorithm- Update to 4.4.1:
* HMAC-SHA-2 Authentication Protocols support added (RFC-7860)
* The pycryptodome dependency replaced with pycryptodomex as it is recommended by the upstream to avoid unwanted interference with PyCrypto package should it also be installed
* Sphinx theme changed to Alabaster in the documentation
* Minor adjustments towards pyasn1 0.4.x compatibility
* Fixed ObjectIdentifier-into-ObjectIdentity casting at rfc1902.ObjectType MIB resolution harness
* Fixed NetworkAddress object handling in SNMP table indices
* Fixed MIB lookup by module:object.indices MIB object with InetAddressIPv{4,6} objects being in the index
* Fixed non-translated PDU being retries at CommandGenerator what leads to wrong PDU version being sent and even a crash on incompatible PDU/SNMP message combination- Update to 4.3.10:
* Refactored partial SNMP message decoding to make it less dependent on unpublished pyasn1 API features.
* Fix to MibTableRow.setFromName() to keep the input parameter type when it propagates to the return value. Before this fix ObjectIdentity.prettyPrint() may crash when rendering malformed SNMP table indices.
* Fixed NotificationReceiver to include SNMPv1 TRAP Message community string into SNMPv2c/v3 TRAP PDU
* Fixed multiple bugs in SNMP table indices rendering, especially the InetAddressIPv6 type which was severely broken.
* Fixed crashing Bits.prettyPrint() implementation
* Fixed crashing Bits.clone()/subtype() implementation
* Fixed leaking exceptions bubbling up from the asyncio and Twisted adapters
* Fri Aug 25 2017 jengelhAATTinai.de- Replace wording about aims.
* Fri Aug 25 2017 tbechtoldAATTsuse.com- update to 4.3.9: - Deprecated UsmUserData initializaton parameters removed - Adapted to pyasn1 API changes introduced by release 0.3.1 - Fix to a crash happening on inbound SNMP message having non-initialized fields - Fix to (persistent SNMP engine ID) file writing on Windows - Security fix to the bug introduced in 4.3.6: msgAuthoritativeEngineTime stopped changing over time and was returning the same timestamp (process start time). This fix makes it growing as it should.
* Fixed import error in legacy NotificationOriginator implementation - More instrumentation hooks added addressing security failures auditing needs. - SNMP table indices correlation implemented within SMI framework. The opaque InetAddress type implemented. INET-ADDRESS-MIB included into the distribution. - SNMP table indices resolution logic made more robust against malformed indices. - Fixes to
*lexicographicMode
* option documentation to make it unambiguous. - The `ErrorIndication` object is now derived from `Exception` so that it could be raised in exceptions. - The `errorIndication` values produced by various parts of SNMP engine unified to be `ErrorIndication` instances. This fixes an issue with Twisted. - Embedded MIB modules rebuilt with the latest pysmi adding previously missing attributes like `status`, `description` etc. - Fixed potential SNMP engine crash on handling incoming message at unsupported security level - The getNext() and getBulk() calls of Twisted interface. now support ignoreNonIncreasingOid option. - TextualConvention is now a new-style class. - Fix to accidentally reset error-status when building confirmed class SNMPv1 PDU. - Fix to possible infinite recursion in TextualConvention.prettyIn(). - Fixed crash when attempting to report unsupported request/notification PDU back to sender. - Fix to low-level SNMP API example to accommodate changed pyasn1 SEQUENCE supporting iterator protocol. - The pyasn1 version dependency bumped (0.2.3), SEQUENCE/SEQUENCE OF API calls adjusted to accommodate changed pyasn1 API (in part of .setComponentBy
*() kw flags). - Fixed crash on SNMP engine\'s invalid message counter increment. - Switched from now unmaintained PyCrypto to PyCryptodome. - Switched to new-style classes. - NotificationType now allows additional var-binds specified as MIB objects. A side effect of this change is that additional var-binds can only be added prior to .resolveMibObjects() is run. - Non-standard (but apparently used by many vendors) Reeder AES192/256 key localization algorithm implemented and set as default for usmAesCfb192Protocol and usmAesCfb256Protocol identifiers. Original and more standard implementation can still be used with the usmAesBlumenthalCfb192Protocol and usmAesBlumenthalCfb192Protocol IDs respectively. - TextualConvention.prettyOut() improved to produce prettier and more SMI-compliant output. - TextualConvention.prettyIn() implemented to handle DISPLAY-HINT based value parsing. - Fix to NotificationType to make additional var-binds overriding MIB objects implicitly included through NOTIFICATION-TYPE OBJECTS. - Fix to SNMP engine boots counter persistence on Python 3. - Fix to Pythonized MIBs loading when only .pyc files are present (e.g. py2exe/cx_freeze environments). - Fix broken 3DES key localization and encryption procedures. - Updated IP address for demo.snmplabs.com in examples. - Missing index added to bundled RFC1213::atEntry MIB table. - Twisted integration made Python3 compatible. - Accommodated ASN.1 SEQUENCE iteration rules change in upcoming pyasn1 version. - Author\'s email changed, copyright extended to 2017.- convert to singlespec- Adjust Requires and BuildRequires according to setup.py
* Sun Jul 31 2016 mardnhAATTgmx.de- Update to version 4.3.2 + Copyright notice added to non-trivial source code files. + SNMP table row consistency check added. This change may break valid SNMP SET operations on tables if RowStatus column is not passed at the very end of var-binds. + All SNMP counters now incremented via \'+= 1\' rather than \'x = x + 1\' to simplify their tracking by third-party code. + Notification originator examples re-pointed to Notification Receiver at demo.snmplabs.com. + Two more execution observer points added: rfc2576.processIncomingMsg and rfc3414.processIncomingMsg to give an insignt on security modules internals. + TEXTUAL-CONVENTION\'s DISPLAY-HINT text formatting reworked for better performance and encoding accurancy of \'a\' and \'t\' formats. + WARNING: security fix to USM - extra user entry clone removed on incoming message processing. It made USM accepting SNMPv3 TRAPs from unknown SNMP engine IDs. + Fix to snmpInvalidMsgs and snmpUnknownSecurityModels MIB symbols import at SNMPv3 MP model. + Fix to NotificationOriginator to cope with unspecified user callable. + Fix to OctetString.prettyOut() to pretty-print Python 3 bytes without \'b\' qualifier. + Fix to better pysmi import errors handling. + Fix to missing next() in Python 2.5 at pysnmp.hlapi- Update to version 4.3.1 + Added recursive resolution of ObjectIdentifier values at ObjectType by converting it to ObjectIdentity. + A bunch of convenience shortcuts to rfc1902.ObjectIdentity added from rfc1902.ObjectType and rfc1902.NotificationType (.addAsn1MibSource(), .addMibSource(), .loadMibs()) + When pretty printing indices at rfc1902.ObjectType, quote only strings. + SNMP overview and PySNMP hlapi tutorial added to documentation. + Fix to __doc__ use in setup.py to make -O0 installation mode working. + Fix to ObjectIdentity->ObjectIdentifier attributes handover + Fixed crash at oneliner compatibility code on EOM response. + Fixed crash in hlapi.transport module. + Fixed OID resolution issues that roots at node 0 and 2. + Fix to MIB builder to fail gracefully on corrupted MIB package encounter. + Fix to docs distribution -- now the are Sphinx-buildable out-of-the-box. + Source code re-linted
* Tue Oct 06 2015 hpjAATTurpla.net- updated to 4.3.0 + Critical error fixed in key localization procedure for AES192/AES256/3DES cyphers. Previous versions might never worked properly in this respect. Initial PySMI integration. Original ASN.1 MIBs could now be parsed, stored at a local pysnmp MIBs repository and loaded into SNMP Engine. Relevant example scripts added. Obsolete libsmi-based scripts removed. + Major rewrite of native SNMPv3 CommandGenerator and NotificationOriginator applications towards the following goals: + avoid binding to specific SNMP engine instance to promote single SNMP app instance using many SNMP engine instances + support two APIs for working with request data: one operates on the whole PDU object while the other on PDU contents + keep callback context data in stack rather than in stateful application 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 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 at its original location. + 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 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 documentation converted from .html into RsT markup. + 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 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 are currently supported. + Original asynsock transport and AsyncsockDispatcher renamed into asyncore and AsyncoreDispatcher respectively to provide better hint to fellow devs on the underlying transport being used. Backward compatibility preserved. + The asyncore-based transport subsystem extended to support POSIX sendmsg()/ recvmsg() based socket communication what could be used, among other things, in the context of a transparent SNMP proxy application. Technically, the 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 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 snmpEngine instances. + 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, 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 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 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 socket binding to specified local interface. + 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 facility. + All MIBs rebuilt with pysmi. + MIB instrumentation example improved to cover table index building facility. + Handle the case of null writer at Debug printer. + Do not cache snmpEngineId & snmpAdminString at CommandGenerator to let it be reused with many different snmpEngines. + TRAP PDU agent address evaluation at proto.api made lazy to improve startup time. + Multiple fixes to verify pyasn1 decoder.decode() return to withstand broken SNMP messages or its components. + First attempt made to make some of SNMP Engine settings persistent across reboots. + Make config.delTransport() returning detached transport object. Asyncio examples now use this facility to explicitly shutdown transport object. + Parts of SMIv1 remnant MIBs (RFC1213-MIB, RFC1158-MIB) added to provide complete compatibility with SMIv1. Symbols defined in these MIBs only present in SMIv1 so they can’t be substituted with their SMIv2 analogues. + MibBuilder.addMibSources() convenience method added. + The smi.MibBuilder() will now raise more specific exceptions (MibLoadError, MibNotFoundError) on MIB loading problems rather than more generic SmiError. + The oneliner’s MibVariable MIB lookup subsystem redesigned for more generality to mimic OBJECT-TYPE macro capabilities related to SNMP PDU handling. The two new classed are ObjectIdentity and ObjectType. The ObjectIdentity class additionally supports just a MIB module name initializer in which case if resolves into either first or last symbol in given MIB. Another option is just a MIB symbol initializer without specifying MIB module. This new subsystem is moved from the scope of oneliner to more common pysnmp.smi.rfc1903 scope to more naturally invoke it from whatever part of pysnmp requires MIB services. + MibBuilder now prepends the contents of environment variables it recognizes (PYSNMP_MIB_DIR, PYSNMP_MIB_DIRS, PYSNMP_MIB_PKGS) rather than using them instead of its default core MIBs. + Removed RowStatus default value as it may collide with possible subclass constraints. + A few additional MIB tree management methods added to MibViewController to better address ordered nature of MIB tree nodes (namely, getFirst
*, getLast
* family of methods). + Wheel distribution format now supported. + Fix to authoritative engine side snmpEngineID discovery procedure: respond with notInTimeWindows rather then with unsupportedSecurityLevel at time synchronization phase. + Fix to rfc1902.Bits type to make it accepting hex and binary initializers, cope with missing bits identifieirs at prettyPrint(). + Memory leak fixed in CommandForwarder examples. + Fix to BULK CommandGenerator to use the same nonRepeaters OIDs across multiple GETBULK iterations so returned table for nonRepeaters columns would hold the same var-bind. + Fix to CommandGenerator to make sendRequestHandle persistent across multiple iterations of GETNEXT/GETBULK queries. + Fix to sendNotification() error handling at NotificationOriginator. + Fix to preserve possible ‘fixed length’ setting atrfc1902.OctetString on clone()’ing and subtype()’ing. + Fix to rfc1902.OctetString & Bits to base them on OctetString class to make the ‘fixed length’ property working. + Fix to .clone() method of rfc1902.Bits class to make its signature matching the rest of classes. This may broke code which used to pass namedValue parameter positionally rather than binding it by name. + Fix to PDU translation service (proto.proxy.rfc2576) to make it initializing errorIndex & errorStatus components of the resulting PDU. + Fix to MsgAndPduDispatcher.sendPdu() to clean up request queue on pysnmp-level processing failure. + Fix to SNMPv1/v2c message processing subsystem to make it serving unique PDU request-id’s in both outgoing and incoming confirmed and response PDU types. Duplicate request-id’s in unrelated PDUs may cause cache errors otherwise. + Fix to licensing terms of multiple twisted backend modules to make the whole pysnmp package licensed under BSD 2-Clause license. This change has been explicitly permitted by the original modules authors. + Fix to asyncore-based transport not to use asyncore’s cheap inheritance from socket object what caused warnings. + Fix at NotificationOriginator to make is using MibInstrumentationController when expanding Notification OBJECTS into Managed Objects Instances. + Missing wrongLength and wrongEncoding SMI errors added. + Fix to file descriptor leak at MibBuilder. + Fix to rfc2576.v2ToV1() to ignore impossible errorStatus. + Fix to rfc2576.v1ToV2() to reset ErrorStatus==noSuchName on proxying. + Fix to smi.builder to explicitly fail on any MIB file access error (but ENOENT) and raise IOError uniformly on any directory/egg access failure. + Fix to infinite loop at config.delV3User().