Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix certificate verification | Maximilian Hils | 2015-11-01 | 4 | -33/+75 |
| | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes netlib's optional (turned off by default) certificate verification, which previously did not validate the cert's host name. As it turns out, verifying the connection's host name on an intercepting proxy is not really straightforward - if we receive a connection in transparent mode without SNI, we have no clue which hosts the client intends to connect to. There are two basic approaches to solve this problem: 1. Exactly mirror the host names presented by the server in the spoofed certificate presented to the client. 2. Require the client to send the TLS Server Name Indication extension. While this does not work with older clients, we can validate the hostname on the proxy. Approach 1 is problematic in mitmproxy's use case, as we may want to deliberately divert connections without the client's knowledge. As a consequence, we opt for approach 2. While mitmproxy does now require a SNI value to be sent by the client if certificate verification is turned on, we retain our ability to present certificates to the client which are accepted with a maximum likelihood. | ||||
* | adjust test certificate generation | Maximilian Hils | 2015-11-01 | 11 | -190/+142 |
| | |||||
* | add test certificate generator | Maximilian Hils | 2015-10-16 | 22 | -212/+277 |
| | |||||
* | fix tests | Maximilian Hils | 2015-09-28 | 1 | -6/+6 |
| | |||||
* | Merge branch 'http-models' | Maximilian Hils | 2015-09-28 | 28 | -853/+1320 |
|\ | |||||
| * | test response model, push coverage to 100% branch cov | Maximilian Hils | 2015-09-27 | 11 | -172/+208 |
| | | |||||
| * | improve request tests, coverage++ | Maximilian Hils | 2015-09-26 | 12 | -296/+455 |
| | | |||||
| * | refactor response model | Maximilian Hils | 2015-09-26 | 16 | -274/+293 |
| | | |||||
| * | refactor request model | Maximilian Hils | 2015-09-26 | 17 | -345/+598 |
| | | |||||
* | | properly adjust tests for 87566da3ba | Maximilian Hils | 2015-09-28 | 1 | -5/+1 |
| | | |||||
* | | fix mitmproxy/mitmproxy#784 | Maximilian Hils | 2015-09-28 | 3 | -7/+7 |
|/ | |||||
* | minor fixes | Maximilian Hils | 2015-09-25 | 2 | -18/+14 |
| | |||||
* | also accept bytes as arguments | Maximilian Hils | 2015-09-22 | 1 | -6/+6 |
| | |||||
* | Headers: return str on all Python versions | Maximilian Hils | 2015-09-22 | 15 | -418/+443 |
| | |||||
* | revert websocket changes from 73586b1b | Maximilian Hils | 2015-09-21 | 1 | -10/+12 |
| | | | | | | | The DEFAULT construct is very weird, but with None we apparently break pathod in some difficult-to-debug ways. Revisit once we do more here. | ||||
* | Merge pull request #98 from Kriechi/master | Thomas Kriechbaumer | 2015-09-21 | 2 | -18/+19 |
|\ | | | | | backport changes | ||||
| * | backport changes | Thomas Kriechbaumer | 2015-09-21 | 2 | -18/+19 |
|/ | |||||
* | minor encoding fixes | Maximilian Hils | 2015-09-21 | 2 | -12/+12 |
| | |||||
* | remove nose references | Maximilian Hils | 2015-09-21 | 3 | -198/+167 |
| | |||||
* | update appveyor | Maximilian Hils | 2015-09-21 | 1 | -1/+1 |
| | |||||
* | remove nose as a dependency | Maximilian Hils | 2015-09-21 | 1 | -2/+0 |
| | |||||
* | always use py.test | Maximilian Hils | 2015-09-21 | 3 | -2/+12 |
| | |||||
* | test on pypy3 | Maximilian Hils | 2015-09-21 | 1 | -0/+3 |
| | |||||
* | python 3++ | Maximilian Hils | 2015-09-21 | 13 | -206/+250 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-20 | 5 | -81/+73 |
| | |||||
* | make tests compatible with py.test | Maximilian Hils | 2015-09-20 | 3 | -71/+79 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-20 | 3 | -14/+16 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-20 | 7 | -28/+36 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-20 | 8 | -55/+60 |
| | |||||
* | improve http error messages | Maximilian Hils | 2015-09-19 | 1 | -4/+12 |
| | |||||
* | experimental: don't interfere with headers | Maximilian Hils | 2015-09-18 | 4 | -46/+17 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-18 | 1 | -20/+20 |
| | |||||
* | properly handle SNI IPs | Maximilian Hils | 2015-09-18 | 2 | -11/+23 |
| | | | | | | fixes mitmproxy/mitmproxy#772 We must use the ipaddress package here, because that's what cryptography uses. If we opt for something else, we have nasty namespace conflicts. | ||||
* | fix py3 tests | Maximilian Hils | 2015-09-17 | 1 | -1/+1 |
| | |||||
* | fix tests | Maximilian Hils | 2015-09-17 | 2 | -2/+4 |
| | |||||
* | python3++ | Maximilian Hils | 2015-09-17 | 11 | -143/+105 |
| | |||||
* | clean up http message models | Maximilian Hils | 2015-09-17 | 8 | -148/+83 |
| | |||||
* | http1: add assemble_body function | Maximilian Hils | 2015-09-17 | 4 | -17/+31 |
| | |||||
* | organize exceptions, improve content-length handling | Maximilian Hils | 2015-09-17 | 9 | -92/+130 |
| | |||||
* | Merge pull request #92 from mitmproxy/python3 | Maximilian Hils | 2015-09-16 | 32 | -1604/+1441 |
|\ | | | | | Python3 & HTTP1 Refactor | ||||
| * | adjust http1-related code | Maximilian Hils | 2015-09-16 | 12 | -40/+70 |
| | | |||||
| * | test parts on python 3.5 | Maximilian Hils | 2015-09-16 | 1 | -1/+3 |
| | | |||||
| * | finish netlib.http.http1 refactor | Maximilian Hils | 2015-09-16 | 17 | -728/+640 |
| | | |||||
| * | wip | Maximilian Hils | 2015-09-15 | 26 | -997/+890 |
|/ | |||||
* | remove pathod as dependency | Maximilian Hils | 2015-09-13 | 2 | -5/+1 |
| | |||||
* | make clean_bin unicode-aware | Maximilian Hils | 2015-09-12 | 4 | -19/+38 |
| | |||||
* | don't yield empty chunks | Maximilian Hils | 2015-09-11 | 2 | -2/+3 |
| | |||||
* | fix mitmproxy/mitmproxy#759 | Maximilian Hils | 2015-09-10 | 2 | -7/+28 |
| | |||||
* | add ssl_read_select | Maximilian Hils | 2015-09-10 | 1 | -0/+21 |
| | |||||
* | add tcp.Address.__hash__ | Maximilian Hils | 2015-09-08 | 1 | -0/+3 |
| |