Thomas Kriechbaumer
907825714b
move examples tests ( #2199 )
2017-03-22 12:02:18 +01:00
Aldo Cortesi
4ca78604af
Factor out an io module
...
Include tnetstring - we've made enough changes that this no longer belongs in
contrib.
2017-03-20 12:50:09 +13:00
Aldo Cortesi
04f1a4443d
options: reraise when there's an error with a partial update
...
Fixes #2174
2017-03-19 14:36:23 +13:00
Aldo Cortesi
43e7b9d68c
options: choices for content views and tighten console order spec
...
Also clean up some leftovers from filter option name change.
2017-03-19 13:39:28 +13:00
Aldo Cortesi
22d7c31ea8
dumper, mitmdump: kill filtstr
...
Dumper now also uses view_filter. Passing arguments to mitmdump is now
precisely equivalent to setting both filestream_filter and view_filter.
2017-03-19 13:21:46 +13:00
Aldo Cortesi
475a4e3eb0
streamfile: add streamfile_filter and use it instead of filtstr
2017-03-19 13:08:26 +13:00
Aldo Cortesi
21794c7bbe
optmanager: test coverage
2017-03-19 11:29:41 +13:00
Aldo Cortesi
49b0a67eb9
console options: add an overlay grid editor for sequence options
2017-03-19 10:32:22 +13:00
Aldo Cortesi
4e24c95a61
optmanager: cope with bound methods in .subscribe
...
Fixes #2122
2017-03-19 10:32:22 +13:00
Aldo Cortesi
8130b9880a
options cleanups
...
- Move default client ciphers - no need to have a 10-line string default.
- Add some style guidance on options help
- Be consistent about reflowing options help
2017-03-19 10:32:22 +13:00
Aldo Cortesi
eac210829e
Rip out master handler mechanism
...
All events are now handled by addons, and we no longer support any events on
master.
2017-03-17 07:56:32 +13:00
Maximilian Hils
6d66184eba
Merge pull request #2168 from cortesi/handlers
...
Rip out old handlers mechanism - all events are now handled in addons
2017-03-16 14:57:26 +01:00
Felix Yan
b352557092
Fix test_format_xml with dot in path
...
When the path contains dot ".", replacing all dots will generate a non-exist result and raises a FileNotFoundError. Replacing only the last dot fixes this.
2017-03-16 16:48:21 +08:00
Aldo Cortesi
c5e0dc64b9
Rip out master handler mechanism
...
All events are now handled by addons, and we no longer support any events on
master.
2017-03-16 18:33:24 +13:00
Aldo Cortesi
3de9829003
Remove last handlers in test suite
...
While we're here, make checking that there are NO logs on the proxy more
efficient by setting a short timeout. This reduces total test suite running
time by 15% on my system.
2017-03-16 18:05:57 +13:00
Aldo Cortesi
1410cbb4b6
Remove test handlers by using taddons.RecordingMaster
...
This also means expanding and tweaking the recording master API, which we
reflect through the current test suite
2017-03-16 18:05:57 +13:00
Aldo Cortesi
b6abe96202
Move dump handlers to addon
2017-03-16 18:05:57 +13:00
Aldo Cortesi
1e6c51c698
Merge pull request #2152 from cortesi/readfile
...
Extract flow reading into addons
2017-03-16 15:51:21 +13:00
Aldo Cortesi
228a22b3c0
Add a light-weight custom event system, use it for keepserving
...
This patch implements the lightweight event system I propose in #2144 , adds a
custom event "processing_complete" that is triggered after file read, client
replay and server replay, and introduces a KeepServing addon to handle this for
mitmdump.
2017-03-16 11:07:00 +13:00
Aldo Cortesi
169068c7ec
Clean up addonmanager interface
...
Clarify the plethora of invocation methods we've sprouted, correct some usages
in the codebase.
2017-03-16 08:50:29 +13:00
Maximilian Hils
65c4a3cf1d
add Request.make
2017-03-15 14:06:00 +01:00
Aldo Cortesi
ef582333ff
Extract flow reading into addons
...
This patch moves the final pieces of master functionality into addons.
- Add a ReadFile addon to read from file
- Add a separate ReadStdin addon to read from stdin, only used by mitmdump
- Remove all methods that know about io and serialization from master.Master
2017-03-15 13:44:48 +13:00
Maximilian Hils
30797755fb
stateobject: automatically change id when copying
2017-03-14 17:08:40 +01:00
Maximilian Hils
375680a3be
add connection ids
2017-03-14 17:08:40 +01:00
Maximilian Hils
2d016775fe
Merge pull request #2149 from mhils/multidictview-copy
...
Add MultiDictView.copy()
2017-03-14 14:38:38 +01:00
Maximilian Hils
0de8f46c6e
Merge pull request #2145 from mhils/ne
...
py3: __ne__ delegates to __eq__ by default
2017-03-14 14:38:00 +01:00
Maximilian Hils
961747c4bc
Merge pull request #2120 from ujjwal96/replace-from-file
...
Replace from file through replacement editor #1458
2017-03-14 02:23:31 +01:00
Maximilian Hils
de1de3f626
add MultiDictView.copy
2017-03-14 02:18:02 +01:00
Maximilian Hils
875ce8c9c1
py3: __ne__ delegates to __eq__ by default
2017-03-14 00:40:15 +01:00
Aldo Cortesi
b745428b5c
Enable custom options in config files
...
We also now ignore unknown options in config files by default, and print a
warning if verbosity is incremented.
2017-03-14 09:40:33 +13:00
Aldo Cortesi
2832e790fd
Move serialization methods out of Options
...
Attributes on options share a namespace with options themselves. It's getting
too crowded on our Options object, so let's shift some obvious stuff into the
module.
2017-03-14 08:34:25 +13:00
Aldo Cortesi
c24f7d8e12
Optmanager: handle unknown options in value sets
2017-03-14 08:32:19 +13:00
Aldo Cortesi
75f83ba380
Show custom addon options in --options output
2017-03-14 08:32:19 +13:00
Aldo Cortesi
0c6663d0d5
Enable custom options for addons
...
- Add an options parameter to the start() event. This is to be used by addons
on startup to add custom options.
- Add a running() event that is called once the proxy is up and running.
- With the new paradigm we can't log during master __init__, so add a tiny
termstatus addon to print proxy status to terminal once we're running.
2017-03-14 08:32:19 +13:00
Maximilian Hils
05e11547f5
Merge remote-tracking branch 'origin/master' into pr-2120
...
Conflicts:
test/mitmproxy/addons/test_replace.py
2017-03-12 23:33:49 +01:00
Maximilian Hils
0f4b523868
replacements: error right away when file does not exist
2017-03-12 23:28:49 +01:00
Thomas Kriechbaumer
1b045d24bc
nuke tutils.tmpdir, use pytest tmpdir
2017-03-12 22:55:22 +01:00
Maximilian Hils
4684617d2c
minor fixes
2017-03-12 20:24:50 +01:00
Maximilian Hils
39154e628e
Merge pull request #2118 from lymanZerga11/patch-3
...
Update proxyauth.py to add proxyauth metadata
2017-03-11 03:04:38 +01:00
Thomas Kriechbaumer
e9746c5182
Merge pull request #2114 from mitmproxy/fix-websocket-serialization
...
make websocket flows serializable
2017-03-10 21:15:46 +01:00
Thomas Kriechbaumer
45bf1ff64d
disable h2c prior knowledge connections
2017-03-10 11:37:25 +01:00
Thomas Kriechbaumer
b1dd86d7ae
make websocket flows serializable
...
fixes #2113
2017-03-09 19:08:59 +01:00
Ujjwal Verma
25703f8c53
Fixed Replacement test
2017-03-09 23:33:11 +05:30
lymanZerga11
8e67c6f512
add tests
2017-03-09 09:01:37 +08:00
lymanZerga11
6d53d08b6c
Add tests
2017-03-09 09:01:04 +08:00
Maximilian Hils
63179d9751
core -> core_option_validation
...
longer, but much clearer for devs who are unfamiliar with the codebase.
2017-03-08 15:17:07 +01:00
Maximilian Hils
f276c7a80d
change add_option parameter order
...
name, type, value matches natural language ($x is a bool with a default value of $y)
and also matches the python type annotation order of name: type = value
2017-03-08 00:52:37 +01:00
Maximilian Hils
8707928b16
unify server spec parsing
2017-03-08 00:18:34 +01:00
Aldo Cortesi
98ec3b77fe
Carefully re-add a small number of short flags
...
The mechanism for booleans attaches the short flag to whatever the opposite of
the default is.
2017-03-07 21:01:21 +13:00
Aldo Cortesi
aed780bf48
Change the way proxy authetication is specified
...
We now have one option "proxyauth". If this is "any", we accept any
credentials, if it starts with an @ it's treated as a path to an htpasswd file,
if it is of the form username:password it's a single-user credential.
2017-03-07 20:18:30 +13:00