aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-12-19 19:04:45 +0100
committerGitHub <noreply@github.com>2016-12-19 19:04:45 +0100
commit77cd9224f943c8d08a7b80595e194a60b8e64d3e (patch)
tree1ae09ccb748775d6121fec70670dffb0ca8928e3 /mitmproxy
parentfc5783c20e86122ca687aa41b00ca29bc852cc0c (diff)
parentfbce37054fa289eb5d7a9c791db9d4a71b96ecea (diff)
downloadmitmproxy-77cd9224f943c8d08a7b80595e194a60b8e64d3e.tar.gz
mitmproxy-77cd9224f943c8d08a7b80595e194a60b8e64d3e.tar.bz2
mitmproxy-77cd9224f943c8d08a7b80595e194a60b8e64d3e.zip
Merge pull request #1880 from mhils/1877
Fix #1877
Diffstat (limited to 'mitmproxy')
-rw-r--r--mitmproxy/net/http/message.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mitmproxy/net/http/message.py b/mitmproxy/net/http/message.py
index d3d6898d..166f919a 100644
--- a/mitmproxy/net/http/message.py
+++ b/mitmproxy/net/http/message.py
@@ -103,7 +103,11 @@ class Message(serializable.Serializable):
ce = self.headers.get("content-encoding")
if ce:
try:
- return encoding.decode(self.raw_content, ce)
+ content = encoding.decode(self.raw_content, ce)
+ # A client may illegally specify a byte -> str encoding here (e.g. utf8)
+ if isinstance(content, str):
+ raise ValueError("Invalid Content-Encoding: {}".format(ce))
+ return content
except ValueError:
if strict:
raise