Go to file
Aldo Cortesi 16654ad6a4 Fix crash while streaming
Found using fuzzing. Reproduction with pathoc, given "mitmproxy -s" and
pathod running on 9999:

get:'http://localhost:9999/p/':s'200:b\'foo\':h\'Content-Length\'=\'3\'':i58,'\x1a':r

 return flow.FlowMaster.run(self)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 111, in run
     self.tick(self.masterq, 0.01)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 613, in tick
     return controller.Master.tick(self, q, timeout)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 101, in tick
     self.handle(*msg)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 118, in handle
     m(obj)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 738, in handle_responseheaders
     self.stream_large_bodies.run(f, False)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 155, in run
     r.headers, is_request, flow.request.method, code
   File "/Users/aldo/mitmproxy/mitmproxy/netlib/http.py", line 401, in expected_http_body_size
     raise HttpError(400 if is_request else 502, "Invalid content-length header: %s" % headers["content-length"])
 netlib.http.HttpError: Invalid content-length header: ['\x1a3']
2014-10-26 17:58:36 +13:00
doc-src Merge branch 'master' of github.com:mitmproxy/mitmproxy 2014-10-23 16:17:03 +02:00
examples remove default_ca 2014-10-18 15:26:10 +02:00
libmproxy Fix crash while streaming 2014-10-26 17:58:36 +13:00
release actually remove test dependencies from requirements.txt 2014-01-28 03:17:27 +01:00
test Fix crash while streaming 2014-10-26 17:58:36 +13:00
web beef up event log 2014-09-22 03:06:19 +02:00
.coveragerc Few more fuzzing commands, exclude console app from coverage. 2013-03-03 22:39:26 +13:00
.gitattributes ignore compiled files in diff 2014-09-16 01:05:29 +02:00
.gitignore We're not ready for ES6 2014-09-16 16:27:09 +12:00
.travis.yml polish new distribution setup 2014-09-09 02:21:28 +02:00
CHANGELOG Keep sidebar ordering alphabetical, add SOCKS documentation 2014-10-23 15:05:01 +13:00
CONTRIBUTORS CHANGELOG and CONTRIBUTORS 2014-10-23 14:38:12 +13:00
LICENSE GPLv3 -> MIT 2013-03-18 08:37:42 +13:00
MANIFEST.in replay: carry over SNI value 2014-10-02 00:58:40 +02:00
mitmdump Docs stub for Unbuntu, restore executable flag on binaries. 2014-09-09 17:57:39 +12:00
mitmproxy Docs stub for Unbuntu, restore executable flag on binaries. 2014-09-09 17:57:39 +12:00
mitmweb Super-basic outline for web io loop 2014-09-14 11:30:00 +12:00
README.mkd More refactoring of installation docs 2014-10-23 15:43:06 +13:00
README.txt Docs and Readme 2013-01-01 16:35:52 +13:00
requirements.txt polish new distribution setup 2014-09-09 02:21:28 +02:00
setup.py distutils -> setuptools 2014-10-01 20:41:58 +02:00

**mitmproxy** is an interactive, SSL-capable man-in-the-middle proxy for HTTP
with a console interface.

**mitmdump** is the command-line version of mitmproxy. Think tcpdump for HTTP.

**libmproxy** is the library that mitmproxy and mitmdump are built on.

Complete documentation and a set of practical tutorials is included in the
distribution package, and is also available at mitmproxy.org_.

.. _mitmproxy.org: http://mitmproxy.org