Commit Graph

5886 Commits

Author SHA1 Message Date
Aldo Cortesi
3b00bc339d Complete upstream authentication module
- Handles upstream CONNECT and regular requests, plus HTTP Basic for reverse
proxy
- Add some tests to make sure we can rely on the .via attribute on server
connections.
2016-11-13 11:43:27 +13:00
Aldo Cortesi
a9b4560187 Refine handling of HTTP CONNECT
- CONNECT requests do not generate the usual http events. Instead, they
generate the http_connect event and handlers then have the option of setting an
error response to abort the connect.
- The connect handler is called for both upstream proxy and regular proxy CONNECTs.
2016-11-12 18:28:37 +13:00
Aldo Cortesi
38f8d9e541 Add the http_connect event for HTTP CONNECT requests 2016-11-12 12:44:43 +13:00
Aldo Cortesi
bc01a146b0 Upstream proxy auth to addon 2016-11-12 11:58:04 +13:00
Aldo Cortesi
00492919e7 Add HTTPFlow.mode to record the HTTP proxy layer mode 2016-11-12 11:58:04 +13:00
Aldo Cortesi
5be35d258f Use an enum for http protocol modes 2016-11-12 11:58:04 +13:00
Aldo Cortesi
fbaade4298 Remove promotion to raw TCP based on heuristics
This seems terribly dangerous to me. Let's expand explicit control instead.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
3958940420 Test failure during 100-continue
Also:

- Remove duplicate and unused code
- Tighten scope of HttpReadDisconnect handler - we only want to ignore this for
the initial read, not for the entire block that includes things like the expect
handling.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
82ac7d05a6 Bug: ask requestheaders before request body is read
Also add the beginnings of a test suite to exercise issues like this.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
53b77fc475 proxy.protocol.http: cleanups, extract request validation 2016-11-12 11:58:04 +13:00
Aldo Cortesi
4eea265925 Remove unused protocol attribute on connections. 2016-11-12 11:58:04 +13:00
Aldo Cortesi
a653f314ff proxy.protocol.http: flatten for refactoring
Flatten all of _process_flow, so we can see what's going on in there.
2016-11-12 11:58:04 +13:00
Maximilian Hils
afa124a9f6 Merge pull request #1723 from Kriechi/http2-conns
http2: move h2 connection object
2016-11-09 15:19:55 +01:00
Maximilian Hils
f0783a0874 Merge pull request #1725 from mhils/mitmweb
Mitmweb Improvements
2016-11-09 15:19:14 +01:00
Maximilian Hils
564e56c262 Merge pull request #1724 from phackt/master
fix SNI for transparent mode - #1638
2016-11-09 13:25:37 +01:00
Maximilian Hils
2a2387fb32 explain host=pretty_host assignment 2016-11-09 13:11:31 +01:00
Maximilian Hils
77f05178ad mitmweb: minor fixes 2016-11-09 13:01:25 +01:00
Maximilian Hils
a0ddedff6f web: update static assets 2016-11-09 10:09:00 +01:00
Maximilian Hils
d9597add76 web: fix header update 2016-11-09 10:04:51 +01:00
Maximilian Hils
c2a130dced web: simplify flow storage 2016-11-08 17:55:22 +01:00
Maximilian Hils
85476d9915 clean up mitmweb 2016-11-08 17:54:27 +01:00
Maximilian Hils
62ca896492 fix mitmweb 2016-11-08 17:43:46 +01:00
phackt
dc44465c92 fix SNI for transparent mode - #1638
In transparent mode host is set with the target server ip.
Attribute flow.request.host is used as SNI while mitmproxy is
initiating TLS handshake, so it should be set with the pretty_host.
2016-11-08 15:39:24 +01:00
Thomas Kriechbaumer
f140b1d84f http2: move h2 connection object 2016-11-05 20:39:42 +01:00
Thomas Kriechbaumer
184e29e119 http2: add push-promise metadata test 2016-11-05 05:13:36 +01:00
Aldo Cortesi
d4071d3337 Merge pull request #1716 from cortesi/deprecated2
Remove sticky[auth,cookie] from http objects
2016-11-04 16:00:50 +13:00
Aldo Cortesi
4b5ed2c84e Merge pull request #1715 from cortesi/deprecated
Remove deprecated interfaces
2016-11-04 14:58:05 +13:00
Aldo Cortesi
86b7661456 Remove sticky[auth,cookie] from http objects
- they're unused
- if we want them, they should be set by the addon in the new metadata store
2016-11-04 11:50:19 +13:00
Aldo Cortesi
067198a5dd Remove deprecated interfaces 2016-11-04 11:47:47 +13:00
Aldo Cortesi
fd56a7b3ad Merge pull request #1714 from cortesi/justno2
Test and interface improvements
2016-11-04 11:35:10 +13:00
Aldo Cortesi
4eb2b56dec Let's not over-ride __bool__ on connection objects
If I had a thousand years and every thesaurus in the world, I still couldn't
adequately express how much I dislike this piece of interface design.
2016-11-04 10:59:41 +13:00
Aldo Cortesi
6c8c4465d9 script.concurrent: tests to taddons 2016-11-04 10:59:41 +13:00
Aldo Cortesi
c2c44889bb Merge pull request #1711 from navinpai/1541
Allow pathoc to pause forever at end of message
2016-11-04 10:59:18 +13:00
Aldo Cortesi
8d9fdc416a Merge pull request #1712 from navinpai/docs
[MINOR] fix link in documentation
2016-11-04 10:57:28 +13:00
Naveen Pai
a43e2047b0 [MINOR] fix link in documentation 2016-11-04 03:04:55 +05:30
Naveen Pai
eef97555d7 Allow forever wait at end of message #1541 2016-11-04 02:12:20 +05:30
Aldo Cortesi
d51b8933b2 Merge pull request #1709 from cortesi/taddons4
addons.view: test suite to 100%
2016-11-04 09:33:48 +13:00
Aldo Cortesi
4f4db223fe addons: convert last of the test suite to taddons 2016-11-04 09:17:56 +13:00
Aldo Cortesi
deb66d3cac addons.setheaders: fix configure bug, tests to taddons 2016-11-04 09:09:39 +13:00
Aldo Cortesi
b51a96081a addons.view: test suite to 100%
This takes coverage for all of /addons to 100%
2016-11-04 08:55:01 +13:00
Aldo Cortesi
19e6af857d Merge pull request #1708 from cortesi/taddons3
Test suite improvements
2016-11-04 07:59:23 +13:00
Aldo Cortesi
17e828b243 addons.view: test improvements 2016-11-03 20:53:06 +13:00
Aldo Cortesi
c59b34bbb7 README.rst: recommend "tox -e lint" over using flake8 directly 2016-11-03 20:51:22 +13:00
Aldo Cortesi
e300f24bdc Merge pull request #1707 from cortesi/taddons2
Addon test suite improvements
2016-11-03 20:16:26 +13:00
Aldo Cortesi
5ade93f2ad addons.streambodies: 100% test coverage 2016-11-03 20:16:07 +13:00
Aldo Cortesi
d7d6edb3d1 addons.serverplayback: 100% test coverage 2016-11-03 20:05:21 +13:00
Aldo Cortesi
e1fc80937d addons.serverplayback: test suite to taddons 2016-11-03 19:43:33 +13:00
Aldo Cortesi
e9a96f4d7f addons.script: 100% test coverage 2016-11-03 19:36:34 +13:00
Aldo Cortesi
d9538637c3 addons.script: convert to test.taddons 2016-11-03 18:57:34 +13:00
Aldo Cortesi
50d393960c Merge pull request #1706 from cortesi/taddons
addons tests and bugfixes
2016-11-03 16:33:25 +13:00