diff options
author | elie <elie> | 2011-02-17 17:24:49 +0000 |
---|---|---|
committer | elie <elie> | 2011-02-17 17:24:49 +0000 |
commit | 3360cd60f9bcc04bf80894aa9826d8670484b9f5 (patch) | |
tree | 1e21a0120858a17260619fae7b8ec48f33556dc2 /pyasn1/codec/ber/encoder.py | |
parent | d4dcc2f2670eaaa75a4c0347d5171bddeed3cdb9 (diff) | |
download | pyasn1-3360cd60f9bcc04bf80894aa9826d8670484b9f5.tar.gz |
a bunch of changes related to Any type support re-implementation
* the typeMap term replaced with tagMap to better distinguish tags from types
* tagMap concept is now implemented as a specialized, dictionary-like, object
rather than pure dictionary
* decodeValue() methods now have access to original substrate (to be able to
embed full encoding)
Diffstat (limited to 'pyasn1/codec/ber/encoder.py')
-rw-r--r-- | pyasn1/codec/ber/encoder.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pyasn1/codec/ber/encoder.py b/pyasn1/codec/ber/encoder.py index d7c749a..d2a55d0 100644 --- a/pyasn1/codec/ber/encoder.py +++ b/pyasn1/codec/ber/encoder.py @@ -157,7 +157,7 @@ class ObjectIdentifierEncoder(AbstractItemEncoder): index = 0 subid = oid[index] * 40 subid = subid + oid[index+1] - if 0 > subid > 0xff: + if subid < 0 or subid > 0xff: raise error.PyAsn1Error( 'Initial sub-ID overflow %s in OID %s' % (oid[index:], value) ) @@ -218,7 +218,9 @@ class ChoiceEncoder(AbstractItemEncoder): def encodeValue(self, encodeFun, value, defMode, maxChunkSize): return encodeFun(value.getComponent(), defMode, maxChunkSize), 1 -class AnyEncoder(OctetStringEncoder): pass +class AnyEncoder(OctetStringEncoder): + def encodeValue(self, encodeFun, value, defMode, maxChunkSize): + return str(value), defMode == 0 tagMap = { eoo.endOfOctets.tagSet: EndOfOctetsEncoder(), |