Commit Graph

4708 Commits

Author SHA1 Message Date
Aldo Cortesi
09edbd9492 Improve debugging of thread and other leaks
- Add basethread.BaseThread that all threads outside of test suites should use
- Add a signal handler to mitmproxy, mitmdump and mitmweb that dumps resource
information to screen when SIGUSR1 is received.
- Improve thread naming throughout to make thread dumps understandable
2016-06-11 19:52:24 +12:00
Aldo Cortesi
5b9f07c81c debug.sysinfo: tests and coverage 2016-06-11 17:56:17 +12:00
Aldo Cortesi
e367b88195 Add a --sysinfo flag to all daemons
This dumps all the platform information and mitmproxy version data we'd
normally need to troubleshoot an issue.
2016-06-11 16:40:21 +12:00
Aldo Cortesi
4831e3e0bc Merge pull request #1238 from cortesi/toxfiddle
Distinguish between CI and interactive versions of tox
2016-06-11 16:24:12 +12:00
Aldo Cortesi
227d762cac Merge branch 'master' into toxfiddle 2016-06-11 16:08:14 +12:00
Aldo Cortesi
250b47487a tox: Pull Py3 test list out into an environment variable
Suggestion from @resam
2016-06-11 09:34:40 +12:00
Maximilian Hils
0b241a1da7 Merge remote-tracking branch 'jason/master' 2016-06-10 12:03:56 -07:00
Aldo Cortesi
3f7dc296c8 We're not using tox-travis any more - ditch it. 2016-06-10 20:05:18 +12:00
Aldo Cortesi
6da3ef48e0 Remove explicit versions in tox CI environments
Tox matches the environment prefix against its std environs, so we don't need
to be explicit with versions here.
2016-06-10 19:38:55 +12:00
Aldo Cortesi
bac3e87538 Distinguish between CI and interactive versions of tox
- This patch changes tox so that local invocation runs the tests
with paralellism, coverage disabled, and without attempting to report coverage
upstream.

- You can now run specific tests for the py27 environment:

    tox -e py27 ./path/to/my/test

We can't do this for py35 just yet, because of our junk filter, and the fact
that we specify which tests to run directly in the conf file. Once these are
cleaned up, we can extend.
2016-06-10 16:03:54 +12:00
Aldo Cortesi
11fb217191 Fix a crash when pathoc connections fail
Use the new handler to tidy this up.
2016-06-10 11:14:23 +12:00
Aldo Cortesi
120b6c0b59 Merge remote-tracking branch 'upstream/master' into pathodlog 2016-06-10 10:49:45 +12:00
Aldo Cortesi
2cf79b7912 Remove timestamps from pathoc output
Pathoc is an interactive tool, no need for a long leading timestamp. More
generally, make timestamps optional in the logging mechanism so we can
configure this with command-line flags or something down the track.
2016-06-10 10:47:28 +12:00
Jason
c33df55919 [web] update build 2016-06-09 20:39:51 +08:00
Jason
81a0c45c89 [web] header.js -> Header.js 2016-06-09 20:35:03 +08:00
Jason
6c95635cb8 [web] eventlog.js -> EventLog.jsx 2016-06-09 18:40:59 +08:00
Jason
1baefcdc99 [web] footer.js -> Footer.jsx 2016-06-09 18:13:18 +08:00
Jason
e24bf8d73f [web] fix shortcut for header fields 2016-06-09 18:03:40 +08:00
Jason
f306cfa8b6 [web] separate flowtable to multiple files 2016-06-09 17:52:30 +08:00
Maximilian Hils
52754f40c2 Merge pull request #1233 from gzzhanghao/master
[web] ProxyApp and MainView with ES6
2016-06-09 00:53:33 -07:00
Jason
6407765285 [web] update build 2016-06-09 14:22:23 +08:00
Jason
8e538c7630 [web] fix updateLocation 2016-06-09 14:20:14 +08:00
Jason
851bb4bf68 [web] rewrite ProxyApp and MainView with es6 2016-06-09 13:35:41 +08:00
Maximilian Hils
7707d096d2 fix default websocket state 2016-06-08 19:41:34 -07:00
Aldo Cortesi
9b0e31d312 Merge pull request #1232 from cortesi/odict
Remove odict
2016-06-09 13:59:26 +12:00
Aldo Cortesi
c421c41307 Remove odict
- Adds default implementations for _kconv and _reduce_values to MultiDict.
Without these, operations fail in really, really non-obvious ways.
- Replace the remaining few instances of ODict

Fixes #1159
2016-06-09 13:28:43 +12:00
Maximilian Hils
90cb84b536 Merge pull request #1220 from mitmproxy/add_sorting_with_redux
Add sorting with redux
2016-06-08 13:37:09 -07:00
Thomas Kriechbaumer
68f07911e0 properly fail on test failures 2016-06-08 19:46:13 +02:00
Maximilian Hils
f3f8dce5a0 Merge pull request #1230 from redfast00/master
fix after cleanup of netlib.utils in mitmproxy.console.statusbar
2016-06-08 10:15:55 -07:00
Thomas Kriechbaumer
696fe209e0 Merge pull request #1223 from dufferzafar/pathod-lang-http2
Python 3 - pathod.language.http2
2016-06-08 13:09:40 +02:00
redfast00
16d32b2ce5
fix after cleanup of netlib.utils in mitmproxy.console.statusbar 2016-06-08 13:07:19 +02:00
Shadab Zafar
7d62121b85 Py3: encode() the spec before appending to path 2016-06-08 16:29:21 +05:30
Shadab Zafar
70216673a1 Py3: Find content-length header by bytes 2016-06-08 16:28:39 +05:30
Shadab Zafar
e187358e97 Py3: Pass bytes to http Request and Response 2016-06-08 16:17:00 +05:30
Shadab Zafar
2ff5c789df Enable Travis for test_language_http2 2016-06-08 16:17:00 +05:30
Shadab Zafar
b3b4156c2f Py3: Fix test_language_http2 tests by using byte literals 2016-06-08 16:15:54 +05:30
Shadab Zafar
6b03df2633 Py3: Use global next() instead of iterator method 2016-06-08 16:15:54 +05:30
Shadab Zafar
0280af9522 Py3: Use BytesIO instead of StringIO 2016-06-08 16:15:54 +05:30
Shadab Zafar
4f97216501 Py3: Properly encode() access to user_agents 2016-06-08 16:15:54 +05:30
Clemens
ad84d650de sorting add pr review changes 2016-06-08 10:29:33 +02:00
Aldo Cortesi
e93fe9d4fa Merge pull request #1228 from cortesi/controller2
Controller refactoring
2016-06-08 14:09:59 +12:00
Aldo Cortesi
a5cb241c7c If a message has been acked, all other processors are skipped
This applies the constraint, but does to clumsily. When we've unified modules
and processors it will be much nicer. We also make some exceptions for the
master processors that we may want to re-evaluate down the track.
2016-06-08 12:58:58 +12:00
Aldo Cortesi
b3bf754e53 Simplify script concurrency helpers
We now have take() to prevent double-replies.
2016-06-08 11:21:38 +12:00
Aldo Cortesi
a388ddfd78 A new interface for reply
Reply is now explicit - it's no longer a callable itself. Instead, we have:

    reply.kill()            - kill the flow
    reply.ack()             - ack, but don't send anything
    reply.send(message)     - send a response

This is part of an incremental move to detach reply from our flow objects,
and unify the script and handler interfaces.
2016-06-08 10:44:20 +12:00
Aldo Cortesi
982077ec31 Add reply.ack and reply.kill 2016-06-08 10:14:34 +12:00
Aldo Cortesi
db11fe0087 Merge branch 'master' into beautiful-json 2016-06-08 09:19:25 +12:00
Aldo Cortesi
eb680e7764 Merge pull request #1226 from Kriechi/travis-tox
use tox in Travis
2016-06-08 09:06:47 +12:00
Thomas Kriechbaumer
14ac916bce use tox in Travis 2016-06-07 19:59:49 +02:00
Clemens
dbbda03020 sorting done, ready to review 2016-06-07 11:22:52 +02:00
Clemens
fa3ad2382b sorting done, ready to review 2016-06-07 11:07:25 +02:00