| Index: third_party/gsutil/third_party/pyasn1/pyasn1/codec/der/encoder.py
|
| diff --git a/third_party/gsutil/third_party/pyasn1/pyasn1/codec/der/encoder.py b/third_party/gsutil/third_party/pyasn1/pyasn1/codec/der/encoder.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4e5faefad4d06078e04ea93e25c8cbb6f6d13086
|
| --- /dev/null
|
| +++ b/third_party/gsutil/third_party/pyasn1/pyasn1/codec/der/encoder.py
|
| @@ -0,0 +1,28 @@
|
| +# DER encoder
|
| +from pyasn1.type import univ
|
| +from pyasn1.codec.cer import encoder
|
| +
|
| +class SetOfEncoder(encoder.SetOfEncoder):
|
| + def _cmpSetComponents(self, c1, c2):
|
| + tagSet1 = isinstance(c1, univ.Choice) and \
|
| + c1.getEffectiveTagSet() or c1.getTagSet()
|
| + tagSet2 = isinstance(c2, univ.Choice) and \
|
| + c2.getEffectiveTagSet() or c2.getTagSet()
|
| + return cmp(tagSet1, tagSet2)
|
| +
|
| +tagMap = encoder.tagMap.copy()
|
| +tagMap.update({
|
| + # Overload CER encodrs with BER ones (a bit hackerish XXX)
|
| + univ.BitString.tagSet: encoder.encoder.BitStringEncoder(),
|
| + univ.OctetString.tagSet: encoder.encoder.OctetStringEncoder(),
|
| + # Set & SetOf have same tags
|
| + univ.SetOf().tagSet: SetOfEncoder()
|
| + })
|
| +
|
| +typeMap = encoder.typeMap
|
| +
|
| +class Encoder(encoder.Encoder):
|
| + def __call__(self, client, defMode=1, maxChunkSize=0):
|
| + return encoder.Encoder.__call__(self, client, defMode, maxChunkSize)
|
| +
|
| +encode = Encoder(tagMap, typeMap)
|
|
|