summaryrefslogtreecommitdiff
path: root/pysnmp
Commit message (Collapse)AuthorAgeFilesLines
* Ensure TRAP PDU consistency in v1archIlya Etingof2019-02-235-114/+186
| | | | | | Also, consistency ensuring code unified with v3arch piece what has the side effect of *requiring* snmpTrapOID to be always present anywhere among user-supplied variable-bindings.
* Harden v2c->v1 TRAP PDU translation against incomplete var-bindsIlya Etingof2019-02-221-3/+26
|
* Fix typos in the docstringsIlya Etingof2019-02-227-23/+16
|
* Introduce asyncio binding to hlapi.v1arch (#244)Ilya Etingof2019-02-227-17/+951
| | | | | The hlapi.v1arch asyncio API is intended to be very similar to hlapi.v3arch.asyncio from its signature viewpoint, however it should be faster at the expense of no SNMPv3 support.
* Fix typos in docstringsIlya Etingof2019-02-213-4/+4
|
* Fix broken `hlapi.isEndOfMib` callableIlya Etingof2019-02-213-3/+3
|
* Fix some of the rebuilt MIBsIlya Etingof2019-02-182-7/+32
| | | | | | Add the missing defaults (pyasn1 fault), add non-existing 'vacmContextStatus' MIB object which is required for table management.
* PEP-8 included MIB modules (#243)Ilya Etingof2019-02-1733-1980/+12211
| | | | | The base Pythonized MIBs being shipped with pysnmp have been rebuilt with the latest pysmi mainly for the purpose of making them PEP-8 compliant.
* PEP8 optimize imports (#242)Ilya Etingof2019-02-1296-302/+390
| | | | To make them PEP8-compliant
* Remove the remnants of hlapi.v1arch.asyncore.sync.compatIlya Etingof2019-02-121-9/+3
|
* Remove the remnants of hlapi.asyncore.syncIlya Etingof2019-02-121-19/+0
|
* Fix Py2.6 incompatibilityIlya Etingof2019-02-121-41/+41
| | | | Specifically, set literals not yet supported.
* Remove legacy "oneliner" API (#240)Ilya Etingof2019-02-103-516/+0
| | | | Drop everything related to the legacy "oneliner" and "mibvar" APIs.
* Officially remove Python < 2.6 support (#239)Ilya Etingof2019-02-1011-349/+3
| | | | Perhaps previous commits have already broken older Python support. This commit mostly declares Python 2.6+ support.
* Fix misnamed constantsIlya Etingof2019-02-105-29/+30
| | | | | This is a follow up to 588b9b902d191d8010cb6b247fcb07887d59542c fixing a couple of improperly named constants.
* Uppercase global constants (#238)Ilya Etingof2019-02-1083-988/+1104
| | | | | | | | | This is a massive patch essentially upper-casing global/class attributes that mean to be constants. Some previously exposed constants have been preserved for compatibility reasons (notably, in `hlapi`), though the rest might break user code relying on pysnmp 4.
* Fix Command Responder crashIlya Etingof2019-02-101-1/+1
| | | | Due to a bug in the 'Add missing SNMP PDU error classes' change.
* Drop Python < 2.6 except statement compatibility trickIlya Etingof2019-02-0926-169/+158
|
* Drop Python < 2.6 kwargs expansion compatibility trickIlya Etingof2019-02-096-58/+58
|
* Add missing SNMP PDU error classesIlya Etingof2019-02-083-14/+44
| | | | | Added missing SNMP PDU error classes and their handling in Command Responder
* Fix IPV6_TRANSPARENT socket optionIlya Etingof2019-02-072-2/+3
|
* Do not set IP_PKTINFO socket option on IPv6 socketIlya Etingof2019-02-072-4/+3
| | | | | Trying to understand why sendmsg() fails on a transparent IPv6 socket
* Improve IPV6 debuggingIlya Etingof2019-02-072-4/+12
|
* Fix socket iov blob dump in debugIlya Etingof2019-02-071-3/+5
|
* Add `IPV6_V6ONLY` IPV6 socket optionIlya Etingof2019-02-072-2/+3
| | | | SO says this is required for proper UDP socket multi-homing.
* Emit low-level sendmsg/recvmsg debuggingIlya Etingof2019-02-072-0/+28
| | | | | When running in transparent proxy mode, log syscall parameters to aid troubleshooting
* Uninitialized MibSclarInstance -> noSuchInstanceIlya Etingof2019-01-101-4/+4
|
* MIB loader ignores file and directory access errorsIlya Etingof2019-01-081-9/+13
| | | | | Also fixed crash on MIB load failure in case of directory access error
* Fix Pythonized MIB load in source formIlya Etingof2018-12-301-21/+34
|
* Extend copyright notice to year 2019Ilya Etingof2018-12-30153-143/+815
|
* Fix undefined names in `TRANSPORT-ADDRESS-MIB.py`Ilya Etingof2018-12-301-3/+3
|
* Redesigned SMI objects management model (#214)Ilya Etingof2018-12-2913-755/+3002
| | | | | | | | | | | | | | The primary motivation behind this redesign is to allow asynchronous operations between SNMP responder and the data source feeding its MIB. This is achieved by redesigning all `read*`, `write*`, `create*` and `destroy*` methods of the `SNMPv2-SMI` MIB objects to return immediately and deliver their results via a call back. This modification brings significant and backward incompatible changes to the low-level MIB operations. The pysnmp MIB modules compiled for older pysnmp remain compatible.
* Fix hlapi/v1arch GETNEXT EOM processingIlya Etingof2018-12-291-3/+6
| | | | | The hlapi/v1arch GETNEXT command crashes when hitting end-of-mib condition. This patch fixes this.
* Fix hlapi/v1arch request timeoutIlya Etingof2018-12-293-5/+4
| | | | The retrying mechanism never worked, apparently.
* Fix wrong `set()` member deletion in `MibBuilder`Ilya Etingof2018-12-251-2/+2
|
* Fix possible duplicate key condition in `OrderedDict`Ilya Etingof2018-12-251-36/+37
| | | | | Also, updated thr `.update` and `__init__` methods signatures to match `dict` interface. Implementation details renewed.
* Fix hlapi LCD to include `contextName` (#217)Ilya Etingof2018-11-038-34/+50
| | | | | | | | | Fixed hlapi LCD configurator to include `contextName`. Prior to this fix sending SNMPv3 TRAP with non-default `contextName` would fail. This change modifies the signature of the internal LCD methods.
* Expose ASN.1 `Null` type through `rfc1902` moduleIlya Etingof2018-10-261-1/+26
|
* Use `compile()` before `exec` of MIB modulesIlya Etingof2018-10-261-4/+4
| | | | | | This change attaches the file name to the stack frames what is helpful when reading traceback or debugging interactively.
* Merge branch 'master' of github.com:etingof/pysnmpIlya Etingof2018-10-263-215/+269
|\
| * Refactor MIB state machine into asynchronous operations (#210)Ilya Etingof2018-10-243-215/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert to async MIB instrumentation API (#210) MIB instrumentation API changed to allow for asynchronous managed objects access. The MIB instrumentation methods called by the state machine now return immediately and resume once the callback is called. The built-in SNMPv2-SMI objects are still synchronous. This change is a prerequisite for fully asynchronous managed objects implementation.
* | Fix typosIlya Etingof2018-10-171-1/+1
|/
* Convert to async MIB instrumentation API (#209)Ilya Etingof2018-10-133-71/+101
| | | | | | | | | | | | | | | | MIB instrumentation API changed to allow for asynchronous managed objects access. Although built-in SNMPv2-SMI objects are still synchronous, the MIB instrumentation API is async what allows users to replace default MIB instrumentation with their own, potentially asynchronous. CommandResponder refactored to facilitate asynchronous MIB instrumentation routines. The `readVars`, `readNextVars` and `writeVars` MIB controller methods return immediately and deliver their results via a call back. SMI/MIB managed objects API overhauled for simplicity and flexibility breaking backward compatibility.
* Fix Sphinx markup for USM crypto algorithm IDsIlya Etingof2018-10-063-14/+76
|
* Reformat `isAccessAllowed()` for clarityIlya Etingof2018-10-061-13/+30
|
* Avoid deprecation warnings for asyncio.async() in server mode (#202)Fabrizio Vanni2018-09-261-1/+5
| | | | This is actually needed for Python 3.7 which introduces async and await as reserved keywords, see https://docs.python.org/3/whatsnew/3.7.html
* Ensure distinct transports if timeout/retries differIlya Etingof2018-09-201-1/+4
| | | | | Fix hlapi/v3arch transport target caching to ensure transport targets are different even if just timeout/retries options differ.
* Accommodate changed `.writeVars` signatureIlya Etingof2018-09-141-2/+2
|
* Release 4.4.6Ilya Etingof2018-09-131-1/+1
|
* Tolerate non-initialised entries in SNMP community table (#195)Ilya Etingof2018-09-131-25/+75
| | | | | | | | | | It can happen that SNMP community table contains uninitialized entries. These entries may stop internal SNMP community table indexing which is done in rfc2576 to speed up SNMP engine operations when SNMPv1/v2c is involved. Once a bad entry gets into SNMP community table, all the rest queries would start failing. This patch ignores incomplete SNMP community table entries in the course of building indices.