Index: third_party/twisted_8_1/twisted/conch/ssh/asn1.py |
diff --git a/third_party/twisted_8_1/twisted/conch/ssh/asn1.py b/third_party/twisted_8_1/twisted/conch/ssh/asn1.py |
deleted file mode 100644 |
index c6659102debfce773780e9bb7e176663a978f0ad..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/conch/ssh/asn1.py |
+++ /dev/null |
@@ -1,65 +0,0 @@ |
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories. |
-# See LICENSE for details. |
- |
-# |
- |
-""" |
-A basic ASN.1 parser to parse private SSH keys. |
- |
-Maintainer: U{Paul Swartz<mailto:z3p@twistedmatrix.com>} |
-""" |
- |
-from Crypto.Util import number |
- |
-def parse(data): |
- things = [] |
- while data: |
- t = ord(data[0]) |
- assert (t & 0xc0) == 0, 'not a universal value: 0x%02x' % t |
- #assert t & 0x20, 'not a constructed value: 0x%02x' % t |
- l = ord(data[1]) |
- assert data != 0x80, "shouldn't be an indefinite length" |
- if l & 0x80: # long form |
- ll = l & 0x7f |
- l = number.bytes_to_long(data[2:2+ll]) |
- s = 2 + ll |
- else: |
- s = 2 |
- body, data = data[s:s+l], data[s+l:] |
- t = t&(~0x20) |
- assert t in (SEQUENCE, INTEGER), 'bad type: 0x%02x' % t |
- if t == SEQUENCE: |
- things.append(parse(body)) |
- elif t == INTEGER: |
- #assert (ord(body[0])&0x80) == 0, "shouldn't have negative number" |
- things.append(number.bytes_to_long(body)) |
- if len(things) == 1: |
- return things[0] |
- return things |
- |
-def pack(data): |
- ret = '' |
- for part in data: |
- if type(part) in (type(()), type([])): |
- partData = pack(part) |
- partType = SEQUENCE|0x20 |
- elif type(part) in (type(1), type(1L)): |
- partData = number.long_to_bytes(part) |
- if ord(partData[0])&(0x80): |
- partData = '\x00' + partData |
- partType = INTEGER |
- else: |
- raise ValueError('unknown type %s' % (type(part),)) |
- |
- ret += chr(partType) |
- if len(partData) > 127: |
- l = number.long_to_bytes(len(partData)) |
- ret += chr(len(l)|0x80) + l |
- else: |
- ret += chr(len(partData)) |
- ret += partData |
- return ret |
- |
-INTEGER = 0x02 |
-SEQUENCE = 0x10 |
- |