summaryrefslogtreecommitdiff
path: root/pysnmp/smi
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix InetAddress-to-InetAddressIPv{4,6} index cast (#97)Eugene M. Kim2017-10-181-3/+1
| | | | | | | | | | | | | * Fix InetAddress-to-InetAddressIPv{4,6} index cast Previously, the pretty value of the InetAddress instance was being used. Since InetAddress does not know how to format the raw octets to protocol-specific syntax (IPv4 or IPv6), the pretty value was something like u'\x00\x00\x00\x00' instead of u'0.0.0.0', which in turn caused parse error in the protocol-specific subclass. Passing the raw value (4- or 16-byte octet string) itself works as the protocol-specific subclasses know how to handle these.
* Do not cache indices with a mutable index value (#94)Eugene M. Kim2017-10-141-2/+7
| | | NetworkAddress is one such index value.
* Fix OID type matching in ObjectType.resolveWithMib (#90)Eugene M. Kim2017-10-101-1/+1
| | | | | | | | | | | | | That is, reverse the supertype-subtype direction in the type matching call: Previously it was checking if the value was a supertype of OID, whereas the correct check should be whether the value is a subtype of OID. This had gone undetected so far because all values were of simple, tagged types, and if a value is not an OID, their tag set differed, i.e. neither is a subtype of the other. Recent introduction of NetworkAddress revealed this bug: Being an untagged Choice type, NetworkAddress's tag set is empty, and it counts as a supertype of OID: resolveWithMib() then erroneously treated it as an OID.
* Render NetworkAddress indices (#87)Eugene M. Kim2017-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add OID-index roundtrip methods to NetworkAddress This enables use of NetworkAddress as a table index. * Use NetworkAddress for RFC1213-MIB::atNetAddress Previously atNetAddress defined to be an IpAddress, whose table index mapping was different from that of NetworkAddress. This prevented proper use of RFC1213-MIB::atTable instances, because: - OID-to-symbol resolution was failing; - Symbol-to-OID mapping result was invalid. * Move clone() from Choice to NetworkAddress Previously it was implemented in pyasn1.type.univ.Choice in case there may be more Choice-based types—such as NetworkAddress—used as a table index. However, SMIv2 (RFC 2578) limits the SYNTAX of an OBJECT-TYPE to be only PyASN1 “simple” types, and NetworkAddress is the only known Choice-based type used as a table index in MIB-I, so there is little reason to clutter PyASN1 with the one-off logic in anticipation of something will probably never happen. Having NetworkAddress's own clone() method also allows use of string literals as the value, so the following invocations are all valid: na = NetworkAddress() na1234 = na.clone('1.2.3.4') na1234_2 = na1234.clone() na1234_3 = na.clone(na1234) na4321 = na.clone(IpAddress('4.3.2.1')) To elaborate on simple types, SMIv2 limits the object syntax to be: - a base type (or its refinement) - a textual convention (or its refinement); or - a BITS pseudo-type. All base types descend from ASN.1 integer, octet string, or OID, all of which are simple types. PySNMP defines SMIv2 BITS as a subclass of OctetString, which is again a simple type. Finally, a SMIv2 textual convention (RFC 2579) is simply a syntactic sugar applied on top of either a base type a BITS type, so it is a simple type.
* Fix implied string index rendering (#84)Eugene M. Kim2017-10-051-1/+1
| | | | | Commit 30167082cd3f2706f733168da8647bbc4126696d fixed string index rendering except for implied string types, which were left broken. Close that gap by applying the same workaround.
* fixed indices rendering for InetAddressIPv6 typeIlya Etingof2017-08-134-14/+15
| | | | | | Also added a workaround to pyasn1 constraints relationships resolution bug that affected SNMP table indices rendering.
* fix to .setFromName() to preserve its arg typeIlya Etingof2017-08-121-1/+0
|
* sha2 followup: SNMP-USM-HMAC-SHA2-MIB addedIlya Etingof2017-08-031-0/+37
|
* add support for USM SHA-2 algorithms (RFC 7860) (#71)verrio2017-08-031-4/+4
|
* better pyasn1 types specializationIlya Etingof2017-07-231-4/+4
|
* fix to msgAuthoritativeEngineTime objectv4.3.8Ilya Etingof2017-06-141-1/+1
| | | | To make the timestamp growing in time as it should
* embedded MIBs rebuilt with newer pysmi addingIlya Etingof2017-04-1821-1948/+1402
|
* minor refactoring in part of rfc4001/4002Ilya Etingof2017-04-172-3/+5
|
* turn InetAddress* types into variable length encodingIlya Etingof2017-04-161-4/+0
|
* fix to index conversionIlya Etingof2017-04-161-3/+2
|
* table index resolution hardened not to crash on malformed indicesIlya Etingof2017-04-161-1/+12
|
* added support for correlated SNMP table indiciesIlya Etingof2017-04-162-11/+159
|
* typoIlya Etingof2017-03-301-1/+1
|
* Fix to infinite recursion in TextualConvention.prettyIn() (#48)Ilya Etingof2017-03-191-4/+3
| | | | | * fix to infinite recursion in TextualConvention.prettyIn() Also, TextualConvention is now a new-style class
* do not require dot in "d" spec of DISPLAY-HINTIlya Etingof2017-02-041-3/+3
|
* transport address objects made iterable to override pyasn1's __iter__Ilya Etingof2017-02-042-6/+24
|
* added a note into TextualConvention docIlya Etingof2017-02-021-1/+4
|
* fix to TextualConvention initializer: trigger prettyIn parser by "text" inputIlya Etingof2017-02-021-2/+4
|
* fix to TextualConvention initializerIlya Etingof2017-02-021-1/+1
|
* TextualConvention.prettyIn() implementedIlya Etingof2017-02-011-60/+246
|
* TextualConvention.prettyOut improved to be better compliant with SMIIlya Etingof2017-02-011-27/+10
|
* email changed, copyright extended to the year 2017Ilya Etingof2017-01-1239-39/+39
|
* missing index added to bundled RFC1213::atEntry MIB tableIlya Etingof2016-11-301-4/+4
|
* Reeder key localization refactoredIlya Etingof2016-08-211-1/+1
|
* fix to pythonnized MIB loading when only .pyc files are presentIlya Etingof2016-07-031-15/+16
|
* keep some classes old-style for a whileIlya Etingof2016-06-131-13/+15
| | | | | | | Keep classes taking part in multiple inheritance old-style till pyasn1 types become new-style. Also changed order of multiple inheritance of TextualConvention to make sure its methods take precedence.
* converted to new-style classesIlya Etingof2016-06-126-12/+12
|
* pep8 reformattedIlya Etingof2016-04-057-64/+122
|
* pep8 reformattedIlya Etingof2016-04-051-31/+57
|
* pep8 reformattedIlya Etingof2016-04-0328-840/+2182
|
* multiple fixed to NotificationTypeIlya Etingof2016-03-071-4/+14
| | | | | - additional var-binds can now be specified as MIB objects - additional var-binds will override implicitly added ones
* better reporting of missing pysmielie2016-02-131-3/+7
|
* TEXTUAL-CONVENTION's DISPLAY-HINT text formatting reworked for betterelie2015-12-301-16/+18
| | | | performance and encoding accurancy of 'a' and 't' formats
* copyright updatedelie2015-12-2939-39/+39
|
* * SNMP table row consistency check added. This change may breakelie2015-11-222-8/+25
| | | | | valid SNMP SET operations on tables if RowStatus column is not passed at the very end of var-binds.
* missing doc strings on MIB loading addedelie2015-11-201-0/+202
|
* copyright notice added to source codeelie2015-11-2039-14/+210
|
* pass ObjectIdentity.tagSet to inner OIDelie2015-11-071-2/+2
|
* fix to OID->label map build in presence of multiple first-layer OID tree nodeselie2015-11-071-10/+12
|
* some more pep8'ingelie2015-11-047-92/+75
|
* fix to MIB builder to fail gracefully on corrupted MIB package encounterelie2015-11-041-1/+4
|
* cosmeticselie2015-10-253-3/+3
|
* fixed OID resolution issues that roots at node 0 and 2elie2015-10-251-6/+8
|
* unused variables droppedelie2015-10-181-3/+3
|
* some more random linter warnings fixedelie2015-10-171-2/+5
|