aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/tools
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/tools')
-rw-r--r--mitmproxy/tools/console/flowdetailview.py3
-rw-r--r--mitmproxy/tools/web/app.py6
2 files changed, 8 insertions, 1 deletions
diff --git a/mitmproxy/tools/console/flowdetailview.py b/mitmproxy/tools/console/flowdetailview.py
index 8c08d6ee..571a5e1b 100644
--- a/mitmproxy/tools/console/flowdetailview.py
+++ b/mitmproxy/tools/console/flowdetailview.py
@@ -2,6 +2,7 @@ import urwid
from mitmproxy.tools.console import common, searchable
from mitmproxy.utils import human
+from mitmproxy.utils import strutils
def maybe_timestamp(base, attr):
@@ -77,7 +78,7 @@ def flowdetails(state, flow):
parts.append(
[
"Alt names",
- ", ".join(str(x) for x in c.altnames)
+ ", ".join(strutils.bytes_to_escaped_str(x) for x in c.altnames)
]
)
text.extend(
diff --git a/mitmproxy/tools/web/app.py b/mitmproxy/tools/web/app.py
index ce18c6f0..c0de4c1f 100644
--- a/mitmproxy/tools/web/app.py
+++ b/mitmproxy/tools/web/app.py
@@ -34,6 +34,12 @@ def flow_to_json(flow: mitmproxy.flow.Flow) -> dict:
"type": flow.type,
"modified": flow.modified(),
}
+ # .alpn_proto_negotiated is bytes, we need to decode that.
+ for conn in "client_conn", "server_conn":
+ if f[conn]["alpn_proto_negotiated"] is None:
+ continue
+ f[conn]["alpn_proto_negotiated"] = \
+ f[conn]["alpn_proto_negotiated"].decode(errors="backslashreplace")
if flow.error:
f["error"] = flow.error.get_state()