diff options
Diffstat (limited to 'scripts/automation/trex_control_plane/python_lib/dpkt-1.8.6.2/dpkt/gzip.py')
-rw-r--r-- | scripts/automation/trex_control_plane/python_lib/dpkt-1.8.6.2/dpkt/gzip.py | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/scripts/automation/trex_control_plane/python_lib/dpkt-1.8.6.2/dpkt/gzip.py b/scripts/automation/trex_control_plane/python_lib/dpkt-1.8.6.2/dpkt/gzip.py deleted file mode 100644 index e41165b2..00000000 --- a/scripts/automation/trex_control_plane/python_lib/dpkt-1.8.6.2/dpkt/gzip.py +++ /dev/null @@ -1,123 +0,0 @@ -# $Id: gzip.py 23 2006-11-08 15:45:33Z dugsong $ -# -*- coding: utf-8 -*- -"""GNU zip.""" - -import struct -import zlib -import dpkt - - -# RFC 1952 -GZIP_MAGIC = '\x1f\x8b' - -# Compression methods -GZIP_MSTORED = 0 -GZIP_MCOMPRESS = 1 -GZIP_MPACKED = 2 -GZIP_MLZHED = 3 -GZIP_MDEFLATE = 8 - -# Flags -GZIP_FTEXT = 0x01 -GZIP_FHCRC = 0x02 -GZIP_FEXTRA = 0x04 -GZIP_FNAME = 0x08 -GZIP_FCOMMENT = 0x10 -GZIP_FENCRYPT = 0x20 -GZIP_FRESERVED = 0xC0 - -# OS -GZIP_OS_MSDOS = 0 -GZIP_OS_AMIGA = 1 -GZIP_OS_VMS = 2 -GZIP_OS_UNIX = 3 -GZIP_OS_VMCMS = 4 -GZIP_OS_ATARI = 5 -GZIP_OS_OS2 = 6 -GZIP_OS_MACOS = 7 -GZIP_OS_ZSYSTEM = 8 -GZIP_OS_CPM = 9 -GZIP_OS_TOPS20 = 10 -GZIP_OS_WIN32 = 11 -GZIP_OS_QDOS = 12 -GZIP_OS_RISCOS = 13 -GZIP_OS_UNKNOWN = 255 - -GZIP_FENCRYPT_LEN = 12 - - -class GzipExtra(dpkt.Packet): - __hdr__ = ( - ('id', '2s', ''), - ('len', 'H', 0) - ) - - -class Gzip(dpkt.Packet): - __hdr__ = ( - ('magic', '2s', GZIP_MAGIC), - ('method', 'B', GZIP_MDEFLATE), - ('flags', 'B', 0), - ('mtime', 'I', 0), - ('xflags', 'B', 0), - ('os', 'B', GZIP_OS_UNIX), - - ('extra', '0s', ''), # XXX - GZIP_FEXTRA - ('filename', '0s', ''), # XXX - GZIP_FNAME - ('comment', '0s', '') # XXX - GZIP_FCOMMENT - ) - - def unpack(self, buf): - super(Gzip, self).unpack(buf) - if self.flags & GZIP_FEXTRA: - n = struct.unpack(self.data[:2], '>H')[0] - self.extra = GzipExtra(self.data[2:2 + n]) - self.data = self.data[2 + n:] - if self.flags & GZIP_FNAME: - n = self.data.find('\x00') - self.filename = self.data[:n] - self.data = self.data[n + 1:] - if self.flags & GZIP_FCOMMENT: - n = self.data.find('\x00') - self.comment = self.data[:n] - self.data = self.data[n + 1:] - if self.flags & GZIP_FENCRYPT: - self.data = self.data[GZIP_FENCRYPT_LEN:] # XXX - skip - if self.flags & GZIP_FHCRC: - self.data = self.data[2:] # XXX - skip - - def pack_hdr(self): - l = [] - if self.extra: - self.flags |= GZIP_FEXTRA - s = str(self.extra) - l.append(struct.pack('>H', len(s))) - l.append(s) - if self.filename: - self.flags |= GZIP_FNAME - l.append(self.filename) - l.append('\x00') - if self.comment: - self.flags |= GZIP_FCOMMENT - l.append(self.comment) - l.append('\x00') - l.insert(0, super(Gzip, self).pack_hdr()) - return ''.join(l) - - def compress(self): - """Compress self.data.""" - c = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS, - zlib.DEF_MEM_LEVEL, 0) - self.data = c.compress(self.data) - - def decompress(self): - """Return decompressed payload.""" - d = zlib.decompressobj(-zlib.MAX_WBITS) - return d.decompress(self.data) - - -if __name__ == '__main__': - import sys - - gz = Gzip(open(sys.argv[1]).read()) - print `gz`, `gz.decompress()` |