File python-pysnmp.changes of Package python-pysnmp

Sun Nov 27 08:35:10 UTC 2011 -

- Update to 4.2.1
  - Support string OIDs at one-liner API.
  - Code quality of libsmi2pysnmp tool improved, MIBs re-built.
  - v1arch example added
  - Major overhawl for Python 2.4 -- 3.2 compatibility:
    + get rid of old-style types
    + drop string module usage
    + switch to rich comparation
    + drop explicit long integer type use
    + map()/filter() replaced with list comprehension
    + apply() replaced with */**args
    + dictionary operations made 2K/3K compatible
    + division operator made 2K/3K compatible
    + sorting function now operates on key
    + iterators returned by some funcs in py3k converted to lists
    + exception syntax made 2K/3K compatible
    + tuple function arguments resolved to scalars to become py3k compatible
    + BER octetstream is now of type bytes (Py3k) or still string (Py2k)
- 4.1.16d
  - Fix to SNMPv1 Trap PDU agentAddress setter shortcut method.
- 4.1.16c
  - Missing module import fixed in privacy subsystem
- 4.1.16b
  - Oneliner CommandGenerator can now optionally ignore non-increasing OIDs.
  - Default CommandResponder now skips non-compliant (Counter64) values
    when responding to a v1 Manager.
  - Fix to state information handling at CommandResponder app.
  - Fix to Twisted reactor shutdown condition.
  - Fix to distutils dependencies syntax.
- 4.1.16a
  - Extended Security Options (3DESEDE, AES192, AES256) privacy
    protocols implemented.
  - The error-indication codes moved from literals to objects for reliability
    and clarity
  - Fix to v1.TrapPDUAPI.getVarBinds() to address PDU component at the right
  - Fix to rfc1902.Bits initialization from named bits sequence.
  - Fix to MIB builder by-extension module filtering code to cope with .pyw
  - Internal caches structure improved.
  - Sync versions of oneliner apps split off async implementation for clarity.
  - Randomize initial in various numeric sequences.
  - MsgAndPduDsp expectResponse parameters passing reworked.
  - GetNext/GetBulk response processing logic moved to getNextVarBinds()
  - Changes towards performance improvement:
    + all dict.has_key() & dict.get() invocations replaced with modern syntax
      (this breaks compatibility with Python 2.1 and older).
    + introduce the MibInstrumControlle.readVarsFast() method (which skips
      the "testing" phase of MIB value readin) for dealing with internal
      configuration (LCD).
    + default debug.logger is now just a zero value instead of an object
      what saves big on frequent calls
    + SNMPv2-SMI columnar indices <-> index values convertion code optimized.
    + pre-compute and re-use some of ASN.1 structures.
    + avoid setting PDU defaults to save on unnecessary initialization.
    + skip ASN.1 types verification where possible.
    + at oneliner Command Generator, avoid looking up pure OID arguments
      at MIB as it's pointless but takes time.
    + cache MIB columnar objects instance ID <-> symbolic index representation
- 4.1.15a
  - SNMP Proxy example added.
  - End-of-MIB condition detection reworked what caused backward
    incompatibility at v1arch GETNEXT API. Previous pysnmp versions
    used value = None in var-binds as returned by getVarBindTable()
    API method. This version uses rfc1905 exception values (v2c/v3)
    or pyasn1 Null (v1).
    Built-in GETNEXT/GETBULK apps now do not require user to track
    end-of-mib conditions anymore -- this is now done automatically.
  - CommandResponder API now supports async mode of operation.
  - SNMP exception values now exported from rfc1905 module, and made
    pretty printable.
  - Lexicographic walking mode is now supported at oneliner CommandGenerator.
  - ContextEngineId&ContextName parameters passing implemented at
    v3arch oneliner API.
  - Multiple instances of the same transport domain now supported.
  - Initial snmpEngineId value generation improved not to accidentally
    collide within an administrative domain.
  - MibTableColumn instances now build value-to-column-instance map
    to speedup by-value search.
  - SNMPv2-CONF::AgentCapabilities macro implemented.
  - The libsmi2pysnmp tool handles some more MACROs.
  - Void access control module implemented to let apps disabling [default] VACM.
  - Allow standard SNMP apps to choose access control method to use.
  - Twisted-based CommandResponder example added.
  - Fix/rework of Twisted GETNEXT/BULK CommandGenerator callback API to
    make it simpler and uniform with other CommandGenerators
  - Fix to SNMPv3 security module to store peer SNMP engine timeline
    only if taken from an authenticated message. Prior to this fix
    SNMP engine was not been protected from spoofing.
  - Fix to $SMIPATH initialization at build-pysnmp-mib.
  - Fix to maxSizeResponseScopedPDU calculation.
  - Fix to Next/Bulk CommandGenerators to catch a non-increasing OID
    error condition (what prevents looping).
  - Fix to Opaque value tagging at rfc1155.Opaque type.
  - Fix to handle (fail gracefully) zero-length user password.
  - Fix to SNMP error propagation at Twisted driver (SF tracker ID #3054505).
  - Fix to Agent-role snmpEngineId discovery procedure that allows
    authenticated ReportPDU generation.
  - Fix to SNMPv1 PDU handling at CommandResponder & NotificationReceiver
  - Fix to CommandResponder app to skip Counter64 SMI values when responding
    to SNMPv1 Manager.
  - Fix to protocol translator code (rfc2576) to handle Counter64 type
    in v2c-to-v1 PDU translation.
  - Fix to non-response var-binds translation in rfc2576.v2ToV1().
  - Fix to wrong exceptions used in pysnmp/entity modules.
  - Fix to noauth/nopriv security module so that it would not crash SNMP
    engine if called accidentally.
  - Fix to CommandResponder not to return out-of-range errorIndex along
    with genErr
  - Fix to GETBULK CommandResponder to do a by-column MIB walk, not by-raw.
  - Fix to getVarBindTable() API function logic.
  - Fix to example Manager scripts to use errorIndex when available.
  - Fix to dummy encryptData()/decryptData() API
  - Fix to oneliner GETBULK table collection code to make it stripping
    uneven rows off table tail.

Fri Sep 17 00:00:40 UTC 2010 -

- Fix required libsmi version

Tue Sep 14 22:17:17 UTC 2010 -

- Update to 4.1.14a
  - Fix to maxSizeResponseScopedPDU calculation at USM security module: now
    more precise and robust against screwed values on input.
  - Fix to MIB loading logic that used to load same-name modules at
    disticts search paths on each loadModules() call.
  - Fix to AsynsockDispatcher.runDispatcher() to make use of optional
    non-default select() timeout value.
  - AbstractTransportDispatcher now allows user application registering
    multiple timer callbacks each with dedicated call period.
  - Asynsock mainloop default idle period reduced to 0.5 sec for better
    timer resolution.
  - Fix to SNMPv1->SNMPv2c error status handling at proxy module. This
    defect may have caused an infinite loop on a multiple var-bind
    SNMPv1 GetNext operation.
  - Fix to contextName processing at config.addV1System -- typo rendered
    passed contextName not committed into LCD.
  - Fix to unknown ContextName exception handling at CommandResponder App.
  - config.addVacmUser() now accepts an optional contextName what makes
    it usable for configuring multiple contextName-bound bases of Managed
    Objects to SnmpEngine.
  - MP pending states cache management re-worked so that SNMP engine will
    now handle an unlimited number of pending request/responses.
  - Fix to SNMP discovery procedure: include ContentName in SNMP discovery
  - Many fixes to AES crypto code that makes it actually working.
  - Fix to SNMPv2-SMI createUndo operations.
  - Fix to INFORM sending error handling at oneliner.
  - Fix to mismatched response PDU handling at CommandGenerator application.
  - Debug category 'app' (for Application) added to facilitate
    Standard SNMP Applications debugging.
  - The retryCount semantic of CommandGenerator application changed to include
    sole retries and do not include initial request. Thus, retryCount=1 will
    now send up to two packets, not just one as it used to be.
  - Debugging printout now escapes non-printable characters.
- Revision 4.1.13a
  - UDP over IPv6 transport implemented.
  - Fix to MIB tree walking code that used to fail on table columns where
    indices have identical leading parts.
  - SNMPv1/v2c snmpCommunityTransportTag-based imcoming message filtering
    implemented (rfc2576).
- Revision 4.1.12a
  - API versioning retired (pysnmp.v4 -> pysnmp).
  - MIB loading mechanics re-designed to allow ZIP import.
  - MIB loader supports code objects (py[co])
  - Installer now uses setuptools for package management whenever available.
  - The libsmi2pysnmp tool improved to build constraints of more than
    256 items (Python has a limit on the number of function params).
  - Missing SNMPTrap PDU API implemented at proto.api.v2c, RFC2576 proxy
    code reworked.
  - Fix to sysUpTime OID at SNMPv2 TRAP PDU.
Revision 4.1.11a
  - Twisted integration implemented.
  - Attempt to use hashlib whenever available.
  - Fix to oneliner Manager code on < Python 2.4.
  - Let NotificationReceiver and CommandResponder Apps browsing request details
    (transport information at the moment) at SNMP engine.
  - Fix to config.addV1System() to allow multiple systems to co-exist in LCD.
  - Fix to wrongly succeeding user-parameters-by-community-name searching code
    in rfc2576 processIncomingMsg() method.
  - Do sanity checking on PYSNMP_MODULE_ID, Groups and Notifications in
    libsmi2pysnmp (SF bug #2122489).
  - Fix to oneliner Notification Originator that sometimes used to send multiple
    requests at once.
  - Oneliners LCD names generation code reworked to avoid accidental clashes.
  - Fix and re-work of sysUpTime value management in LCD.
  - Fix to pending inform request data caching in mpmod/ -- previous
    code led to cache data corruption on multple outstanding requests.
  - In SMI configuration wrapper functions, catch access to non-configured
    entries and raise an exception.
  - Allow multuple callback timer functions in all transport dispatchers.
  - Fix to libsmi2pysnmp code to preserve more underscored object names and
    to guess the right type between indistinguishable ObjectGroup &
  - Fix to MibScalarInstance value setting logic - previous code failed
    when modifying the same OID multiple times within a single SET operation.
  - Minor usability improvements to tools/build-pysnmp-mib.
  - Made MIB objects unexport feature operational.

Tue Mar 23 13:30:13 CET 2010 -

- Changed package arch to "noarch"

Tue Mar 23 13:13:13 CET 2010 -

- Updated spec file - created subpackage utils
- Added required libsmi require statement and its minimum version
  for utils sub package main package.

Mon Feb 16 2009 James Oakley <> - 4.1.10-1

- Update to 4.1.10a
  - Internal MIB indexing method __indexMib() unmangled to facilitate
    setting up mutex there for sharing MIB stuff between threads.
  - Fixed broken IpAddress value handling in SET operation.
  - Broken MibBuilder.unloadModules() method now works.
  - Use getLabel() SMI object method when building MIB tree (in
    in addition to direct attribute access for clearer object protocol.
  - The MIB building tools updated to match significantly improved
    smidump tool (libsmi version > 0.4.5).
  - Made libsmi2pysnmp tool optionally building MIB text fields into pysnmp
    MIB code (enabled by default) and MibBuilder conditionally loading them
    up (disabled by default).
  - SnmpEngine and MsgAndPduDispatcher constructors now optionally
    take msgAndPduDspr and mibInstrumController class instances
    respectively to facilitate these objects sharing within a process.
  - Unique integers, for various parts of the system, are now generated
    by a module. This fixes possible issues with duplicate
    request IDs and handlers.
  - Built-in MIBs re-generated to include text fields.
- 4.1.9a
  - At onliner CommandGenerator, close transport on destruction to
    prevent socket leak. Implicit async transports registration at
    default asyncore's socket map has been disabled to avoid side
  - Fix to rfc2576.v1ToV2c() PDU converter to perform noSuchName error code
  - Fixes to Notification PDU convertion code at rfc2576 in part of
    snmpTrapOID handling.
  - Fix to nonRepeaters object use as sequence slicer (must be int) at
  - Make AsynsockDispatcher using its own socket map by default for
    threading safety. This will break asyncore apps that rely on pysnmp
    sharing the same socket map with them. A solution would  be to either
    set asyncore map to pysnmp (AsynsockDispatcher.setSocketMap()) or pass
    pysnmp map (AsynsockDispatcher.getSocketMap()) to asyncore.
  - Fix to response timeout roundup bug at CommandGenerator and
    NotificationOriginator code.
  - Oneline configuration classes made hashable to prevent memory leaks
    when committing them into CommandGenerator/NotificationOriginator
    internal repository.
  - Security information is now released properly in all MP modules.
    This might fix a significant memory leak.
  - Typo fix to rfc3411 confirmed class PDU members.
- 4.1.8a
  - SMI/dispatcher timeout convertion multiplier is actually 100 (1/100 sec)
    rather than 1/1000. This fix affects timeouts specified through SMI.
  - __repr__() implemented for UdpTransportTarget, CommunityData, UsmUserData
    in oneliner module.
  - Automatically initialize table index values on table management
    operations (SF bug ID #1671989).
  - Fix to carrier code: ignore BADFD socket error as it may happen upon
    FD closure on n-1 select() event.
  - Fix to MibBuilder.setMibPath() to preserve previously loaded modules
    intact. Otherwise loadModules() called after setMibPath() might fail
    with 'MIB file not found in search path' exception.
  - Fix to oneliner classes that now invoke unconfiguration methods on
    destruction. This might have caused memory leaks.
  - Automatically initialize SNMP-USER-BASED-SM-MIB::UsmUserSecurityName
    columnar object instance on creation, as stated in DESCRIPTION (SF
    tracker ID #1620392).
  - Fix to USM timeframe arithmetics (SF bug #1649032).
  - VACM shortcuts merged into universal add/delVacmUser() to let notifications
    and requests to co-exist for the same user.
  - At oneliners, build LCD tables keys from a hashed mix of input parameters
    to make sure these automatic entries won't interfere or exceed constraints
    on keys values.
  - Made use of notificationType parameter of the sendNotification method
    in NotificationGenerator applications. This parameter used to be
    ignored in the past. Note, that previously used (and ignored) syntax
    has been changed in an incompatible way.
  - Allow plain Python values in setCmd() and sendNotification()
    methods in CommandGenerator and NotificationGenerator applications
  - Multi-target oneliner API-based example script added.
  - Ignore more socket errors in datagram-type async socket code.
  - AES cipher now supported (rfc3826).
  - Fix to messed up tagIDs of noSuchInstance and noSuchObject types.
  - SET Command Responder fixed to obscure access to non-existing variables
    by returning notWritable error (SF bug #1764839).
  - AsynsockDispatcher.setSocketMap() method added to facilitate pysnmp
    transport integration into third-party asyncore-based applications.
  - Fix to errorIndex generation at CommandResponder application, the value
    should be a one-based.

Mon Apr 23 2007 James Oakley <> - 4.1.7-1

- Update to 4.1.7
  - Low-level debugging facility implemented
  - Support UdpTransportTarget timeout and retries parameters in oneliner API
  - Fix to snmpTrapOID construction at ...proxy.rfc2576.v1ToV2()
  - Fix to MibViewController.getNodeName() to take MIB module name
    into account (SF bug #1505847)
  - Do explicit check for Counter32,Unsigned32,TimeTicks,Counter64 value types
    in MibTableRow index convertion and in TextualConvention.prettyPrint()
    methods (SF bug #1506341). Handle Bits in indices as RFC2578 suggests
  - Apply read-create column status to libsmi2pysnmp-generated code
    whenever MIB text specifies that (SF bug #1508955)
  - Honor and apply DISPLAY-HINT specification when building TextualConvention
    class at libsmi2pysnmp
  - Managed Objects Instances files (smi/mibs/instances/) are now
    double-underscore prefixed to make them imported explicitly by these
    prefixed names. They used to be imported as a side-effect of
    Managed Objects files import what is way too hackerish
  - The libsmi2pysnmp now supports future libsmi bugfix that would generate
    "ranges" subtree along with the legacy and ambiguous "range" one
  - SMI support for fixed-length string indices implemented (SF bug #1584799,
      - Managed Object Instances may now have smiRead, smiWrite, smiCreate methods
    to support specific value mangling. These methods, if present, would be
    invoked from SNMP [Agent] core instead of conventional clone() method.
    The reason is to separate trivial value duplication from specific
    Instance value mangling that may have Agent-specific side effects
    (such as RowStatus)
  - MIB table row destruction now works (SF bug #1555010)
  - LCD unconfiguration functions for oneliners implemented (SF bug #1635270)
  - unloadModules() and unexportSymbols() implemented at MibBuilder
  - Notification type PDU proxy code fixed to produce symmetrical
  - Various SNMP engine-internal caches expiration implemented
  - SMI-level access control now takes effect only if AC object is
    passed to MIB instrumentation API
  - LCD management code now uses generic MIB instrumentation features
  - Fix to oneliner manager code to have individual UdpSocketTransport
    instance per each SnmpEngine. Multithreaded apps might fail otherwise.
    (SF bug ID #1586420)
  - Exclude the PYSNMP_MODULE_ID symbol from MIB view index, as it may get
    resolved into OID label instead of actual MIB object name
  - Memory leak fixed in indices.OidOrderedDict implementation
  - Fix to VACM shortcuts to let notifications and requests to co-exist
    for the same user otherwise
  - Fix to ...oneliner.cmdgen.UsmUserData to support non-default cyphers
  - USM now uses local notion of snmpEngineBoots/Time when authoritative
    and cached estimate otherwise. Also, a security fix applied to to USM
    time-window verification (SF bug #1649032)
  - Fix to notification objects resolution code at
  - Do not raise securityLevel for USM error reports that lacks user
    information, as these reports could never be cyphered (SF bug #1624720)
  - Non-default BULK PDU params now actually applied
  - SnmpEngineID default value generation algorithmic function changed
    to allow multiple SNMP engines running on the same host
  - Documentation updated
  - A handful of minor fixes applied (SourceForge tracker IDs #1537592,

Thu Jun 22 2006 James Oakley <> - 4.1.6-1

- Update

Wed Oct 19 2005 James Oakley <> - 4.1.4-ft.4

- Fix SNMPv1 requestid problem

Wed Oct 12 2005 James Oakley <> - 4.1.4-ft.3

- Build for SL10

Wed Sep 28 2005 James Oakley <> - 4.1.4-ft.2

- Add requirements