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
Aldo Cortesi
7aee9a7c31
Spacing and legibility
2014-10-26 17:44:49 +13:00
Maximilian Hils
6cef6fbfec
tweak SSL detection heuristics
2014-10-21 15:08:39 +02:00
Maximilian Hils
e114858438
add generic tcp proxying, fix #374
2014-10-18 18:29:35 +02:00
Maximilian Hils
f04693c047
fix typo
2014-10-08 21:41:03 +02:00
Maximilian Hils
6ce6b1ad69
replay: carry over SNI value
2014-10-02 00:58:40 +02:00
Maximilian Hils
4167713cc0
fix timestamp formatting: end_time may not be set
2014-09-22 17:01:06 +02:00
Maximilian Hils
60cec1f9b6
clean up timestamp handling
2014-09-21 22:46:48 +02:00
Maximilian Hils
b0374710e4
start to fill detailpane
2014-09-19 01:35:36 +02:00
Maximilian Hils
102bd07568
implement FlowStore basics
2014-09-17 17:30:19 +02:00
Aldo Cortesi
b4ecd96beb
Introduce short form object state, and connect the ends to send data to web app
2014-09-17 13:58:56 +12:00
Aldo Cortesi
d998790c2f
Clean up and clarify StateObject
...
- Flatten the class hierarchy
- get_state, load_state, from_state are public
- Simplify code
- Remove __eq__ and __neq__. This fundamentally changes the semantics of
inherited objects in a way that's not part of the core function of the
class
2014-09-17 11:41:42 +12:00
Aldo Cortesi
b9531ac89b
Whitespace & formatting
2014-09-17 09:54:17 +12:00
Maximilian Hils
fbc4bb38df
mitmproxy -> libmproxy.main. do some leanup on the way
2014-09-08 23:34:43 +02:00
Maximilian Hils
ebd539b49f
update examples, fix #353
2014-09-08 17:03:34 +02:00
Maximilian Hils
d06b4bfa4e
remove proxy mode abstraction: always be clear which mode we are in
2014-09-08 14:32:42 +02:00
Maximilian Hils
5a2a5760d0
improve logging
2014-09-08 13:34:08 +02:00
Maximilian Hils
5226ac200f
update code docs, make sure that url attribute never returns prettified/formatted values
2014-09-07 03:18:18 +02:00
Maximilian Hils
32e1ed212d
streamline HTTPHandler.handle_flow()
2014-09-05 19:39:05 +02:00
Maximilian Hils
2a6337343a
update docs, mostly revert 2f44b26b4c
2014-09-05 15:16:20 +02:00
Maximilian Hils
a7a3b5703a
change replay_request behaviour, refs #346 ; test upstream proxy mode
2014-09-05 00:18:17 +02:00
Maximilian Hils
1d45c54a04
Merge branch 'issue_341' into server_change_api
2014-09-04 14:18:21 +02:00
Maximilian Hils
1135666ee6
Merge branch 'master' into issue_341
2014-09-04 14:18:07 +02:00
Maximilian Hils
39fa579dd5
remove outdated IOError test case ( f5fdfd8a9f
)
2014-09-04 14:15:49 +02:00
Maximilian Hils
4781c565a9
fix #344
2014-09-04 12:29:44 +02:00
Maximilian Hils
2f44b26b4c
improve HTTPRequest syntax
2014-09-03 23:44:54 +02:00
Maximilian Hils
cd43c5ba9c
simplify server changes for inline scripts
2014-09-03 20:12:30 +02:00
Maximilian Hils
0c3b6ee667
fix IOError handling
2014-09-03 17:33:08 +02:00
Maximilian Hils
b0cfeff06d
fix #341 - work on flows instead of request/response internally.
2014-09-03 16:57:56 +02:00
Maximilian Hils
951a6fcc36
http: ignore disconnects that happen between requests
2014-09-03 12:31:39 +02:00
Maximilian Hils
712e5860aa
ui: display * instead of 0.0.0.0 for the bound address
2014-09-03 12:24:14 +02:00
Maximilian Hils
1e4e332ef9
improve error handling
2014-09-02 18:13:18 +02:00
Maximilian Hils
1a41c15c03
minor fixes
2014-08-31 16:52:26 +02:00
Maximilian Hils
1f47f7b6b2
refactor protocol handling, fix #332
2014-08-30 20:15:19 +02:00
Maximilian Hils
b97b1f17cf
fix #328
2014-08-24 14:22:11 +02:00
Maximilian Hils
e4d6089f9a
fix #330
2014-08-23 13:53:43 +02:00
Maximilian Hils
3d861d7a67
make sure that flow.server_conn is set when script hook is called
2014-08-18 01:54:45 +02:00
Maximilian Hils
5b7e19a77e
fix #327
2014-08-18 00:55:30 +02:00
Maximilian Hils
623cbd4e51
fix: changes to request.host in the request inline script hook are now considered for the server connection
2014-08-17 23:59:44 +02:00
Maximilian Hils
f4a1459ebe
fix #274
2014-08-09 01:02:58 +02:00
Maximilian Hils
c88613f596
fix replay form
2014-08-09 00:53:16 +02:00
Maximilian Hils
2e6a698287
fix #308
2014-08-08 19:04:58 +02:00
Maximilian Hils
4d2109ef92
fix display of urls in upstream mode, refs #308
2014-08-08 17:49:02 +02:00
Maximilian Hils
a9e6121a08
properly express state information on server connections, refs #315
2014-08-08 02:45:24 +02:00
Maximilian Hils
13f030ccb5
suppress SPDY/HTTP2 announcement headers, fix #277
2014-08-03 16:25:38 +02:00
Maximilian Hils
3133136da7
fix #307
2014-08-03 02:34:29 +02:00
Maximilian Hils
e9401a2123
Merge branch 'stream'
...
Conflicts:
libmproxy/protocol/http.py
2014-07-31 22:29:13 +02:00
Maximilian Hils
c9be57b682
fix #313
2014-07-27 03:28:23 +02:00
Maximilian Hils
83536e7e53
minor fixes
2014-07-27 02:10:39 +02:00
Maximilian Hils
e9c834a30d
fix #259
2014-07-26 12:02:18 +02:00
Maximilian Hils
4382829b7d
workaround: always make sure that flow.response.reply exists
2014-07-25 18:47:48 +02:00
Maximilian Hils
d9ac029ec7
always initialize HTTPResponse.stream attribute
2014-07-23 00:21:33 +02:00
Maximilian Hils
4b4a18a2e4
add --stream options, various fixes
2014-07-21 21:06:55 +02:00
Maximilian Hils
562ac9e721
unify stream handling
2014-07-21 14:09:24 +02:00
Maximilian Hils
7398db80db
simplify responseheader scripthook
2014-07-20 11:17:53 +02:00
Maximilian Hils
0ba5a2cf19
Merge branch 'stream' of https://github.com/bradleypeabody/mitmproxy into stream
2014-07-20 10:57:51 +02:00
Brad Peabody
560e23af09
fixed handling of Transfer-Encoding header during streaming; wrote tests for streaming support
2014-07-19 19:10:14 -07:00
Brad Peabody
c47ddaa3a0
basic attempt to implement streaming response, needs testing
2014-07-17 22:43:26 -07:00
Maximilian Hils
71ba7089e2
fix parameter naming
2014-07-14 17:26:22 +02:00
Brad Peabody
ca7d398b42
make include_content=False work by passing this on to netlib's http.read_response
2014-07-12 22:40:51 -07:00
Maximilian Hils
84a016dccf
expose sockname
2014-06-25 23:03:15 +02:00
Maximilian Hils
00fd243810
fix up error messages
2014-05-15 18:16:42 +02:00
Maximilian Hils
aab071380a
beef up error messages
2014-03-26 00:51:18 +01:00
Maximilian Hils
3a89c84eaf
add requests to requrements, improve error logging
2014-03-19 17:18:21 +01:00
Maximilian Hils
28f82d052d
fix display bugs ( fixes #243 )
2014-03-18 19:38:02 +01:00
Maximilian Hils
4d9799f103
add support for log levels
2014-03-13 01:04:45 +01:00
Maximilian Hils
c1fff51b1b
always use relative imports, fix status bar bug
2014-03-10 22:36:47 +01:00
Maximilian Hils
e6349b540f
split up protocol\__init__.py
2014-03-10 21:57:50 +01:00
Maximilian Hils
fe58c1c6eb
add advanced proxying options, add SSL-terminating capability to mitmproxy
2014-03-10 05:11:51 +01:00
Maximilian Hils
78750a8b4d
lay the foundations for --(in|out)(abs|rel) command line switches, as proposed in https://groups.google.com/forum/#!topic/mitmproxy/nApno2TXS0c
2014-03-10 02:32:27 +01:00
Maximilian Hils
5598a8de82
finish proxy.py split up
2014-03-09 21:51:24 +01:00
Maximilian Hils
fc4fe83eaf
split up proxy.py
2014-03-09 21:13:08 +01:00
Maximilian Hils
3032672f10
combine asterisk-form and origin-form into relative form
2014-03-08 15:47:09 +01:00
Maximilian Hils
d9a6037299
fix comments
2014-02-09 02:54:07 +01:00
Aldo Cortesi
a85974eaa8
Fix flow initialization order error
...
Resolves #210
2014-02-08 17:17:35 +13:00
Aldo Cortesi
b642b4870b
Better response when mitmproxy crashes.
2014-02-08 14:15:19 +13:00
Maximilian Hils
735e4400c4
add tests for reconnect to upstream proxy, ensure that server_reconnect is always hooked
2014-02-07 18:14:15 +01:00
Maximilian Hils
d07029d575
coverage++
2014-02-07 03:56:57 +01:00
Maximilian Hils
9f5f2b7071
test libmproxy.app, increase coverage
2014-02-07 02:36:39 +01:00
Maximilian Hils
ff264eb309
add functionality to change the destination server
2014-02-06 22:16:26 +01:00
Maximilian Hils
134c7795f8
remove LEGACY switches, always update flow.server_conn
2014-02-06 01:19:51 +01:00
Maximilian Hils
cb397ec788
fix bugs, expose timestamp information to console ui
2014-02-06 00:53:39 +01:00
Maximilian Hils
f26d91cb81
add skeleton to change destinatin server during intercept, fix all testcases on windows
2014-02-05 20:26:47 +01:00
Maximilian Hils
d864a326d2
fix all tests except those using set_url and get_url
2014-02-05 14:33:17 +01:00
Maximilian Hils
6a53ae5fd3
push failing tests down to 43
2014-02-04 05:02:17 +01:00
Maximilian Hils
f6253a80ff
add priorities for the destination server address
2014-02-04 02:56:59 +01:00
Maximilian Hils
2db5f9de26
bring failing tests back into the double-digit range
2014-01-31 04:45:39 +01:00
Maximilian Hils
7d96ff00ef
remove _flow_map from state, improve logging
2014-01-31 03:01:51 +01:00
Maximilian Hils
30a44cbb41
fix server reconnect
2014-01-31 01:44:55 +01:00
Maximilian Hils
6ce1470631
move StateObject back into libmproxy
2014-01-31 01:06:35 +01:00
Maximilian Hils
5fce7be592
complete state handling
2014-01-30 20:11:01 +01:00
Maximilian Hils
8544a5ba4b
add generic TCP handler with SSL support, move StateObject into netlib
2014-01-30 18:56:23 +01:00
Maximilian Hils
179c3ae8aa
polish SimpleStateObject
2014-01-30 06:03:41 +01:00
Maximilian Hils
e00bbccfd6
remove old classes
2014-01-30 05:21:53 +01:00
Maximilian Hils
40bf42f14a
merge flow classes. current status: basic mitmdump working
2014-01-30 05:00:13 +01:00