[arch-commits] Commit in mitmproxy/trunk (PKGBUILD kaitai-0.7.patch)

Felix Yan felixonmars at archlinux.org
Sun May 7 16:13:58 UTC 2017


    Date: Sunday, May 7, 2017 @ 16:13:57
  Author: felixonmars
Revision: 227275

upgpkg: mitmproxy 2.0.2-1

Added:
  mitmproxy/trunk/kaitai-0.7.patch
Modified:
  mitmproxy/trunk/PKGBUILD

------------------+
 PKGBUILD         |   11 -
 kaitai-0.7.patch |  406 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 413 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-05-07 16:12:28 UTC (rev 227274)
+++ PKGBUILD	2017-05-07 16:13:57 UTC (rev 227275)
@@ -4,7 +4,7 @@
 # Contributor: Olivier Biesmans <olivier at biesmans dot fr>
 
 pkgname=mitmproxy
-pkgver=2.0.1
+pkgver=2.0.2
 pkgrel=1
 pkgdesc="SSL-capable man-in-the-middle HTTP proxy"
 arch=('any')
@@ -23,9 +23,10 @@
 conflicts=('pathod')
 replaces=('pathod')
 source=("$pkgname-$pkgver.tar.gz::https://github.com/mitmproxy/mitmproxy/archive/v$pkgver.tar.gz"
-        fix-test.patch)
-sha256sums=('b0ccc49924762ea78290d62c463be8c041f1837f9005f583ad09c47122547e9d'
-            'f9fc3e3732ba1867b3a0befc7c15c52ddd6b32723fc348c42c1eae546d021f1f')
+        fix-test.patch kaitai-0.7.patch)
+sha512sums=('8a38340b3b1dd73c99c9e9b06a59bff78a23b2a851e1032ee0b7354ac46c834a3d005a67dc5238030570719eb5f842cb2a8ce64ffc7c5a01cbfa9a9511c08e66'
+            '7cd8f430779df708e0a923bba43c29fcd94b1dc4e40b2cd7a5f878475911e12917e1cb130ffabc2d1f4a1dfe9883dfe6d9c2ff9cdcd5210a8a0480830d33b5a6'
+            'a0fa449ddec32478123966845863f11e9dc3589e08be21e8fa6f5b89765a01fb03de689b84c82d5d44f84ad72ba7766587273fb4413a09950f06e388d57fb45d')
 
 prepare() {
   cd mitmproxy-$pkgver
@@ -33,6 +34,8 @@
   # https://github.com/mitmproxy/mitmproxy/pull/2170
   patch -p1 -i ../fix-test.patch
 
+  patch -p1 -i ../kaitai-0.7.patch
+
   # Let's remove all the upper bounds and use system certificate store
   sed -e '/certifi/d' \
       -e 's/, *<[0-9=.]*//' \

Added: kaitai-0.7.patch
===================================================================
--- kaitai-0.7.patch	                        (rev 0)
+++ kaitai-0.7.patch	2017-05-07 16:13:57 UTC (rev 227275)
@@ -0,0 +1,406 @@
+From dadb50946e3ac489451bda079730e09f84e54d5a Mon Sep 17 00:00:00 2001
+From: Thomas Kriechbaumer <thomas at kriechbaumer.name>
+Date: Sun, 16 Apr 2017 15:05:58 +0200
+Subject: [PATCH] update kaitai and recompile formats
+
+---
+ .gitignore                                   |  1 +
+ mitmproxy/contentviews/image/image_parser.py |  2 +-
+ mitmproxy/contrib/kaitaistruct/exif.py       | 12 ++++++++----
+ mitmproxy/contrib/kaitaistruct/exif_be.py    |  9 +++++++--
+ mitmproxy/contrib/kaitaistruct/exif_le.py    |  9 +++++++--
+ mitmproxy/contrib/kaitaistruct/gif.py        | 18 ++++++++++++------
+ mitmproxy/contrib/kaitaistruct/jpeg.py       | 16 +++++++++++-----
+ mitmproxy/contrib/kaitaistruct/make.sh       | 10 ++++++++++
+ mitmproxy/contrib/kaitaistruct/png.py        | 26 ++++++++++++++++----------
+ setup.py                                     |  2 +-
+ 10 files changed, 74 insertions(+), 31 deletions(-)
+ create mode 100755 mitmproxy/contrib/kaitaistruct/make.sh
+
+diff --git a/.gitignore b/.gitignore
+index c289ed5..915a81b 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -11,6 +11,7 @@ MANIFEST
+ .cache/
+ .tox*/
+ build/
++mitmproxy/contrib/kaitaistruct/*.ksy
+ 
+ # UI
+ 
+diff --git a/mitmproxy/contentviews/image/image_parser.py b/mitmproxy/contentviews/image/image_parser.py
+index 062fb38..7c74669 100644
+--- a/mitmproxy/contentviews/image/image_parser.py
++++ b/mitmproxy/contentviews/image/image_parser.py
+@@ -37,7 +37,7 @@ def parse_gif(data: bytes) -> Metadata:
+     descriptor = img.logical_screen_descriptor
+     parts = [
+         ('Format', 'Compuserve GIF'),
+-        ('Version', "GIF{}".format(img.header.version.decode('ASCII'))),
++        ('Version', "GIF{}".format(img.hdr.version)),
+         ('Size', "{} x {} px".format(descriptor.screen_width, descriptor.screen_height)),
+         ('background', str(descriptor.bg_color_index))
+     ]
+diff --git a/mitmproxy/contrib/kaitaistruct/exif.py b/mitmproxy/contrib/kaitaistruct/exif.py
+index 6236a70..2e8f1f9 100644
+--- a/mitmproxy/contrib/kaitaistruct/exif.py
++++ b/mitmproxy/contrib/kaitaistruct/exif.py
+@@ -1,16 +1,18 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was exif.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/24e2d00048b8084ceec30a187a79cb87a79a48ba/image/exif.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
+-from .exif_le import ExifLe
+-from .exif_be import ExifBe
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
++from exif_le import ExifLe
+ class Exif(KaitaiStruct):
+     def __init__(self, _io, _parent=None, _root=None):
+         self._io = _io
+@@ -22,3 +24,5 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.body = ExifLe(self._io)
+         elif _on == 19789:
+             self.body = ExifBe(self._io)
++
++
+diff --git a/mitmproxy/contrib/kaitaistruct/exif_be.py b/mitmproxy/contrib/kaitaistruct/exif_be.py
+index 7980a9e..8a6e7a2 100644
+--- a/mitmproxy/contrib/kaitaistruct/exif_be.py
++++ b/mitmproxy/contrib/kaitaistruct/exif_be.py
+@@ -1,14 +1,17 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was exif_be.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/24e2d00048b8084ceec30a187a79cb87a79a48ba/image/exif_be.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
+ class ExifBe(KaitaiStruct):
+     def __init__(self, _io, _parent=None, _root=None):
+         self._io = _io
+@@ -569,3 +572,5 @@ def ifd0(self):
+         self._m_ifd0 = self._root.Ifd(self._io, self, self._root)
+         self._io.seek(_pos)
+         return self._m_ifd0 if hasattr(self, '_m_ifd0') else None
++
++
+diff --git a/mitmproxy/contrib/kaitaistruct/exif_le.py b/mitmproxy/contrib/kaitaistruct/exif_le.py
+index 207b3be..84e53a3 100644
+--- a/mitmproxy/contrib/kaitaistruct/exif_le.py
++++ b/mitmproxy/contrib/kaitaistruct/exif_le.py
+@@ -1,14 +1,17 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was exif_le.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/24e2d00048b8084ceec30a187a79cb87a79a48ba/image/exif_le.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
+ class ExifLe(KaitaiStruct):
+     def __init__(self, _io, _parent=None, _root=None):
+         self._io = _io
+@@ -569,3 +572,5 @@ def ifd0(self):
+         self._m_ifd0 = self._root.Ifd(self._io, self, self._root)
+         self._io.seek(_pos)
+         return self._m_ifd0 if hasattr(self, '_m_ifd0') else None
++
++
+diff --git a/mitmproxy/contrib/kaitaistruct/gif.py b/mitmproxy/contrib/kaitaistruct/gif.py
+index 61499cc..820df56 100644
+--- a/mitmproxy/contrib/kaitaistruct/gif.py
++++ b/mitmproxy/contrib/kaitaistruct/gif.py
+@@ -1,14 +1,17 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was png.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/562154250bea0081fed4e232751b934bc270a0c7/image/gif.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
+ class Gif(KaitaiStruct):
+ 
+     class BlockType(Enum):
+@@ -24,8 +27,8 @@ def __init__(self, _io, _parent=None, _root=None):
+         self._io = _io
+         self._parent = _parent
+         self._root = _root if _root else self
+-        self.header = self._root.Header(self._io, self, self._root)
+-        self.logical_screen_descriptor = self._root.LogicalScreenDescriptor(self._io, self, self._root)
++        self.hdr = self._root.Header(self._io, self, self._root)
++        self.logical_screen_descriptor = self._root.LogicalScreenDescriptorStruct(self._io, self, self._root)
+         if self.logical_screen_descriptor.has_color_table:
+             self._raw_global_color_table = self._io.read_bytes((self.logical_screen_descriptor.color_table_size * 3))
+             io = KaitaiStream(BytesIO(self._raw_global_color_table))
+@@ -55,7 +58,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.blue = self._io.read_u1()
+ 
+ 
+-    class LogicalScreenDescriptor(KaitaiStruct):
++    class LogicalScreenDescriptorStruct(KaitaiStruct):
+         def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+@@ -163,7 +166,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._parent = _parent
+             self._root = _root if _root else self
+             self.magic = self._io.ensure_fixed_contents(struct.pack('3b', 71, 73, 70))
+-            self.version = self._io.read_bytes(3)
++            self.version = (self._io.read_bytes(3)).decode(u"ASCII")
+ 
+ 
+     class ExtGraphicControl(KaitaiStruct):
+@@ -245,3 +248,6 @@ def __init__(self, _io, _parent=None, _root=None):
+                 self.body = self._root.ExtGraphicControl(self._io, self, self._root)
+             else:
+                 self.body = self._root.Subblocks(self._io, self, self._root)
++
++
++
+diff --git a/mitmproxy/contrib/kaitaistruct/jpeg.py b/mitmproxy/contrib/kaitaistruct/jpeg.py
+index 08e382a..a49c83b 100644
+--- a/mitmproxy/contrib/kaitaistruct/jpeg.py
++++ b/mitmproxy/contrib/kaitaistruct/jpeg.py
+@@ -1,15 +1,18 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was jpeg.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/24e2d00048b8084ceec30a187a79cb87a79a48ba/image/jpeg.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
+-from .exif import Exif
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
++from exif import Exif
+ class Jpeg(KaitaiStruct):
+ 
+     class ComponentId(Enum):
+@@ -127,7 +130,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+             self._root = _root if _root else self
+-            self.magic = self._io.read_strz("ASCII", 0, False, True, True)
++            self.magic = (self._io.read_bytes_term(0, False, True, True)).decode(u"ASCII")
+             _on = self.magic
+             if _on == u"Exif":
+                 self.body = self._root.ExifInJpeg(self._io, self, self._root)
+@@ -195,7 +198,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+             self._root = _root if _root else self
+-            self.magic = self._io.read_str_byte_limit(5, "ASCII")
++            self.magic = (self._io.read_bytes(5)).decode(u"ASCII")
+             self.version_major = self._io.read_u1()
+             self.version_minor = self._io.read_u1()
+             self.density_units = self._root.SegmentApp0.DensityUnit(self._io.read_u1())
+@@ -204,3 +207,6 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.thumbnail_x = self._io.read_u1()
+             self.thumbnail_y = self._io.read_u1()
+             self.thumbnail = self._io.read_bytes(((self.thumbnail_x * self.thumbnail_y) * 3))
++
++
++
+diff --git a/mitmproxy/contrib/kaitaistruct/make.sh b/mitmproxy/contrib/kaitaistruct/make.sh
+new file mode 100755
+index 0000000..218d519
+--- /dev/null
++++ b/mitmproxy/contrib/kaitaistruct/make.sh
+@@ -0,0 +1,10 @@
++#!/usr/bin/env bash
++
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif_be.ksy
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif_le.ksy
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif.ksy
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/gif.ksy
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/jpeg.ksy
++wget -N https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/png.ksy
++
++kaitai-struct-compiler --target python --opaque-types=true *.ksy
+diff --git a/mitmproxy/contrib/kaitaistruct/png.py b/mitmproxy/contrib/kaitaistruct/png.py
+index 2f3c1a5..98a7069 100644
+--- a/mitmproxy/contrib/kaitaistruct/png.py
++++ b/mitmproxy/contrib/kaitaistruct/png.py
+@@ -1,14 +1,17 @@
+ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
+-# The source was png.ksy from here - https://github.com/kaitai-io/kaitai_struct_formats/blob/9370c720b7d2ad329102d89bdc880ba6a706ef26/image/png.ksy
+ 
+ import array
+ import struct
+ import zlib
+ from enum import Enum
++from pkg_resources import parse_version
+ 
+-from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
++from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO
+ 
+ 
++if parse_version(ks_version) < parse_version('0.7'):
++    raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
++
+ class Png(KaitaiStruct):
+ 
+     class ColorType(Enum):
+@@ -51,7 +54,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._parent = _parent
+             self._root = _root if _root else self
+             self.len = self._io.read_u4be()
+-            self.type = self._io.read_str_byte_limit(4, "UTF-8")
++            self.type = (self._io.read_bytes(4)).decode(u"UTF-8")
+             _on = self.type
+             if _on == u"iTXt":
+                 self._raw_body = self._io.read_bytes(self.len)
+@@ -194,7 +197,7 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+             self._root = _root if _root else self
+-            self.keyword = self._io.read_strz("UTF-8", 0, False, True, True)
++            self.keyword = (self._io.read_bytes_term(0, False, True, True)).decode(u"UTF-8")
+             self.compression_method = self._io.read_u1()
+             self._raw_text_datastream = self._io.read_bytes_full()
+             self.text_datastream = zlib.decompress(self._raw_text_datastream)
+@@ -259,12 +262,12 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+             self._root = _root if _root else self
+-            self.keyword = self._io.read_strz("UTF-8", 0, False, True, True)
++            self.keyword = (self._io.read_bytes_term(0, False, True, True)).decode(u"UTF-8")
+             self.compression_flag = self._io.read_u1()
+             self.compression_method = self._io.read_u1()
+-            self.language_tag = self._io.read_strz("ASCII", 0, False, True, True)
+-            self.translated_keyword = self._io.read_strz("UTF-8", 0, False, True, True)
+-            self.text = self._io.read_str_eos("UTF-8")
++            self.language_tag = (self._io.read_bytes_term(0, False, True, True)).decode(u"ASCII")
++            self.translated_keyword = (self._io.read_bytes_term(0, False, True, True)).decode(u"UTF-8")
++            self.text = (self._io.read_bytes_full()).decode(u"UTF-8")
+ 
+ 
+     class TextChunk(KaitaiStruct):
+@@ -272,8 +275,8 @@ def __init__(self, _io, _parent=None, _root=None):
+             self._io = _io
+             self._parent = _parent
+             self._root = _root if _root else self
+-            self.keyword = self._io.read_strz("iso8859-1", 0, False, True, True)
+-            self.text = self._io.read_str_eos("iso8859-1")
++            self.keyword = (self._io.read_bytes_term(0, False, True, True)).decode(u"iso8859-1")
++            self.text = (self._io.read_bytes_full()).decode(u"iso8859-1")
+ 
+ 
+     class TimeChunk(KaitaiStruct):
+@@ -287,3 +290,6 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.hour = self._io.read_u1()
+             self.minute = self._io.read_u1()
+             self.second = self._io.read_u1()
++
++
++
+diff --git a/setup.py b/setup.py
+index a758a31..cb25454 100644
+--- a/setup.py
++++ b/setup.py
+@@ -70,7 +70,7 @@
+         "html2text>=2016.1.8, <=2016.9.19",
+         "hyperframe>=5.0, <6",
+         "jsbeautifier>=1.6.3, <1.7",
+-        "kaitaistruct>=0.6, <0.7",
++        "kaitaistruct>=0.7, <0.8",
+         "passlib>=1.6.5, <1.8",
+         "pyasn1>=0.1.9, <0.3",
+         "pyOpenSSL>=16.0, <17.0",
+From 83a428e0b712a5283525db911acb68d393c64fcb Mon Sep 17 00:00:00 2001
+From: Thomas Kriechbaumer <thomas at kriechbaumer.name>
+Date: Sun, 16 Apr 2017 15:17:29 +0200
+Subject: [PATCH] manually fix imports
+
+---
+ mitmproxy/contrib/kaitaistruct/exif.py | 6 +++---
+ mitmproxy/contrib/kaitaistruct/jpeg.py | 6 ++----
+ 2 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/mitmproxy/contrib/kaitaistruct/exif.py b/mitmproxy/contrib/kaitaistruct/exif.py
+index 2e8f1f9..d99ccee 100644
+--- a/mitmproxy/contrib/kaitaistruct/exif.py
++++ b/mitmproxy/contrib/kaitaistruct/exif.py
+@@ -12,7 +12,9 @@
+ if parse_version(ks_version) < parse_version('0.7'):
+     raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
+ 
+-from exif_le import ExifLe
++from .exif_le import ExifLe
++from .exif_be import ExifBe
++
+ class Exif(KaitaiStruct):
+     def __init__(self, _io, _parent=None, _root=None):
+         self._io = _io
+@@ -24,5 +26,3 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.body = ExifLe(self._io)
+         elif _on == 19789:
+             self.body = ExifBe(self._io)
+-
+-
+diff --git a/mitmproxy/contrib/kaitaistruct/jpeg.py b/mitmproxy/contrib/kaitaistruct/jpeg.py
+index a49c83b..33fc012 100644
+--- a/mitmproxy/contrib/kaitaistruct/jpeg.py
++++ b/mitmproxy/contrib/kaitaistruct/jpeg.py
+@@ -12,7 +12,8 @@
+ if parse_version(ks_version) < parse_version('0.7'):
+     raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version))
+ 
+-from exif import Exif
++from .exif import Exif
++
+ class Jpeg(KaitaiStruct):
+ 
+     class ComponentId(Enum):
+@@ -207,6 +208,3 @@ def __init__(self, _io, _parent=None, _root=None):
+             self.thumbnail_x = self._io.read_u1()
+             self.thumbnail_y = self._io.read_u1()
+             self.thumbnail = self._io.read_bytes(((self.thumbnail_x * self.thumbnail_y) * 3))
+-
+-
+-



More information about the arch-commits mailing list