14
0
forked from pool/python-pysnmp

Accepting request 336886 from home:frispete:python

- 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

OBS-URL: https://build.opensuse.org/request/show/336886
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pysnmp?expand=0&rev=20
This commit is contained in:
2015-10-07 08:00:52 +00:00
committed by Git OBS Bridge
parent b882147080
commit e5eb99e909
4 changed files with 186 additions and 20 deletions

View File

@@ -1,3 +1,170 @@
-------------------------------------------------------------------
Tue Oct 6 10:05:12 UTC 2015 - hpj@urpla.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 peers 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 messages communityName re-mapping added.
+ Broadcast socket option can now be enabled with the .enableBroadcast() call
for any datagram-based transport (namely, UDP and UDP6).
+ AbstractTransportDispatchers 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 cant 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 oneliners 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-ids in both outgoing and incoming confirmed and response PDU
types. Duplicate request-ids 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 asyncores 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().
-------------------------------------------------------------------
Mon Jul 7 13:17:06 UTC 2014 - hpj@urpla.net
- updated to 4.2.6-rc0
-------------------------------------------------------------------
Fri Mar 28 12:55:52 UTC 2014 - speilicke@suse.com