diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2015-05-30 12:02:58 +1200 | 
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2015-05-30 12:02:58 +1200 | 
| commit | f76bfabc5d4ce36c56b1d1fd571728ee06f37b78 (patch) | |
| tree | d9baea0647598db1eb0c0898ed90e72f4333b80e /netlib | |
| parent | 5e4850d3b3056d90a798d1563f0a619c5ef37e8c (diff) | |
| download | mitmproxy-f76bfabc5d4ce36c56b1d1fd571728ee06f37b78.tar.gz mitmproxy-f76bfabc5d4ce36c56b1d1fd571728ee06f37b78.tar.bz2 mitmproxy-f76bfabc5d4ce36c56b1d1fd571728ee06f37b78.zip | |
Adjust pep8 parameters, reformat
Diffstat (limited to 'netlib')
| -rw-r--r-- | netlib/certutils.py | 75 | ||||
| -rw-r--r-- | netlib/h2/frame.py | 127 | ||||
| -rw-r--r-- | netlib/h2/h2.py | 8 | ||||
| -rw-r--r-- | netlib/http.py | 3 | ||||
| -rw-r--r-- | netlib/http_uastrings.py | 91 | ||||
| -rw-r--r-- | netlib/tcp.py | 42 | ||||
| -rw-r--r-- | netlib/test.py | 4 | ||||
| -rw-r--r-- | netlib/wsgi.py | 3 | 
8 files changed, 236 insertions, 117 deletions
| diff --git a/netlib/certutils.py b/netlib/certutils.py index abf1a28b..ade61bb5 100644 --- a/netlib/certutils.py +++ b/netlib/certutils.py @@ -96,7 +96,8 @@ def dummy_cert(privkey, cacert, commonname, sans):      cert.set_serial_number(int(time.time() * 10000))      if ss:          cert.set_version(2) -        cert.add_extensions([OpenSSL.crypto.X509Extension("subjectAltName", False, ss)]) +        cert.add_extensions( +            [OpenSSL.crypto.X509Extension("subjectAltName", False, ss)])      cert.set_pubkey(cacert.get_pubkey())      cert.sign(privkey, "sha256")      return SSLCert(cert) @@ -156,7 +157,12 @@ class CertStore(object):          Implements an in-memory certificate store.      """ -    def __init__(self, default_privatekey, default_ca, default_chain_file, dhparams): +    def __init__( +            self, +            default_privatekey, +            default_ca, +            default_chain_file, +            dhparams):          self.default_privatekey = default_privatekey          self.default_ca = default_ca          self.default_chain_file = default_chain_file @@ -176,8 +182,10 @@ class CertStore(object):          if bio != OpenSSL.SSL._ffi.NULL:              bio = OpenSSL.SSL._ffi.gc(bio, OpenSSL.SSL._lib.BIO_free)              dh = OpenSSL.SSL._lib.PEM_read_bio_DHparams( -                bio, OpenSSL.SSL._ffi.NULL, OpenSSL.SSL._ffi.NULL, OpenSSL.SSL._ffi.NULL -            ) +                bio, +                OpenSSL.SSL._ffi.NULL, +                OpenSSL.SSL._ffi.NULL, +                OpenSSL.SSL._ffi.NULL)              dh = OpenSSL.SSL._ffi.gc(dh, OpenSSL.SSL._lib.DH_free)              return dh @@ -189,8 +197,12 @@ class CertStore(object):          else:              with open(ca_path, "rb") as f:                  raw = f.read() -            ca = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, raw) -            key = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, raw) +            ca = OpenSSL.crypto.load_certificate( +                OpenSSL.crypto.FILETYPE_PEM, +                raw) +            key = OpenSSL.crypto.load_privatekey( +                OpenSSL.crypto.FILETYPE_PEM, +                raw)          dh_path = os.path.join(path, basename + "-dhparam.pem")          dh = cls.load_dhparam(dh_path)          return cls(key, ca, ca_path, dh) @@ -206,16 +218,28 @@ class CertStore(object):          key, ca = create_ca(o=o, cn=cn, exp=expiry)          # Dump the CA plus private key          with open(os.path.join(path, basename + "-ca.pem"), "wb") as f: -            f.write(OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM, key)) -            f.write(OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, ca)) +            f.write( +                OpenSSL.crypto.dump_privatekey( +                    OpenSSL.crypto.FILETYPE_PEM, +                    key)) +            f.write( +                OpenSSL.crypto.dump_certificate( +                    OpenSSL.crypto.FILETYPE_PEM, +                    ca))          # Dump the certificate in PEM format          with open(os.path.join(path, basename + "-ca-cert.pem"), "wb") as f: -            f.write(OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, ca)) +            f.write( +                OpenSSL.crypto.dump_certificate( +                    OpenSSL.crypto.FILETYPE_PEM, +                    ca))          # Create a .cer file with the same contents for Android          with open(os.path.join(path, basename + "-ca-cert.cer"), "wb") as f: -            f.write(OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, ca)) +            f.write( +                OpenSSL.crypto.dump_certificate( +                    OpenSSL.crypto.FILETYPE_PEM, +                    ca))          # Dump the certificate in PKCS12 format for Windows devices          with open(os.path.join(path, basename + "-ca-cert.p12"), "wb") as f: @@ -232,9 +256,14 @@ class CertStore(object):      def add_cert_file(self, spec, path):          with open(path, "rb") as f:              raw = f.read() -        cert = SSLCert(OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, raw)) +        cert = SSLCert( +            OpenSSL.crypto.load_certificate( +                OpenSSL.crypto.FILETYPE_PEM, +                raw))          try: -            privatekey = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, raw) +            privatekey = OpenSSL.crypto.load_privatekey( +                OpenSSL.crypto.FILETYPE_PEM, +                raw)          except Exception:              privatekey = self.default_privatekey          self.add_cert( @@ -284,15 +313,22 @@ class CertStore(object):              potential_keys.extend(self.asterisk_forms(s))          potential_keys.append((commonname, tuple(sans))) -        name = next(itertools.ifilter(lambda key: key in self.certs, potential_keys), None) +        name = next( +            itertools.ifilter( +                lambda key: key in self.certs, +                potential_keys), +            None)          if name:              entry = self.certs[name]          else:              entry = CertStoreEntry( -                cert=dummy_cert(self.default_privatekey, self.default_ca, commonname, sans), +                cert=dummy_cert( +                    self.default_privatekey, +                    self.default_ca, +                    commonname, +                    sans),                  privatekey=self.default_privatekey, -                chain_file=self.default_chain_file -            ) +                chain_file=self.default_chain_file)              self.certs[(commonname, tuple(sans))] = entry          return entry.cert, entry.privatekey, entry.chain_file @@ -317,7 +353,8 @@ class _GeneralName(univ.Choice):  class _GeneralNames(univ.SequenceOf):      componentType = _GeneralName() -    sizeSpec = univ.SequenceOf.sizeSpec + constraint.ValueSizeConstraint(1, 1024) +    sizeSpec = univ.SequenceOf.sizeSpec + \ +        constraint.ValueSizeConstraint(1, 1024)  class SSLCert(object): @@ -345,7 +382,9 @@ class SSLCert(object):          return klass.from_pem(pem)      def to_pem(self): -        return OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, self.x509) +        return OpenSSL.crypto.dump_certificate( +            OpenSSL.crypto.FILETYPE_PEM, +            self.x509)      def digest(self, name):          return self.x509.digest(name) diff --git a/netlib/h2/frame.py b/netlib/h2/frame.py index d4294052..36456c46 100644 --- a/netlib/h2/frame.py +++ b/netlib/h2/frame.py @@ -94,7 +94,13 @@ class DataFrame(Frame):      TYPE = 0x0      VALID_FLAGS = [Frame.FLAG_END_STREAM, Frame.FLAG_PADDED] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, payload=b'', pad_length=0): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            payload=b'', +            pad_length=0):          super(DataFrame, self).__init__(length, flags, stream_id)          self.payload = payload          self.pad_length = pad_length @@ -132,9 +138,22 @@ class DataFrame(Frame):  class HeadersFrame(Frame):      TYPE = 0x1 -    VALID_FLAGS = [Frame.FLAG_END_STREAM, Frame.FLAG_END_HEADERS, Frame.FLAG_PADDED, Frame.FLAG_PRIORITY] - -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, headers=None, pad_length=0, exclusive=False, stream_dependency=0x0, weight=0): +    VALID_FLAGS = [ +        Frame.FLAG_END_STREAM, +        Frame.FLAG_END_HEADERS, +        Frame.FLAG_PADDED, +        Frame.FLAG_PRIORITY] + +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            headers=None, +            pad_length=0, +            exclusive=False, +            stream_dependency=0x0, +            weight=0):          super(HeadersFrame, self).__init__(length, flags, stream_id)          if headers is None: @@ -157,7 +176,9 @@ class HeadersFrame(Frame):              header_block_fragment = payload[0:]          if f.flags & self.FLAG_PRIORITY: -            f.stream_dependency, f.weight = struct.unpack('!LB', header_block_fragment[:5]) +            f.stream_dependency, f.weight = struct.unpack( +                '!LB', header_block_fragment[ +                    :5])              f.exclusive = bool(f.stream_dependency >> 31)              f.stream_dependency &= 0x7FFFFFFF              header_block_fragment = header_block_fragment[5:] @@ -176,7 +197,9 @@ class HeadersFrame(Frame):              b += struct.pack('!B', self.pad_length)          if self.flags & self.FLAG_PRIORITY: -            b += struct.pack('!LB', (int(self.exclusive) << 31) | self.stream_dependency, self.weight) +            b += struct.pack('!LB', +                             (int(self.exclusive) << 31) | self.stream_dependency, +                             self.weight)          b += Encoder().encode(self.headers) @@ -209,7 +232,14 @@ class PriorityFrame(Frame):      TYPE = 0x2      VALID_FLAGS = [] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, exclusive=False, stream_dependency=0x0, weight=0): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            exclusive=False, +            stream_dependency=0x0, +            weight=0):          super(PriorityFrame, self).__init__(length, flags, stream_id)          self.exclusive = exclusive          self.stream_dependency = stream_dependency @@ -227,12 +257,17 @@ class PriorityFrame(Frame):      def payload_bytes(self):          if self.stream_id == 0x0: -            raise ValueError('PRIORITY frames MUST be associated with a stream.') +            raise ValueError( +                'PRIORITY frames MUST be associated with a stream.')          if self.stream_dependency == 0x0:              raise ValueError('stream dependency is invalid.') -        return struct.pack('!LB', (int(self.exclusive) << 31) | self.stream_dependency, self.weight) +        return struct.pack( +            '!LB', +            (int( +                self.exclusive) << 31) | self.stream_dependency, +            self.weight)      def payload_human_readable(self):          s = [] @@ -246,7 +281,12 @@ class RstStreamFrame(Frame):      TYPE = 0x3      VALID_FLAGS = [] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, error_code=0x0): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            error_code=0x0):          super(RstStreamFrame, self).__init__(length, flags, stream_id)          self.error_code = error_code @@ -258,7 +298,8 @@ class RstStreamFrame(Frame):      def payload_bytes(self):          if self.stream_id == 0x0: -            raise ValueError('RST_STREAM frames MUST be associated with a stream.') +            raise ValueError( +                'RST_STREAM frames MUST be associated with a stream.')          return struct.pack('!L', self.error_code) @@ -279,7 +320,12 @@ class SettingsFrame(Frame):          SETTINGS_MAX_HEADER_LIST_SIZE=0x6,      ) -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, settings=None): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            settings=None):          super(SettingsFrame, self).__init__(length, flags, stream_id)          if settings is None: @@ -299,7 +345,8 @@ class SettingsFrame(Frame):      def payload_bytes(self):          if self.stream_id != 0x0: -            raise ValueError('SETTINGS frames MUST NOT be associated with a stream.') +            raise ValueError( +                'SETTINGS frames MUST NOT be associated with a stream.')          b = b''          for identifier, value in self.settings.items(): @@ -323,7 +370,14 @@ class PushPromiseFrame(Frame):      TYPE = 0x5      VALID_FLAGS = [Frame.FLAG_END_HEADERS, Frame.FLAG_PADDED] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, promised_stream=0x0, header_block_fragment=b'', pad_length=0): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            promised_stream=0x0, +            header_block_fragment=b'', +            pad_length=0):          super(PushPromiseFrame, self).__init__(length, flags, stream_id)          self.pad_length = pad_length          self.promised_stream = promised_stream @@ -346,7 +400,8 @@ class PushPromiseFrame(Frame):      def payload_bytes(self):          if self.stream_id == 0x0: -            raise ValueError('PUSH_PROMISE frames MUST be associated with a stream.') +            raise ValueError( +                'PUSH_PROMISE frames MUST be associated with a stream.')          if self.promised_stream == 0x0:              raise ValueError('Promised stream id not valid.') @@ -378,7 +433,12 @@ class PingFrame(Frame):      TYPE = 0x6      VALID_FLAGS = [Frame.FLAG_ACK] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, payload=b''): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            payload=b''):          super(PingFrame, self).__init__(length, flags, stream_id)          self.payload = payload @@ -390,7 +450,8 @@ class PingFrame(Frame):      def payload_bytes(self):          if self.stream_id != 0x0: -            raise ValueError('PING frames MUST NOT be associated with a stream.') +            raise ValueError( +                'PING frames MUST NOT be associated with a stream.')          b = self.payload[0:8]          b += b'\0' * (8 - len(b)) @@ -404,7 +465,14 @@ class GoAwayFrame(Frame):      TYPE = 0x7      VALID_FLAGS = [] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, last_stream=0x0, error_code=0x0, data=b''): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            last_stream=0x0, +            error_code=0x0, +            data=b''):          super(GoAwayFrame, self).__init__(length, flags, stream_id)          self.last_stream = last_stream          self.error_code = error_code @@ -422,7 +490,8 @@ class GoAwayFrame(Frame):      def payload_bytes(self):          if self.stream_id != 0x0: -            raise ValueError('GOAWAY frames MUST NOT be associated with a stream.') +            raise ValueError( +                'GOAWAY frames MUST NOT be associated with a stream.')          b = struct.pack('!LL', self.last_stream & 0x7FFFFFFF, self.error_code)          b += bytes(self.data) @@ -440,7 +509,12 @@ class WindowUpdateFrame(Frame):      TYPE = 0x8      VALID_FLAGS = [] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, window_size_increment=0x0): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            window_size_increment=0x0):          super(WindowUpdateFrame, self).__init__(length, flags, stream_id)          self.window_size_increment = window_size_increment @@ -455,7 +529,8 @@ class WindowUpdateFrame(Frame):      def payload_bytes(self):          if self.window_size_increment <= 0 or self.window_size_increment >= 2 ** 31: -            raise ValueError('Window Szie Increment MUST be greater than 0 and less than 2^31.') +            raise ValueError( +                'Window Szie Increment MUST be greater than 0 and less than 2^31.')          return struct.pack('!L', self.window_size_increment & 0x7FFFFFFF) @@ -467,7 +542,12 @@ class ContinuationFrame(Frame):      TYPE = 0x9      VALID_FLAGS = [Frame.FLAG_END_HEADERS] -    def __init__(self, length=0, flags=Frame.FLAG_NO_FLAGS, stream_id=0x0, header_block_fragment=b''): +    def __init__( +            self, +            length=0, +            flags=Frame.FLAG_NO_FLAGS, +            stream_id=0x0, +            header_block_fragment=b''):          super(ContinuationFrame, self).__init__(length, flags, stream_id)          self.header_block_fragment = header_block_fragment @@ -479,7 +559,8 @@ class ContinuationFrame(Frame):      def payload_bytes(self):          if self.stream_id == 0x0: -            raise ValueError('CONTINUATION frames MUST be associated with a stream.') +            raise ValueError( +                'CONTINUATION frames MUST be associated with a stream.')          return self.header_block_fragment diff --git a/netlib/h2/h2.py b/netlib/h2/h2.py index bfe5832b..707b1465 100644 --- a/netlib/h2/h2.py +++ b/netlib/h2/h2.py @@ -44,7 +44,9 @@ class H2Client(tcp.TCPClient):          alp = self.get_alpn_proto_negotiated()          if alp != b'h2': -            raise NotImplementedError("H2Client can not handle unknown protocol: %s" % alp) +            raise NotImplementedError( +                "H2Client can not handle unknown protocol: %s" % +                alp)          print "-> Successfully negotiated 'h2' application layer protocol."          if send_preface: @@ -79,7 +81,9 @@ class H2Client(tcp.TCPClient):              self.settings[setting] = value              print "-> Setting changed: %s to %d (was %s)" % -                (SettingsFrame.SETTINGS.get_name(setting), value, str(old_value)) +                (SettingsFrame.SETTINGS.get_name(setting), +                 value, +                 str(old_value))          self.send_frame(SettingsFrame(flags=Frame.FLAG_ACK))          print "-> New settings acknowledged." diff --git a/netlib/http.py b/netlib/http.py index 47658097..a2af9e49 100644 --- a/netlib/http.py +++ b/netlib/http.py @@ -124,7 +124,8 @@ def read_chunked(fp, limit, is_request):          May raise HttpError.      """      # FIXME: Should check if chunked is the final encoding in the headers -    # http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-16#section-3.3 3.3 2. +    # http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-16#section-3.3 +    # 3.3 2.      total = 0      code = 400 if is_request else 502      while True: diff --git a/netlib/http_uastrings.py b/netlib/http_uastrings.py index d0d145da..d9869531 100644 --- a/netlib/http_uastrings.py +++ b/netlib/http_uastrings.py @@ -8,66 +8,37 @@ from __future__ import (absolute_import, print_function, division)  # A collection of (name, shortcut, string) tuples.  UASTRINGS = [ -    ( -        "android", -        "a", -        "Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Nexus 7 Build/JRO03D) AFL/01.04.02" -    ), - -    ( -        "blackberry", -        "l", -        "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+" -    ), - -    ( -        "bingbot", -        "b", -        "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" -    ), - -    ( -        "chrome", -        "c", -        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" -    ), - -    ( -        "firefox", -        "f", -        "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120405 Firefox/14.0a1" -    ), - -    ( -        "googlebot", -        "g", -        "Googlebot/2.1 (+http://www.googlebot.com/bot.html)" -    ), - -    ( -        "ie9", -        "i", -        "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))" -    ), - -    ( -        "ipad", -        "p", -        "Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3" -    ), - -    ( -        "iphone", -        "h", -        "Mozilla/5.0 (iPhone; CPU iPhone OS 4_2_1 like Mac OS X) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5", -    ), - -    ( -        "safari", -        "s", -        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" -    ) -] +    ("android", +     "a", +     "Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Nexus 7 Build/JRO03D) AFL/01.04.02"), +    ("blackberry", +     "l", +     "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+"), +    ("bingbot", +     "b", +     "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"), +    ("chrome", +     "c", +     "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"), +    ("firefox", +     "f", +     "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120405 Firefox/14.0a1"), +    ("googlebot", +     "g", +     "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"), +    ("ie9", +     "i", +     "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))"), +    ("ipad", +     "p", +     "Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3"), +    ("iphone", +     "h", +     "Mozilla/5.0 (iPhone; CPU iPhone OS 4_2_1 like Mac OS X) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5", +     ), +    ("safari", +     "s", +     "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10")]  def get_by_shortcut(s): diff --git a/netlib/tcp.py b/netlib/tcp.py index fc2c144e..a705c95b 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -48,7 +48,8 @@ class SSLKeyLogger(object):          self.f = None          self.lock = threading.Lock() -    __name__ = "SSLKeyLogger"  # required for functools.wraps, which pyOpenSSL uses. +    # required for functools.wraps, which pyOpenSSL uses. +    __name__ = "SSLKeyLogger"      def __call__(self, connection, where, ret):          if where == SSL.SSL_CB_HANDSHAKE_DONE and ret == 1: @@ -61,7 +62,10 @@ class SSLKeyLogger(object):                      self.f.write("\r\n")                  client_random = connection.client_random().encode("hex")                  masterkey = connection.master_key().encode("hex") -                self.f.write("CLIENT_RANDOM {} {}\r\n".format(client_random, masterkey)) +                self.f.write( +                    "CLIENT_RANDOM {} {}\r\n".format( +                        client_random, +                        masterkey))                  self.f.flush()      def close(self): @@ -75,7 +79,8 @@ class SSLKeyLogger(object):              return SSLKeyLogger(filename)          return False -log_ssl_key = SSLKeyLogger.create_logfun(os.getenv("MITMPROXY_SSLKEYLOGFILE") or os.getenv("SSLKEYLOGFILE")) +log_ssl_key = SSLKeyLogger.create_logfun( +    os.getenv("MITMPROXY_SSLKEYLOGFILE") or os.getenv("SSLKEYLOGFILE"))  class _FileLike(object): @@ -378,7 +383,8 @@ class _Connection(object):          # Workaround for          # https://github.com/pyca/pyopenssl/issues/190          # https://github.com/mitmproxy/mitmproxy/issues/472 -        context.set_mode(SSL._lib.SSL_MODE_AUTO_RETRY)  # Options already set before are not cleared. +        # Options already set before are not cleared. +        context.set_mode(SSL._lib.SSL_MODE_AUTO_RETRY)          # Cipher List          if cipher_list: @@ -420,14 +426,17 @@ class TCPClient(_Connection):      def __init__(self, address, source_address=None):          self.address = Address.wrap(address) -        self.source_address = Address.wrap(source_address) if source_address else None +        self.source_address = Address.wrap( +            source_address) if source_address else None          self.connection, self.rfile, self.wfile = None, None, None          self.cert = None          self.ssl_established = False          self.sni = None      def create_ssl_context(self, cert=None, alpn_protos=None, **sslctx_kwargs): -        context = self._create_ssl_context(alpn_protos=alpn_protos, **sslctx_kwargs) +        context = self._create_ssl_context( +            alpn_protos=alpn_protos, +            **sslctx_kwargs)          # Client Certs          if cert:              try: @@ -443,7 +452,9 @@ class TCPClient(_Connection):              options: A bit field consisting of OpenSSL.SSL.OP_* values          """ -        context = self.create_ssl_context(alpn_protos=alpn_protos, **sslctx_kwargs) +        context = self.create_ssl_context( +            alpn_protos=alpn_protos, +            **sslctx_kwargs)          self.connection = SSL.Connection(context, self.connection)          if sni:              self.sni = sni @@ -469,7 +480,9 @@ class TCPClient(_Connection):              self.rfile = Reader(connection.makefile('rb', self.rbufsize))              self.wfile = Writer(connection.makefile('wb', self.wbufsize))          except (socket.error, IOError) as err: -            raise NetLibError('Error connecting to "%s": %s' % (self.address.host, err)) +            raise NetLibError( +                'Error connecting to "%s": %s' % +                (self.address.host, err))          self.connection = connection      def settimeout(self, n): @@ -535,7 +548,9 @@ class BaseHandler(_Connection):              until then we're conservative.          """ -        context = self._create_ssl_context(alpn_select=alpn_select, **sslctx_kwargs) +        context = self._create_ssl_context( +            alpn_select=alpn_select, +            **sslctx_kwargs)          context.use_privatekey(key)          context.use_certificate(cert.x509) @@ -566,7 +581,11 @@ class BaseHandler(_Connection):          For a list of parameters, see BaseHandler._create_ssl_context(...)          """ -        context = self.create_ssl_context(cert, key, alpn_select=alpn_select, **sslctx_kwargs) +        context = self.create_ssl_context( +            cert, +            key, +            alpn_select=alpn_select, +            **sslctx_kwargs)          self.connection = SSL.Connection(context, self.connection)          self.connection.set_accept_state()          try: @@ -611,7 +630,8 @@ class TCPServer(object):          try:              while not self.__shutdown_request:                  try: -                    r, w, e = select.select([self.socket], [], [], poll_interval) +                    r, w, e = select.select( +                        [self.socket], [], [], poll_interval)                  except select.error as ex:  # pragma: no cover                      if ex[0] == EINTR:                          continue diff --git a/netlib/test.py b/netlib/test.py index 63b493a9..14f50157 100644 --- a/netlib/test.py +++ b/netlib/test.py @@ -67,7 +67,9 @@ class TServer(tcp.TCPServer):                  file(self.ssl["cert"], "rb").read()              )              raw = file(self.ssl["key"], "rb").read() -            key = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, raw) +            key = OpenSSL.crypto.load_privatekey( +                OpenSSL.crypto.FILETYPE_PEM, +                raw)              if self.ssl["v3_only"]:                  method = tcp.SSLv3_METHOD                  options = OpenSSL.SSL.OP_NO_SSLv2 | OpenSSL.SSL.OP_NO_TLSv1 diff --git a/netlib/wsgi.py b/netlib/wsgi.py index f393039a..827cf6f0 100644 --- a/netlib/wsgi.py +++ b/netlib/wsgi.py @@ -77,7 +77,8 @@ class WSGIAdaptor(object):          }          environ.update(extra)          if flow.client_conn.address: -            environ["REMOTE_ADDR"], environ["REMOTE_PORT"] = flow.client_conn.address() +            environ["REMOTE_ADDR"], environ[ +                "REMOTE_PORT"] = flow.client_conn.address()          for key, value in flow.request.headers.items():              key = 'HTTP_' + key.upper().replace('-', '_') | 
