Commit Graph

5011 Commits

Author SHA1 Message Date
Aldo Cortesi
698af945a4 Adjust for new options scheme 2016-07-14 19:58:12 +12:00
Aldo Cortesi
a4127fb6d5 Add a tick event for addons and scripts, and use it for race-free reload 2016-07-14 19:54:15 +12:00
Aldo Cortesi
5b2d1c044a Tighten the tick loop
In the past, we consumed from the event queue until we were idle for a certain
amount of time (0.1s). This would cause hangs in interactive tools when there
was a stream of events, hurting responsiveness. We now wait for a maximum of
0.1s before triggering the tick loop, will be able to reduce this further down
the track.
2016-07-14 19:54:15 +12:00
Aldo Cortesi
deffed2196 Script cleanup: editing in console, Python3 compatibility fixes 2016-07-14 19:54:15 +12:00
Aldo Cortesi
b94f5fd361 Convert examples and example tests for new-style scripts
Remove the test that just loads all the example scripts for now - it's a very
low-value test, and we need to think of something better.
2016-07-14 19:54:15 +12:00
Aldo Cortesi
a6821aad8e Zap old scripts infrastructure, fix concurrency tests 2016-07-14 19:54:15 +12:00
Aldo Cortesi
a3a22fba33 First-order integration of scripts addon 2016-07-14 19:54:15 +12:00
Shadab Zafar
1266255842 Re-add deletion of stickycookies (#1355)
This was originally added in #1324 (fixing issue #1096)
but got lost during "the big refactor" (#1352)
2016-07-14 00:37:27 -07:00
Aldo Cortesi
c852c3c88d Merge pull request #1354 from mhils/explicit-options
Make options explicit
2016-07-14 18:17:34 +12:00
Maximilian Hils
f84a23f11d minor fixes 2016-07-13 22:01:16 -07:00
Maximilian Hils
ec6fbe9eb6 make options explicit 2016-07-13 21:45:25 -07:00
Aldo Cortesi
b8a23eeaa3 Merge pull request #1353 from cortesi/stream
Streaming to file -> addon
2016-07-14 14:09:59 +12:00
Aldo Cortesi
b2c4f301cb Stream to file -> addon
This commit also clarifies a confusion about the "outfile" attribute and its
use in testing in the mitmdump master.
2016-07-14 13:52:09 +12:00
Aldo Cortesi
941919190b Merge pull request #1352 from cortesi/stickycookie
StickyCookies to addon
2016-07-14 13:14:04 +12:00
Aldo Cortesi
703c05066e Fix indeterminacy in sticky cookie tests
How has this not bitten us before?
2016-07-14 12:59:00 +12:00
Aldo Cortesi
cf3b3d206a Zap unused imports 2016-07-14 12:45:00 +12:00
Aldo Cortesi
120465a142 Ditch StickyCookie module 2016-07-14 12:17:28 +12:00
Aldo Cortesi
00509d86a8 StickyCookies to addon 2016-07-14 12:13:14 +12:00
Aldo Cortesi
c0cd01b6e3 Merge pull request #1351 from cortesi/anticache
AntiCache to addon
2016-07-14 12:09:21 +12:00
Aldo Cortesi
b5a69e2398 Merge remote-tracking branch 'upstream/master' into anticache 2016-07-14 11:38:23 +12:00
Aldo Cortesi
b56de79d6c Merge pull request #1350 from cortesi/addons-cleanup
Addons cleanup
2016-07-14 11:36:53 +12:00
Aldo Cortesi
143bf0dfa9 AntiCache to addon 2016-07-14 11:24:06 +12:00
Aldo Cortesi
6e7b86cd82 Disable OSX tests on Travis for now
We'll re-enable as soon as this is sorted out:

https://github.com/travis-ci/travis-ci/issues/6303
2016-07-14 11:12:37 +12:00
Aldo Cortesi
97b2e6d958 Add a .setter helper to Options
This returns a function that sets a named attribute, and is handy for
event-driven code like mitmproxy console.
2016-07-14 11:11:41 +12:00
Aldo Cortesi
711196592d Merge pull request #1349 from cortesi/addons
Addons: StickyAuth
2016-07-14 11:10:53 +12:00
Aldo Cortesi
c52d567b43 Handle OptionsError for command-line args. 2016-07-14 10:19:16 +12:00
Aldo Cortesi
a8a083a10d Move StickyAuth into addon
This is the first addon that handles an OptionsError, so this commit also demos
how this works in console. Handling of command-line erorrs is on its way.
2016-07-14 10:08:41 +12:00
Aldo Cortesi
696789b8ec func.__name__ works in both 2.7 and 3.5
Thanks to @resam and @dwfreed for pointing this out
2016-07-14 09:33:26 +12:00
Aldo Cortesi
07c3f90c5b Merge pull request #1348 from cortesi/addons
Addons
2016-07-14 00:42:12 +12:00
Aldo Cortesi
9ab1db513f Satisfy our ruthless linting overlords 2016-07-13 23:50:25 +12:00
Aldo Cortesi
255e1eb00b Add the addons mechanism
Demonstrate how it works and interacts with Options by adding our first new
builtin: anticomp.
2016-07-13 23:45:49 +12:00
Aldo Cortesi
1f72532cae Merge branch 'options' into addons 2016-07-13 23:27:06 +12:00
Aldo Cortesi
7f8fd3cdff Basic outline of addons
Add addons.py, integrate with our event mechanism, and change the Master API so
options is the first init argument.
2016-07-13 23:26:04 +12:00
Aldo Cortesi
efc0b9fe7f Merge pull request #1347 from cortesi/options
Options
2016-07-13 22:57:31 +12:00
Aldo Cortesi
077850bd10 Raise AttributeError from Options.__getattr__ 2016-07-13 20:05:17 +12:00
Aldo Cortesi
c9a0fe6a0e Show how options integrates with console
This is not functional at the moment, because all mutable options are still on
master.
2016-07-13 19:15:38 +12:00
Aldo Cortesi
a20f8e9620 More powerful Options scheme
This prepares us for the addon configuration mechanism and gives us a more
flexible way to handle options changes. This changeset should spell the end of
the current anti-pattern in our codebase where we duplicate data out of options
onto the master when mutability is needed. From now on, Options can be the one
source of thruth.

- Change notifications
- Rollback on error
2016-07-13 18:45:50 +12:00
Clemens Brunner
2624911d75 fixed bug (#1342)
fix minor mitmweb issues
2016-07-12 14:52:33 -07:00
Thomas Kriechbaumer
3579c6dd43 http2: fix race-condition in tests 2016-07-12 19:55:28 +02:00
Thomas Kriechbaumer
9267b2b501 Merge pull request #1345 from strohu/patch-2
Make sudo pfctl error check Python 3 compatible
2016-07-12 19:31:42 +02:00
strohu
6a9407d7cc Make sudo pfctl error check Python 3 compatible
In Python 3, subprocess.check_output() returns a sequence of bytes. This change ensures that it will be converted to a string, so the substring test for the sudo error message does not raise a TypeError. This fixes the code in Python 3 while remaining compatible with Python 2.
2016-07-12 15:47:01 +01:00
Thomas Kriechbaumer
4fd71d7bfd Merge pull request #1344 from strohu/patch-1
Fix is_ascii check when determining next layer
2016-07-12 15:54:00 +02:00
strohu
6217614204 Fix is_ascii check when determining next layer 2016-07-12 13:18:58 +01:00
Thomas Kriechbaumer
427ba88618 Merge pull request #1338 from Kriechi/http2-tests
Improve HTTP/2 test coverage
2016-07-10 20:40:46 +02:00
Thomas Kriechbaumer
7c09255298 http2: more coverage 2016-07-10 20:07:43 +02:00
Thomas Kriechbaumer
b611997619 http2: simplify test class 2016-07-10 18:53:00 +02:00
Thomas Kriechbaumer
e89defe9ad update dependency and loosen restrictions on good citizens 2016-07-10 13:38:49 +02:00
Thomas Kriechbaumer
81c450ddc8 Merge pull request #1335 from mitmproxy/travis
move OSX Travis job to py3 for snapshots
2016-07-10 13:17:42 +02:00
Thomas Kriechbaumer
c90de8b9a4 fix sysinfo for py3 2016-07-10 13:16:23 +02:00
Thomas Kriechbaumer
ff63fadf0b move OSX Travis job to py3 for snapshots 2016-07-10 12:48:48 +02:00