aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_fuzzing.py
diff options
context:
space:
mode:
authorRouli <rouli.net@gmail.com>2013-03-18 14:24:13 +0200
committerRouli <rouli.net@gmail.com>2013-03-18 14:24:13 +0200
commitc94aadcb0ee5e7aab8acc46a0e4ac7d02a28df6f (patch)
tree1e62785d669d86f6e551a99b9debfe445389bd48 /test/test_fuzzing.py
parentb6cae7cd2d0105d6a6fe9d35864d0f9b7c5f8924 (diff)
parent5c33f6784b4ba34dd9825ea7e3070cdf0b2b4621 (diff)
downloadmitmproxy-c94aadcb0ee5e7aab8acc46a0e4ac7d02a28df6f.tar.gz
mitmproxy-c94aadcb0ee5e7aab8acc46a0e4ac7d02a28df6f.tar.bz2
mitmproxy-c94aadcb0ee5e7aab8acc46a0e4ac7d02a28df6f.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'test/test_fuzzing.py')
-rw-r--r--test/test_fuzzing.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/test_fuzzing.py b/test/test_fuzzing.py
new file mode 100644
index 00000000..ba7b751c
--- /dev/null
+++ b/test/test_fuzzing.py
@@ -0,0 +1,39 @@
+import tservers
+
+"""
+ A collection of errors turned up by fuzzing. Errors are integrated here
+ after being fixed to check for regressions.
+"""
+
+class TestFuzzy(tservers.HTTPProxTest):
+ def test_idna_err(self):
+ req = r'get:"http://localhost:%s":i10,"\xc6"'
+ p = self.pathoc()
+ assert p.request(req%self.server.port).status_code == 400
+
+ def test_nullbytes(self):
+ req = r'get:"http://localhost:%s":i19,"\x00"'
+ p = self.pathoc()
+ assert p.request(req%self.server.port).status_code == 400
+
+ def test_invalid_ports(self):
+ req = 'get:"http://localhost:999999"'
+ p = self.pathoc()
+ assert p.request(req).status_code == 400
+
+ def test_invalid_ipv6_url(self):
+ req = 'get:"http://localhost:%s":i13,"["'
+ p = self.pathoc()
+ assert p.request(req%self.server.port).status_code == 400
+
+ def test_invalid_upstream(self):
+ req = r"get:'http://localhost:%s/p/200:i10,\'+\''"
+ p = self.pathoc()
+ assert p.request(req%self.server.port).status_code == 502
+
+ def test_upstream_disconnect(self):
+ req = r'200:d0:h"Date"="Sun, 03 Mar 2013 04:00:00 GMT"'
+ p = self.pathod(req)
+ assert p.status_code == 400
+
+