summaryrefslogtreecommitdiff
path: root/pysnmp
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in docstringIlya Etingof2019-09-261-2/+2
|
* Fix broken SNMPv3 authoritative engine ID discoveryIlya Etingof2019-09-242-2/+2
| | | | | | | Fixed a regression in 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.
* Docstring fixIlya Etingof2019-08-111-5/+5
|
* Fix crash on AES key localizationIlya Etingof2019-08-111-1/+2
|
* Introduce "wildcard" SNMP engine ID (#297)Ilya Etingof2019-08-112-29/+74
| | | | | | | | | | | This change introduces "wildcard" SNMP engine ID (0x00000000). Right before deciding on firing up SNMP engine ID discovery and key localization procedure, originating SNMP engine will check for the presence of this magical engine ID (5 zeros), if it is present in LCD along with the user name being used, localized keys from that entry will be used. Does this have security implications?
* Move SNMP engine discovery code to security moduleIlya Etingof2019-08-103-32/+49
| | | | | | | | | | | | | This SNMP engine ID discovery procedure is spread across message processing and security modules. This is weird! Anyway, this change moves SNMP message rewriting, associated with starting out SNMP discovery sequence, to security module. The motivation is to let security module making the ultimate decision whether or not SNMP engine discovery is required. For example, if localized keys are committed directly to the DB, security module may just use them without engine discovery phase.
* Fix crashing VACM debuggingIlya Etingof2019-08-101-4/+4
|
* Expose USM_* constants to `hlapi` top-level scopeIlya Etingof2019-08-052-59/+104
|
* Fix USM configuration for the case of partial keysIlya Etingof2019-08-051-1/+1
|
* Fix malformed OBJECT-TYPE MAX-ACCESS constantsIlya Etingof2019-08-052-7/+7
|
* Do not store incomplete USM keys and improve debugIlya Etingof2019-08-054-39/+163
| | | | | | | | | | | | | This adds details debugging on USM initial configuration process and runtime USM user cloning. Besides that, this patch eliminates storing of incomplete USM keys (in case when master/localized keys are configured directly). On top of that, this commit fixes a bug in USM configuration which did not allow the same user names to be added under different security names.
* Add missing enumeration to `pysnmpUemKeyType`Ilya Etingof2019-08-041-36/+35
|
* Add USM master and localized keys configuration support (#295)Ilya Etingof2019-08-037-71/+242
| | | | | | | | | | | | Added new optional parameters to `addUsmUser()` and `hlapi.UsmUserData()` functions allowing specifying key material type being passed to the respective routines. Plain-text pass-phrase remains the default, while user can change that to `master` or `localized` types. Refer to RFC3414 for technical details on SNMP USM key localization algorithm.
* Fix wrong cherry-picked debug flagIlya Etingof2019-07-301-1/+1
|
* Make received MIB objects resolution more forgivingIlya Etingof2019-07-302-8/+18
| | | | | | | | | Previously, MIB resolution errors were ignored (whenever possible) for objects we were sending and receiving. This change tightens outgoing objects MIB compliance (send will fail), but tolerate non quite compliant objects we receive. Also, extend the same policy onto `NotificationOriginator`.
* Make MIB objects resolution more forgivingIlya Etingof2019-07-301-6/+21
| | | | | Added optional `ignoreErrors` parameter to `ObjectType.resolveWithMib()` to control that behaviour.
* Support various forms of `vacmViewTreeFamilyMask` inputIlya Etingof2019-07-301-1/+1
| | | | This fixes release 4.4.10 before it's actually released.
* Rework VACM access control function (#287)Ilya Etingof2019-07-292-100/+353
| | | | | | | | | 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 lookup performance
* Fix TRAP PDU proxy translationIlya Etingof2019-07-261-14/+12
| | | | | Fixed crash on uninitialized component serialization left out in SNMP v1 TRAP PDU to SNMPv2/3 TRAP PDU translation routine.
* Fix `var-bindings` initializationIlya Etingof2019-06-232-3/+7
| | | | | | | Set `var-bindings` to an empty sequence by default. Otherwise it can remain a "pyasn1 schema object" failing to encode. This can happen with newer pyasn1 versions where `SequenceOf` type does not have default initializer.
* Fix `importlib` use on Py27Ilya Etingof2019-04-121-5/+11
| | | | Also fixes bug in `imp`-based initialization
* Replace `imp` with `importlib` is availableIlya Etingof2019-04-021-23/+25
|
* Fix `MibBuilder.loadModules()` no respect missing MIB failureIlya Etingof2019-02-271-13/+15
| | | | | Missing MIB condition has been ignored if MIB compiler is not configured.
* Fix missing variable references in SMI instrumentationIlya Etingof2019-02-261-0/+4
|
* Drop legacy `pysnmp.carrier.asynsock`Ilya Etingof2019-02-264-31/+0
| | | | | The sub-package is now known under the name `asyncore` because of the presence of many other event loops.
* PEP-8 long lines and dunders (#245)Ilya Etingof2019-02-2681-2300/+3832
| | | | This patch massively reformats the whole codebase mainly wrapping long lines and eliminating dundered private attributes.
* Fix PDU consistency check in notification originatorIlya Etingof2019-02-253-6/+6
|
* Fix variable reference in hlapi/v1arch/ntforgIlya Etingof2019-02-251-2/+2
|
* 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