diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-12-20 16:49:38 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-12-20 16:49:38 +0100 |
commit | f997b7fe14d40b8f5be61511e6b4956d92ef21db (patch) | |
tree | 72a01ab3e4ae6b2a6ba5524496d5ddb7b5e90fb9 /mitmproxy/connections.py | |
parent | fc5783c20e86122ca687aa41b00ca29bc852cc0c (diff) | |
download | mitmproxy-f997b7fe14d40b8f5be61511e6b4956d92ef21db.tar.gz mitmproxy-f997b7fe14d40b8f5be61511e6b4956d92ef21db.tar.bz2 mitmproxy-f997b7fe14d40b8f5be61511e6b4956d92ef21db.zip |
always decode alpn where required
Diffstat (limited to 'mitmproxy/connections.py')
-rw-r--r-- | mitmproxy/connections.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/mitmproxy/connections.py b/mitmproxy/connections.py index fc637420..9c4bca2f 100644 --- a/mitmproxy/connections.py +++ b/mitmproxy/connections.py @@ -6,6 +6,7 @@ import os from mitmproxy import stateobject from mitmproxy import certs from mitmproxy.net import tcp +from mitmproxy.utils import strutils class ClientConnection(tcp.BaseHandler, stateobject.StateObject): @@ -52,9 +53,15 @@ class ClientConnection(tcp.BaseHandler, stateobject.StateObject): return bool(self.connection) and not self.finished def __repr__(self): + if self.alpn_proto_negotiated: + alpn = "[ALPN: {}] ".format( + strutils.bytes_to_escaped_str(self.alpn_proto_negotiated) + ) + else: + alpn = "" return "<ClientConnection: {ssl}{alpn}{address}>".format( ssl="[ssl] " if self.ssl_established else "", - alpn="[ALPN: {}] ".format(self.alpn_proto_negotiated) if self.alpn_proto_negotiated else "", + alpn=alpn, address=repr(self.address) ) @@ -71,7 +78,7 @@ class ClientConnection(tcp.BaseHandler, stateobject.StateObject): timestamp_end=float, sni=str, cipher_name=str, - alpn_proto_negotiated=str, + alpn_proto_negotiated=bytes, tls_version=str, ) @@ -162,9 +169,15 @@ class ServerConnection(tcp.TCPClient, stateobject.StateObject): ssl = "[ssl] " else: ssl = "" + if self.alpn_proto_negotiated: + alpn = "[ALPN: {}] ".format( + strutils.bytes_to_escaped_str(self.alpn_proto_negotiated) + ) + else: + alpn = "" return "<ServerConnection: {ssl}{alpn}{address}>".format( ssl=ssl, - alpn="[ALPN: {}] ".format(self.alpn_proto_negotiated) if self.alpn_proto_negotiated else "", + alpn=alpn, address=repr(self.address) ) @@ -179,7 +192,7 @@ class ServerConnection(tcp.TCPClient, stateobject.StateObject): ssl_established=bool, cert=certs.SSLCert, sni=str, - alpn_proto_negotiated=str, + alpn_proto_negotiated=bytes, timestamp_start=float, timestamp_tcp_setup=float, timestamp_ssl_setup=float, |