Commit Graph

605 Commits (master)

Author SHA1 Message Date
Ilya Etingof 4994111b2b Fix hlapi LCD to include `contextName` (#217)
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.
2018-11-03 12:55:51 +01:00
Ilya Etingof 9ebd0c0fab Expose ASN.1 `Null` type through `rfc1902` module 2018-10-26 08:45:56 +02:00
Ilya Etingof 4aac8b23d5 Use `compile()` before `exec` of MIB modules
This change attaches the file name to the stack frames
what is helpful when reading traceback or debugging
interactively.
2018-10-26 08:45:46 +02:00
Ilya Etingof 0c0d054e8e
Refactor MIB state machine into asynchronous operations (#210)
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.
2018-10-24 10:14:33 +02:00
Ilya Etingof 534a5bb810
Convert to async MIB instrumentation API (#209)
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.
2018-10-13 20:21:31 +02:00
Ilya Etingof 53e67f9533 Ensure distinct transports if timeout/retries differ
Fix hlapi/v3arch transport target caching to ensure transport targets
are different even if just timeout/retries options differ.
2018-09-20 10:45:38 +02:00
Ilya Etingof 6e30bc0457 Release 4.4.6 2018-09-13 23:53:35 +02:00
Ilya Etingof 74434d710c Tolerate duplicate enumerations
Possible duplicate enumerations in `Bits` and `Integer` SMI types
causes pyasn1 exception. This fix reduces duplicates prior to
passing them to pyasn1.
2018-09-09 12:24:39 +02:00
Ilya Etingof b2b10e75c5 Add a CHANGELOG entry for previous fix 2018-09-09 09:40:04 +02:00
Ilya Etingof ac0b956d00
Add `hlapi.v1arch` API (#186)
* Add `hlapi.v1arch` API

Introduce new sub-package `pysnmp.hlapi.v1arch` which
wraps otherwise very detailed packet-level SNMP
messaging into a handful of convenience functions.

As a side effect, the `pysnmp.hlapi.*` sub-packages
moved under `pysnmp.hlapi.v3arch` though `pysnmp.hlapi`
still exposes `pysnmp.hlappi.v3arch.*` symbols to
retain some degree of backward compatibility.

The signature of the hlapi `.sendNotification()` call
has changed to accept `*varBinds` instead of a sequence
of `varBinds`. The rationale is to unify this method
call with similar methods of CommandGenerator.

* Add v1arch docs and reshuffle hlapi docs
2018-08-12 17:22:58 +02:00
Ilya Etingof 488ec26798 Recover missing LICENSE in tarball 2018-08-08 07:56:35 +02:00
Ilya Etingof d662c557a7 Improve package build and dependency tracking 2018-08-06 23:37:07 +02:00
Ilya Etingof a57dc32430 VACM contextName memory leak fix 2018-08-06 09:16:50 +02:00
Ilya Etingof 853ba0bbf5 Add PySnmpError.cause attribute
To convey parent exception information on re-raise
2018-08-06 09:16:50 +02:00
Ilya Etingof 797b4fe627 Fix out-of-scope OID leak in hlapi table
Fixed out-of-scope OIDs possibly leaking at the end of
SNMP table at hlapi `nextCmd` and `bulkCmd` calls when
`lexicographicMode = False`.
2018-08-06 09:16:50 +02:00
Ilya Etingof 7b28a4822c Fix crash on wrong SNMPv3 security model
Fixed crash caused by incoming SNMPv3 message
requesting SNMPv1/v2c security model
2018-08-06 09:16:50 +02:00
Ilya Etingof 3e8fd37ee1 Fix `Bits` initialization with `namedValues` 2018-07-20 09:57:16 +02:00
Ilya Etingof a93241007b
Remove `pysnmp.carrier.asynsock` sub-package (#166)
Legacy `pysnmp.carrier.asynsock` backward-compatible
wrapper over `pysnmp.carrier.asyncore` is gone
2018-07-08 12:59:49 +02:00
Ilya Etingof 212e1b54c3 Revert "Fix var-bind initialization from ObjectIdentity at hlapi"
This reverts commit 23d1aa7bf5.
2018-07-05 13:40:32 +02:00
Ilya Etingof c950f407ea Fix var-bind initialization from ObjectIdentity at hlapi 2018-07-05 10:42:03 +02:00
Ilya Etingof 7f65dde49a Fix typos 2018-07-03 08:05:23 +02:00
Ilya Etingof da4539e34c
Overhaul SMI/MIB instrumentation API (#161)
Overhaul SMI/MIB instrumentation API

SMI/MIB managed objects API overhauled for simplicity and
flexibility breaking backward compatibility.

This change would allow way more control over custom MIB
managed objects and also is the prerequisite for
asynchronous MIB instrumentation.
2018-06-30 20:14:57 +02:00
Ilya Etingof f1e9f13141 fix potential infinite loop in GETBULK response builder 2018-04-21 23:16:34 +02:00
Ilya Etingof 2346e0a9af fixed zero boots/time values put into SNMPv3 TRAP 2018-04-21 17:46:28 +02:00
Ilya Etingof 551e4c9a69 fix InetAddressType rendering 2018-04-19 01:13:55 +02:00
Ilya Etingof 0a29dd1f35 many backward-compatibility aids dropped 2018-02-25 00:08:01 +01:00
Ilya Etingof 24a7988766 strong crypto moved to pysnmpcrypto 2018-02-19 00:41:28 +01:00
mattsb42-aws f31ff816e7 readme and changes updated to reflect crypto abstraction layer 2018-02-09 11:12:29 -08:00
Ilya Etingof 0ab27d2c38 copyright notice extended 2018-01-03 13:33:05 +01:00
Ilya Etingof 87dee74cac fixed 3DES key localization bug 2017-12-30 15:55:13 +01:00
Ilya Etingof 8b4c122b67 minor fixes to the docs 2017-12-22 12:53:40 +01:00
Ilya Etingof e81dfd5f8a preserve SNMPv1 error-status when proxying to SNMPv2c 2017-12-17 14:25:09 +01:00
Ilya Etingof 91b30573c9 fixed missing SmiError class at proto.frc1155 2017-12-14 01:18:23 +01:00
Ilya Etingof 72f3878be0 added missing SHA2 support for Blumenthal key localization 2017-12-03 20:46:25 +01:00
Ilya Etingof 0294172286 named bits fix at rfc1902.Bits 2017-12-03 14:06:57 +01:00
Ilya Etingof 5f7e552690
migrated references from SourceForge (#110) 2017-11-17 11:01:14 +01:00
Ilya Etingof b6a19e8fb6 fixed typo in the changelog 2017-11-11 14:29:26 +01:00
Ilya Etingof c1ede44061 4.4.2 release 2017-11-11 14:24:39 +01:00
Ilya Etingof bb48699267 missing get/setReference() added to SNMPv2-SMI::NotificationType 2017-11-11 13:05:47 +01:00
Ilya Etingof 0645fc6151
fixed SNMPv3 retries algorithm inconsistencies (#106) 2017-11-11 10:31:30 +01:00
Ilya Etingof 9f6230113e
encode IPv6 requirement into example scripts names (#102) 2017-11-06 14:32:00 +01:00
Ilya Etingof be4f6ed73b added support for some more fields of SMIv2 MACRO types 2017-11-06 00:32:15 +01:00
Ilya Etingof 1739070fb0 make pysnmp version available at MibBuilder 2017-11-05 16:14:21 +01:00
Ilya Etingof 408fe6c6ac the `append` option added to .setObjects() 2017-11-05 13:03:18 +01:00
Ilya Etingof 7ff147b5e0 CHANGELOG updated 2017-10-23 12:26:38 +02:00
Ilya Etingof a5420fd95d 4.4.2 2017-10-23 12:23:49 +02:00
Ilya Etingof 9fd74a00f6 4.4.1 2017-10-23 12:04:33 +02:00
Ilya Etingof fff063aba9 fixed non-translated PDU version retries at CommandGenerator 2017-10-18 12:14:53 +02:00
Ilya Etingof 1065d25a16 make sure to pass an initializer to ASN.1 Null()
This is a prerequisite for pyasn1 0.4.x
2017-10-18 11:45:02 +02:00
Ilya Etingof 7926d10748 note fixed error 2017-10-18 00:17:40 +02:00