diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-08-15 20:22:45 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-08-15 20:22:45 +0200 |
commit | a175572447fad5f992e1f0c086386f03bf9cd6fb (patch) | |
tree | 34aced46a957890046199b8081c3d1d34169187e /libmproxy/protocol2 | |
parent | 2a15479cdbda07a4a99f56f6090e479decbeb17c (diff) | |
parent | a9dd82c986be54d82f6ce9c7b65473f2b052cbe8 (diff) | |
download | mitmproxy-a175572447fad5f992e1f0c086386f03bf9cd6fb.tar.gz mitmproxy-a175572447fad5f992e1f0c086386f03bf9cd6fb.tar.bz2 mitmproxy-a175572447fad5f992e1f0c086386f03bf9cd6fb.zip |
Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor
Diffstat (limited to 'libmproxy/protocol2')
-rw-r--r-- | libmproxy/protocol2/http_proxy.py | 3 | ||||
-rw-r--r-- | libmproxy/protocol2/tls.py | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libmproxy/protocol2/http_proxy.py b/libmproxy/protocol2/http_proxy.py index 8ac7ea8e..b4c506cb 100644 --- a/libmproxy/protocol2/http_proxy.py +++ b/libmproxy/protocol2/http_proxy.py @@ -1,7 +1,6 @@ from __future__ import (absolute_import, print_function, division) from .layer import Layer, ServerConnectionMixin -from .http import HttpLayer class HttpProxy(Layer, ServerConnectionMixin): @@ -22,3 +21,5 @@ class HttpUpstreamProxy(Layer, ServerConnectionMixin): for message in layer(): if not self._handle_server_message(message): yield message + +from .http import HttpLayer diff --git a/libmproxy/protocol2/tls.py b/libmproxy/protocol2/tls.py index 55cc9794..9ef72a78 100644 --- a/libmproxy/protocol2/tls.py +++ b/libmproxy/protocol2/tls.py @@ -1,7 +1,9 @@ from __future__ import (absolute_import, print_function, division) import traceback + from netlib import tcp +import netlib.http.http2 from ..exceptions import ProtocolException from .layer import Layer, yield_from_callback @@ -151,7 +153,8 @@ class TlsLayer(Layer): handle_sni=self.__handle_sni, cipher_list=self.config.ciphers_client, dhparams=self.config.certstore.dhparams, - chain_file=chain_file + chain_file=chain_file, + alpn_select=netlib.http.http2.HTTP2Protocol.ALPN_PROTO_H2, # TODO: check if server is capable of h2 first ) except tcp.NetLibError as e: raise ProtocolException(repr(e), e) @@ -168,6 +171,9 @@ class TlsLayer(Layer): ca_path=self.config.openssl_trusted_cadir_server, ca_pemfile=self.config.openssl_trusted_ca_server, cipher_list=self.config.ciphers_server, + alpn_protos=[ + netlib.http.http1.HTTP1Protocol.ALPN_PROTO_HTTP1, + netlib.http.http2.HTTP2Protocol.ALPN_PROTO_H2], # TODO: read this from client_conn first ) tls_cert_err = self.server_conn.ssl_verification_error if tls_cert_err is not None: |