Commit Graph

5012 Commits

Author SHA1 Message Date
Aldo Cortesi
02acfb1242 Fix netlib.utils.is_valid_host
- Don't crash when passed an empty string. This translated into an actual core
crash, discovered while fuzzing with afl.
- Taking a slice of length one out of bytes returns an integer, so the check
for trailing period in this function never worked on Python3.
- Add unit tests.
2016-07-21 10:38:37 +12:00
Maximilian Hils
b27db1fc81 minor fixes 2016-07-19 18:09:33 -07:00
Aldo Cortesi
1ff800598a Merge pull request #1383 from cortesi/options
mitmproxy.flow.options -> mitmproxy.options
2016-07-20 11:46:24 +12:00
Aldo Cortesi
8317772377 mitproxy.options -> mitmproxy.optmanager, mitmproxy.flow.options -> mitmproxy.options
It might be slightly  more felicitous to move optmanager into netlib at some
point, especially if we can also use it in pathod.

This also consolidates our constants in mitmproxy.options, removing some duplicates.
2016-07-20 11:28:53 +12:00
Aldo Cortesi
aa3b866e1d Merge pull request #1382 from cortesi/cleanup
[wip] ProxyConf-related refactoring
2016-07-20 09:28:18 +12:00
Aldo Cortesi
6000136b01 Merge branch 'master' into cleanup 2016-07-19 23:35:42 +12:00
Maximilian Hils
18dd84b908 web: fix flow selection 2016-07-19 03:23:40 -07:00
Maximilian Hils
518c28fff9 update web assets 2016-07-19 03:14:35 -07:00
Maximilian Hils
f356a84430 simplify web ui ducks 2016-07-19 03:13:39 -07:00
Maximilian Hils
4ea6e61ea8 fix web master options leftovers 2016-07-19 03:11:17 -07:00
Thomas Kriechbaumer
329909c514 update README about Python support 2016-07-19 10:43:57 +02:00
Aldo Cortesi
09fbebf42a Test suite: get_proxy_config -> get_options 2016-07-19 19:36:40 +12:00
Aldo Cortesi
29eecd5d66 Simplify common initilization in cmdline.py 2016-07-19 17:15:10 +12:00
Aldo Cortesi
ecd01ce7c6 Merge pull request #1379 from cortesi/proxyconfig
Unify ProxyConfig and Options
2016-07-19 16:59:23 +12:00
Aldo Cortesi
9c9d28d068 Remove proxy.config.process_proxy_options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
ef380917a8 ProxyConf: adapt mitmproxy console, ditch tcp|host filter attrs on flow.master 2016-07-19 16:25:09 +12:00
Aldo Cortesi
be081a24bc ProxyConf: auth_* into Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
5cfe783b6c ProxyConfig: http2, rawtcp, no_upstream_cert -> Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
fb6e9c44c8 ProxyConfig: ciphers_client and ciphers_server -> Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
26fa88a338 ProxyConfig: Refactor to move verification mode checks into configure 2016-07-19 16:25:09 +12:00
Aldo Cortesi
77bf092bcd ProxyConfig: tcp_hosts and ignore_hosts to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
98bf544664 Regularize naming of upstream_trusted_ca* options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
0a3839375d ProxyConfig: various SSL options to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f81c53f9bb Fix ca directory creation 2016-07-19 16:25:09 +12:00
Aldo Cortesi
78e8159007 config.parse_server_spec shouldn't pass byts to tcp.Address 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f9622074cc ProxyConfig: mode, upstream_server and upstream_auth to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
bd733e1232 Handle command-line argument errors properly
At some point we stopped handling exceptions from get_common_options properly.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
d2268ddb1e ProxyConfig: --body-size-limit to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f24f8ce971 ProxyConfig: --cert to options
Also incidentally improve handling of invalid certificate formats.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
856e1c2ba9 Move clientcers & cadir to Options
Also adds a .configure mechanism to ProxyConfig, and hooks it up to the change
event.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
b1b1a1b9cf ProxyConfig: cadir to options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
6908dc4d90 ProxyConfig refactor
Step two of frog boiling: move listening address and port into options. This is
the hard bit, because it touches the test suite so deeply.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
9bc1514aef Unify proxy config and options
This is step 1 in a gradual "boiling frog" strategy. Decorate ProxyConfig
with an Options object.
2016-07-19 16:25:09 +12:00
Maximilian Hils
5034a6232c web: remove SELECT_RELATIVE 2016-07-18 21:23:50 -07:00
Maximilian Hils
859bb8c99f Merge remote-tracking branch 'jason/ui' 2016-07-18 20:59:17 -07:00
Maximilian Hils
00b0d47db6 Merge pull request #1365 from Kriechi/fix-1333
add Windows py3 builds
2016-07-18 20:48:46 -07:00
Aldo Cortesi
9869cb617e Merge pull request #1378 from cortesi/cleanups
Console-related cleanups
2016-07-18 11:29:18 +12:00
Aldo Cortesi
e9865800a8 Console options cleanup
Use setters, use togglers, move more things out of master
2016-07-18 10:31:34 +12:00
Aldo Cortesi
ff80c7b618 file -> open throughout console 2016-07-18 10:08:05 +12:00
Aldo Cortesi
f9e4249499 Add a toggller helper to Options, start using it in mitmproxy console 2016-07-18 10:03:10 +12:00
Thomas Kriechbaumer
7b57c2948e cleanup 2016-07-17 18:17:35 +02:00
Thomas Kriechbaumer
d9021f8505 http2: coverage++ 2016-07-17 18:07:02 +02:00
Aldo Cortesi
6c86d7bd4f Merge pull request #1372 from cortesi/setheaders
setheaders -> addon
2016-07-17 18:49:41 +12:00
Aldo Cortesi
216e38d437 setheaders -> addon 2016-07-17 18:41:14 +12:00
Aldo Cortesi
61d6345f22 Merge pull request #1371 from cortesi/cleancode
Remove old ReplaceHooks code
2016-07-17 17:25:06 +12:00
Aldo Cortesi
821b97c19c Remove old ReplaceHooks code 2016-07-17 16:25:42 +12:00
Aldo Cortesi
a26cc75aab Merge pull request #1370 from cortesi/filestreamer
Some work on stream-to-file
2016-07-17 16:20:41 +12:00
Aldo Cortesi
9bf1d300d8 Some work on stream-to-file
- stream -> filestreamer throughout
- move active_flows set into FileStreamer addon
2016-07-17 16:07:29 +12:00
Aldo Cortesi
fb45d59c02 Merge pull request #1367 from Kriechi/fix-1366
fix-1366
2016-07-17 15:06:58 +12:00
Aldo Cortesi
15c7528faf Merge pull request #1369 from cortesi/dumper
Extract console dump functionality into an addon
2016-07-17 14:35:54 +12:00