Commit Graph

1067 Commits

Author SHA1 Message Date
Aldo Cortesi a7522d9308 pathod.test shouldn't use the API at all 2016-06-02 18:27:51 +12:00
Aldo Cortesi 254614e9f7 Since we have locks over the logs, use direct access rather than API requests to get to them 2016-06-02 18:10:36 +12:00
Aldo Cortesi ffca395e48 Honesty in testing
- Don't skip tests that fail
- Don't omit console from coverage

I'm working on the pathod races, and can't seem to reproduce the failures
locally.

Also, let's not kid ourselves about the console coverage - it should be
tracked. To improve it, we should measure it. Regressions in coverage of the
module should be flagged by CI.
2016-06-02 14:44:06 +12:00
Aldo Cortesi 09da1febbd Shift a bunch more string-related functions to strutils 2016-06-02 13:04:19 +12:00
Aldo Cortesi 31012d782f Consolidate some functions to strutils.bytes_to_escaped_str 2016-06-02 12:53:12 +12:00
Aldo Cortesi cccdc98426 Utils reorganisation: add netlib.strutils
Extract a number of string and format-related functions to netlib.strutils.
2016-06-02 12:31:41 +12:00
Aldo Cortesi eaa3b308f7 Fix non-deterministic test failures in export
We had various places in the code where we relied on incidental order of dict
keys. Add a helper to multidict, and fix.
2016-06-02 11:37:18 +12:00
Maximilian Hils 898602ad21 Merge pull request #1180 from dufferzafar/pathod-base
Python 3 - pathod.language.base
2016-05-31 14:46:28 -07:00
Maximilian Hils 30fff1fb32 be more strict about module namespaces 2016-05-31 14:05:57 -07:00
Aldo Cortesi 42e91fcfe1 http2.frame -> http2.framereader 2016-05-31 20:32:28 +12:00
Aldo Cortesi 5a75ea3fc6 Fix test failures 2016-05-31 20:19:54 +12:00
Aldo Cortesi 40a030f215 Satisfy flake8 2016-05-31 19:58:28 +12:00
Aldo Cortesi f62efed304 Unify and make symmetric pretty_size and parse_size 2016-05-31 19:45:48 +12:00
Aldo Cortesi b2f63458fc Move human-friendly format functions to netlib.human, remove redundant implementations 2016-05-31 19:32:08 +12:00
Aldo Cortesi ec34cae618 utils.multipartdecode -> http.multipart.decode
also

utils.parse_content_type -> http.headers.parse_content_type
2016-05-31 19:07:55 +12:00
Aldo Cortesi 15b2374ef9 netlib.utils.get_header_tokens -> netlib.http1.read.get_header_tokens
Placing this next to its only use.
2016-05-31 18:54:42 +12:00
Aldo Cortesi 6dda2b2ee5 Module is part of the name - url.decode, not url.urldecode
A pattern we need to use far more often in the codebase
2016-05-31 18:46:19 +12:00
Aldo Cortesi 4e6c9c4e93 Extract url functions from netlib.utils and move to netlib.http.url 2016-05-31 18:42:56 +12:00
Aldo Cortesi 08fbe6f111 Start cleaning up netlib.utils
- Remove http2 functions, move to http2.frame
- Remove Serializable, move to netlib.basetypes
2016-05-31 17:16:31 +12:00
Aldo Cortesi 9ea68ebd28 Improve handling of pseudo-headers
- The canonical source for :method, :scheme and :path are the .method, .scheme
and .path attributes on the request object.
- These pseudo-headers are stripped after reading the request, and re-inserted
just before sending.
- The :authority header remains, and should be handled analagously to the Host
header in HTTP1 with respect to display and user interaction.
2016-05-31 14:36:17 +12:00
Aldo Cortesi bc6509ab6d Fix test import error 2016-05-31 10:25:02 +12:00
Shadab Zafar 25e30f42be Py3: Use byte literals for comparison 2016-05-31 01:13:50 +05:30
Maximilian Hils 89f07603ca split mitmproxy.flow into mitmproxy.flow.* 2016-05-30 01:40:09 -07:00
Thomas Kriechbaumer be9438b01c fix 2016-05-29 22:58:56 +02:00
Thomas Kriechbaumer 8cd0c9c330 fix windows paths 2016-05-29 22:47:51 +02:00
Thomas Kriechbaumer fb0b591242 fix har test 2016-05-29 22:30:15 +02:00
Thomas Kriechbaumer 03167d5e71 fix headers order 2016-05-29 22:07:22 +02:00
Thomas Kriechbaumer 01fcaa64c3 fix #1162 2016-05-29 13:58:14 +02:00
Thomas Kriechbaumer e2447406cc more style cleanup 2016-05-29 13:43:20 +02:00
Thomas Kriechbaumer 8eeab37a07 more style cleanup
Use this to check:
flake8 --count mitmproxy netlib pathod examples test
2016-05-29 11:55:12 +02:00
Aldo Cortesi f3bee6f245 Merge pull request #1172 from cortesi/solidcore
First steps to solidifying the core
2016-05-29 20:03:40 +12:00
Maximilian Hils 85aa5da6e3 fix tests 2016-05-28 19:31:43 -07:00
Aldo Cortesi 0a875421c5 handle_* -> *
Now that we have the controller.handler decorator, the _handler prefix
stutters.
2016-05-29 12:49:01 +12:00
Aldo Cortesi 8bb9285678 Explicitly list all events 2016-05-29 12:15:52 +12:00
Aldo Cortesi e4f043f69c Flatten ServerMaster into Master 2016-05-29 12:01:46 +12:00
Aldo Cortesi ed415877d4 Merge branch 'master' into solidcore 2016-05-29 11:14:46 +12:00
Thomas Kriechbaumer caee1adeb6 cleanup imports with flake8 2016-05-28 14:43:32 +02:00
Maximilian Hils fa7964988f fix Python 2 tests 2016-05-28 00:17:57 -07:00
Shadab Zafar b71ef054b5 Py3: Use cStringIO from six.moves 2016-05-28 00:17:57 -07:00
Aldo Cortesi f4813d5649 Make @controller.handler inheritance-friendly
Use this to adapt mitmweb and mitproxy console
2016-05-28 12:38:07 +12:00
Aldo Cortesi f29f6210bb Mandate that all handlers must be wrapped, make tests pass
mitmproxy, mitmdump and mitmweb masters still to be done
2016-05-28 11:00:00 +12:00
Aldo Cortesi 7c4843857b Sketch out a more solid core
- Decorator for handler methods
- Stricter checking for double-acks and non-acks
2016-05-28 11:00:00 +12:00
Shadab Zafar bc6cd13356 Go Python 3 by default with the bytes conversion 2016-05-26 23:07:37 +05:30
Shadab Zafar 1bbb178b6a Remove inner_repr, fixup escape_unprintables 2016-05-26 23:07:37 +05:30
Shadab Zafar 22e4bc1938 Py3: Handle bytes case in inner_repr 2016-05-26 23:07:37 +05:30
Maximilian Hils d3477e27fa bytes_to_escaped_str: always escape single quotes 2016-05-25 20:11:34 -07:00
Maximilian Hils 7a8da48a30 escaped_str_to_bytes: support unicode on python 2 2016-05-25 19:16:02 -07:00
Thomas Kriechbaumer ebaad91484 Merge pull request #1127 from mitmproxy/tcp-flows
mitmdump: Add Basic Support for TCP Flows
2016-05-23 20:54:14 +02:00
Aldo Cortesi 97f3077082 Merge branch 'mhils-multidict' 2016-05-21 15:01:19 +12:00
Aldo Cortesi 43d7965532 Clean un-needed imports 2016-05-21 15:00:52 +12:00
Aldo Cortesi 123e3b130c We don't need 3 slightly different implementations of Data 2016-05-21 11:53:14 +12:00
Aldo Cortesi a5c4cd0340 A clearer implementation of MultiDictView
This makes MultiDictView work with a simple getter/setter pair, rather than
using attributes with implicit leading underscores. Also move MultiDictView
into multidict.py and adds some simple unit tests.
2016-05-21 11:37:36 +12:00
Aldo Cortesi 96d8ec1ee3 Merge branch 'multidict' of https://github.com/mhils/mitmproxy into mhils-multidict 2016-05-21 10:15:37 +12:00
Maximilian Hils 84144ca0c6 tests: silence flaky pathod test 2016-05-20 14:05:04 -07:00
Maximilian Hils a3946d2a2d tests++ 2016-05-20 13:27:26 -07:00
Maximilian Hils b538138ead tests++ 2016-05-20 11:04:27 -07:00
Maximilian Hils f96697646c add FlowMaster.active_flows 2016-05-19 22:09:00 -07:00
Maximilian Hils d38989fe7e tests: finish connections properly 2016-05-19 22:07:56 -07:00
Maximilian Hils d3c30d9005 fix tests, don't double-add error'd flows 2016-05-19 22:07:56 -07:00
Maximilian Hils acd51befbb minor fixes, adjust tests 2016-05-19 22:07:56 -07:00
Thomas Kriechbaumer 79cb17ef03 Merge pull request #1152 from mhils/cleanup-odict
clean up odict
2016-05-19 16:47:51 +02:00
Maximilian Hils a7b9e3033d tests: properly skip pathod tests 2016-05-18 22:51:27 -07:00
Maximilian Hils 6f8db2d7eb improve MultiDict, add ImmutableMultiDict, adjust response.cookies 2016-05-18 22:50:19 -07:00
Maximilian Hils 8e39b7bf38 test flow export with duplicate query string 2016-05-18 19:28:23 -07:00
Maximilian Hils d1fc694952 clean up odict 2016-05-18 19:01:49 -07:00
Maximilian Hils 44ac64aa72 add MultiDict
This commit introduces MultiDict, a multi-dictionary similar to
ODict, but with improved semantics (as in the Headers class).
MultiDict fixes a few issues that were present in the Request/Response
API. In particular, `request.cookies["foo"] = "bar"` has previously been a
no-op, as the cookies property returned a mutable _copy_ of the cookies.
2016-05-18 18:46:42 -07:00
Maximilian Hils 4c3fb8f509 tests: xfail -> skip 2016-05-18 18:42:35 -07:00
Thomas Kriechbaumer 09b90fce9e remove debug print 2016-05-17 22:45:09 -07:00
Thomas Kriechbaumer e61014d203 http2: add connection-lost test 2016-05-17 21:25:10 -07:00
Aldo Cortesi d27fd55657 Fix broken test_flow_export tests
- Make the tests safe for concurrency
- Fix a test that only passed due to prior modification of global state

This also fixes the project generally for parallel test execution.
2016-05-18 12:34:45 +12:00
Aldo Cortesi 00cc836470 Clean up flow export tests
- Externalise test data
- Define a less finicky comparator for Python code
2016-05-18 12:16:50 +12:00
Thomas Kriechbaumer 2887480bcb fix naming which caused overwriting of functions 2016-05-15 10:39:39 -07:00
Thomas Kriechbaumer f4a13d6f9f http2: improve header tests (#1143) (#1144) 2016-05-14 10:14:42 -07:00
Maximilian Hils f1c922c652 Sanitize Print (#1135)
* sanitize strings with shell control characters

* netlib: add utilities to safe-print bytes

* escaped str: add TODO for multi-byte chars
2016-05-12 11:03:57 -06:00
Thomas Kriechbaumer 7a813936c6 disable http2 header encoding, use bytes everywhere 2016-05-11 16:47:58 -05:00
Thomas Kriechbaumer bef72c1b02 Merge pull request #1121 from Kriechi/fix-cookies
improve cookie parsing
2016-05-11 12:30:44 -05:00
Thomas Kriechbaumer e2ee48a0ee replace SimpleCookie with our own parser lib 2016-05-11 12:20:21 -05:00
Maximilian Hils 67a37e6d1f improve script loading 2016-05-11 11:15:36 -06:00
Maximilian Hils 4c8e334642 actually fix tests 2016-05-10 12:19:26 -06:00
Maximilian Hils bb4f9611f5 Revert "fix tests"
This reverts commit f315dc1eb9.
2016-05-10 12:18:05 -06:00
Maximilian Hils f315dc1eb9 fix tests 2016-05-10 12:17:25 -06:00
Thomas Kriechbaumer 08002282e8 improve cookie parsing
allows '/' to be within a cookie name
removes deprecated cookie getter/setter
fixes #1118
2016-05-10 11:13:12 -05:00
Maximilian Hils 9d47d3b1ec fix #1120 2016-05-09 12:15:20 -06:00
Maximilian Hils 74cfd7a4e2 stateobject: support lists 2016-04-29 20:59:26 -07:00
Maximilian Hils 317b4becca mitmdump: don't fail for other flowtypes 2016-04-29 20:18:32 -07:00
Maximilian Hils 54c4859a95 remove netlib version check 2016-04-29 12:00:38 -07:00
Maximilian Hils 909d5ec87e FlowReadError -> FlowReadException 2016-04-29 11:17:49 -07:00
Steven Van Acker 66267ad276 support for setting/sending multiple cookies (#1091)
* support for setting/sending multiple cookies

* py.test for multiple cookie support
2016-04-22 11:16:05 -07:00
Maximilian Hils 5b12720962 silence flaky pathod test 2016-04-21 18:29:16 -07:00
Maximilian Hils 028f5c4929 downgrade pyparsing to fix #1087 and #1090 2016-04-21 17:11:28 -07:00
Maximilian Hils 423c076c61 cleanup mitmproxy.controller, raise Kill in Channel (#1085) 2016-04-14 12:03:29 -07:00
Maximilian Hils bc60c26c7b py3++ 2016-04-13 22:34:28 -07:00
Maximilian Hils 70e35b7017 peer_address -> ip_address 2016-04-11 14:14:18 -07:00
Maximilian Hils dcdee7dc46 server replay: keep --kill active 2016-04-09 16:47:05 -07:00
Maximilian Hils 0259f47997 Merge branch 'better-replace' 2016-04-03 08:17:30 -07:00
Thomas Kriechbaumer f5fe93bf13 Merge pull request #1074 from mitmproxy/move-response-refresh
move HTTPResponse.refresh into netlib
2016-04-03 10:16:39 +02:00
Thomas Kriechbaumer 16fdbb4f2f Merge pull request #1073 from mitmproxy/first-line-format
form_(in|out) -> first_line_format
2016-04-03 10:16:06 +02:00
Maximilian Hils 35a6d6e7f6 response.msg -> response.reason 2016-04-02 22:54:46 +02:00
Maximilian Hils 4e2acc4d9d move HTTPResponse.refresh into netlib 2016-04-02 22:49:05 +02:00
Maximilian Hils e6fa2688c9 form_(in|out) -> first_line_format 2016-04-02 21:57:35 +02:00
Maximilian Hils 610842cda5 fix FlowMaster.create_request, add test 2016-04-02 21:15:55 +02:00
Maximilian Hils 806aa0f41c improve .replace() and move it into netlib 2016-04-02 14:38:33 +02:00
Maximilian Hils 4ee8808b44 add Serializeable.copy 2016-04-02 13:50:53 +02:00
Zohar Lorberbaum cd2ef2fe13 merge 2016-03-28 10:17:58 -07:00
Zohar Lorberbaum 37483e228f Merge remote-tracking branch 'mitmproxy/master'
Merge with master
2016-03-28 10:06:02 -07:00
Zohar Lorberbaum 6d16f44ab7 Merge with master 2016-03-28 10:03:26 -07:00
Zohar Lorberbaum e56198ae7c cleaner target url 2016-03-28 09:51:06 -07:00
Zohar Lorberbaum ef3d24e8c8 locust_task re-use locust_code. 2016-03-27 21:42:52 -07:00
Zohar Lorberbaum 9f77c80a32 pep8 2016-03-25 17:29:42 -07:00
Zohar Lorberbaum 5b07e8b3af Add UI shortcuts. 2016-03-24 20:29:53 -07:00
Zohar Lorberbaum a44062effb Flow export to locust.io load test tool. 2016-03-23 01:49:18 -07:00
Maximilian Hils 403ac82a7d netlib: request.path can be None 2016-03-20 23:22:50 +01:00
Maximilian Hils 726536689b py3++ 2016-03-20 22:58:35 +01:00
Maximilian Hils 2ce023a991 py3++ 2016-03-20 22:50:03 +01:00
Maximilian Hils 88d365cfe6 py3++: cStringIO 2016-03-20 19:40:03 +01:00
Maximilian Hils c52c59f858 port mitmproxy.scripts to py3 2016-03-19 19:53:27 +01:00
Maximilian Hils 4be9074b49 fix tests on OSX 2016-03-19 19:19:36 +01:00
Maximilian Hils fb0b17ee93 simplify tests for @concurrent 2016-03-19 03:04:55 +01:00
Maximilian Hils 7e49b8c186 add tests for mitmproxy.script.reloader 2016-03-19 03:04:55 +01:00
Maximilian Hils 898f5d10b9 improve mitmproxy.scripts semantics, clean up tests 2016-03-19 03:04:55 +01:00
Maximilian Hils 983b0dd4f6 Merge pull request #1014 from ikoz/master
New option: Add server certs to client chain
2016-03-17 02:28:00 +01:00
ikoz 9cc55f211f Rename 'server' to 'upstream' in identifiers related to the AddServerCertsToClientChain feature 2016-03-16 19:20:18 +00:00
ikoz d26c7f4ca5 Move more init things inside AddServerCertsToClientChainMixin 2016-03-16 18:43:51 +00:00
ikoz efc3e942d5 Restructuring of the AddServerCertsToClientChain test so that it uses a Mixin - also removed some extra printf statements 2016-03-16 17:43:48 +00:00
Maximilian Hils 2a20fc59b2 Merge pull request #1030 from xhy940801/socks
Add 'UsernamePasswordAuth' 'UsernamePasswordAuthResponse' to SOCKS
2016-03-16 12:16:52 +01:00
Thomas Kriechbaumer 0ab9e60168 Merge pull request #1019 from lilydjwg/master
add resolved IP address in "Details" tab
2016-03-15 23:28:08 +01:00
ikoz 776e625413 Add tests for add-server-certs-to-client-chain feature 2016-03-15 14:58:38 +00:00
lilydjwg eecadadce3 use "peer_address" instead of "sock_address" 2016-03-15 21:32:06 +08:00
yonder ba933dff2c Add 'UsernamePasswordAuth' 'UsernamePasswordAuthResponse' to SOCKS 2016-03-15 14:33:20 +08:00
lilydjwg 20ec502032 fix tests for "sock_address" 2016-03-14 22:17:12 +08:00
Shadab Zafar 5a1c3c4ad8 Update contentview test 2016-03-11 18:40:51 +05:30
Shadab Zafar 35204ecb1c Move har_extractor tests to the examples file 2016-03-11 17:57:57 +05:30
Shadab Zafar 7c5791e51a Use the contextmanager in all tests 2016-03-11 17:57:57 +05:30
Shadab Zafar af9442a9ba Add contextmanager to load an example 2016-03-11 17:57:57 +05:30
Shadab Zafar b95cc63b87 Add tests for redirect_requests example 2016-03-11 17:57:57 +05:30
Shadab Zafar 2cd5392657 Add test for iframe_injector example 2016-03-11 17:57:57 +05:30
Shadab Zafar ba1cf18f42 Add tests for custom_contentviews example 2016-03-11 17:57:57 +05:30
Shadab Zafar 5eca2223d5 Add tests for modify_response_body example 2016-03-11 17:57:57 +05:30
Shadab Zafar c378fe2199 Remove missing import 2016-03-11 17:57:57 +05:30
Shadab Zafar 9ef1522b5f Update modify_querystring example & add test for it 2016-03-11 17:57:57 +05:30
Shadab Zafar 96df077d54 Add tests for add_header example 2016-03-11 17:57:57 +05:30
Shadab Zafar a2274f52e4 Add tests for modify_form example 2016-03-11 17:57:57 +05:30
Thomas Kriechbaumer f59770e949 Merge pull request #969 from dufferzafar/pretty-export
Indent JSON body while exporting it as code
2016-03-04 19:57:22 +01:00
Thomas Kriechbaumer 428da2c4b1 Merge pull request #989 from dufferzafar/har-extractor
Improve HAR Extractor Script
2016-03-04 19:55:52 +01:00
yonder 0e27dfd9c1 Improve test case 2016-03-04 11:12:03 -05:00
Shadab Zafar d17cd5c6ec Use custom Context object 2016-03-04 03:13:40 +05:30
Shadab Zafar 6a4f1ae7c7 Test har_extractor.response 2016-03-04 03:10:29 +05:30
Shadab Zafar c982f579dd Add basic test for har_extractor 2016-03-04 02:32:01 +05:30
Shadab Zafar 48f1c9afc2 Add a test for json request 2016-03-04 01:06:09 +05:30
yonder b8ae666c78 Add test for upstream-auth 2016-03-02 12:19:33 -05:00
Maximilian Hils ade5078ebd suppress pathoc test timeouts on windows 2016-02-27 14:36:17 +01:00
Maximilian Hils 2bec6a35e2 fix #956 2016-02-19 00:30:37 +01:00
Maximilian Hils ecb26c3c82 Merge remote-tracking branch 'duffer/pretty-host' 2016-02-18 23:17:02 +01:00
Shadab Zafar d6ab9901d1 Fixup more tests 2016-02-18 21:58:32 +05:30
Maximilian Hils 20352f3453 fix test paths, move coverage config into setup.py 2016-02-18 13:24:17 +01:00
Shadab Zafar 175109e44e Use host header values only when the ports match 2016-02-18 07:01:52 +05:30
Aldo Cortesi b6e5e50c24 Make fuzzing run again 2016-02-18 10:40:16 +13:00
Aldo Cortesi 92597f82ea Docs and examples to top level 2016-02-18 09:27:08 +13:00
Shadab Zafar 6f96da08c9 Handle port numbers in host header
from: https://github.com/mitmproxy/netlib/pull/121
2016-02-17 08:48:59 +05:30
Will Coster 595d2a2fa0 Add a content view for query parameters
The query content view uses format_dict to display a table of query
parameters and is made the default content view for requests with
query parameters and no request body.

To facilitate this the query parameter dictionary of HTTPRequests is
added to the metadata content view parameter under the "query" key.

Additionally, the logic for handling "no content" messages is moved
from contentviews.get_content_view to ViewAuto. This is necessary as
it allows the query content view to be displayed when there is no
request body.
2016-02-16 18:50:10 -08:00
Thomas Kriechbaumer 6b585023fd move tservers helper 2016-02-16 21:53:16 +01:00
Thomas Kriechbaumer 8242f2cc9d rename ProxTest -> ProxyTest 2016-02-16 21:15:50 +01:00
Thomas Kriechbaumer 1785f70a19 fix all libpathod->pathod references 2016-02-16 21:11:19 +01:00
Thomas Kriechbaumer d95a1f9819 fix all libmproxy->mitmproxy references 2016-02-16 20:56:33 +01:00
Will Coster 0fc348d211 Fix failing unit tests caused by a69d223b 2016-02-15 20:36:21 -08:00
Maximilian Hils 2d569527f2 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-02-16 02:02:40 +01:00
Maximilian Hils bc7db1be2d temporarily silence flaky tests 2016-02-16 02:02:32 +01:00
Will Coster a69d223b33 Preserve host header when modifying request path
Currently the path_components and query setters of the Request object
use the url setter under the hood. The url setter updates all parts of
the URL including the host. If the host header and the host in the
request URL are different (as is common when making HTTPS requests)
then the host header will be updated to the value in the URL as a
result of modifying the path.

This change fixes this problem by modifying the query and
path_components setters to not use the url setter and instead directly
update the path field.
2016-02-15 16:21:20 -08:00
Maximilian Hils a78c6f1cb0 update README.rst, minor fixes 2016-02-15 19:43:55 +01:00
Maximilian Hils fc9fa87827 fix ALPN checks 2016-02-15 18:43:06 +01:00
Maximilian Hils d7158f975e move tests into shared folder 2016-02-15 16:34:22 +01:00
Maximilian Hils 33fa49277a move mitmproxy 2016-02-15 14:58:46 +01:00
Thomas Kriechbaumer 4767474d4b remove noop code 2016-02-14 14:58:36 +01:00
Thomas Kriechbaumer 6746cf5f54 autoflake 2016-02-14 14:45:27 +01:00
Maximilian Hils 324184a25a Merge pull request #916 from dufferzafar/export-code
Export any flow request as Python code
2016-02-10 16:05:03 +01:00
Shadab Zafar 5f044d03b7 Use classes to test a command, move code to separate methods under
classes
2016-02-09 21:58:29 +05:30
Shadab Zafar 0576f579ed Use textwrap.dedent to improve readability of tests 2016-02-09 21:52:22 +05:30
Shadab Zafar 1c2f8a608e Rename test_export_flow.py to test_flow_export.py 2016-02-09 21:26:05 +05:30
Shadab Zafar ae8fb0a3d3 Fix content length header issues
Caused by:
d253ebc142
2016-02-08 23:31:56 +05:30
Shadab Zafar 56892f885b Tests for flow_export.raw_request 2016-02-08 23:31:30 +05:30
Shadab Zafar ddeb3731a8 Tests for flow_export.python_code 2016-02-08 23:31:01 +05:30
Shadab Zafar 61a4743b62 Test exact return value of flow_export.curl_command 2016-02-08 21:56:20 +05:30
Shadab Zafar abc1552800 Add some basic tests for flow_exports 2016-02-08 21:28:10 +05:30
Maximilian Hils bdb763d9cf make stateobject simpler and stricter 2016-02-08 04:19:25 +01:00
Maximilian Hils 2654cd87af fix #876 2016-02-08 01:06:18 +01:00
Thomas Kriechbaumer cf8c063773 fix http2 race condition 2016-02-04 09:52:29 +01:00
Thomas Kriechbaumer ca5cc34d0b cleanup 2016-02-04 09:52:29 +01:00
Thomas Kriechbaumer 738094e167 improve test reliability 2016-02-04 09:52:28 +01:00
Thomas Kriechbaumer d8ae7c3e29 fix tests and use netlib utils 2016-02-04 09:52:28 +01:00
Thomas Kriechbaumer 6d3b3994e2 code formatting 2016-02-04 09:52:28 +01:00
Thomas Kriechbaumer 44f83b5947 add more tests, improve coverage 2016-02-04 09:52:27 +01:00
Thomas Kriechbaumer bd1d9e28e4 test stream resets in push promise 2016-02-04 09:52:27 +01:00
Thomas Kriechbaumer 276817e40e refactor http2 tests 2016-02-04 09:52:27 +01:00
Thomas Kriechbaumer 187691e65b remove print 2016-02-04 09:52:27 +01:00
Thomas Kriechbaumer 41f4197a0d test PushPromise support 2016-02-04 09:52:27 +01:00
Thomas Kriechbaumer 735c79a2ed increase coverage 2016-02-04 09:52:04 +01:00
Thomas Kriechbaumer 47cf27c011 silence 3rd party module loggers 2016-02-04 09:52:03 +01:00
Thomas Kriechbaumer bfc7d3967c exclude tests if no alpn support present 2016-02-04 09:52:03 +01:00
Thomas Kriechbaumer 4501c8a0a1 add http2 full-stack test 2016-02-04 09:52:03 +01:00
Thomas Kriechbaumer 4de9cbb61e rename test file 2016-02-04 09:52:03 +01:00
Thomas Kriechbaumer 2964a607ad fix import in tests 2016-02-04 09:52:03 +01:00
Maximilian Hils aaf82cae7d tests: use relative imports 2016-02-02 13:25:31 +01:00
Maximilian Hils f39e50c4db silence third-party modules 2016-02-02 12:26:28 +01:00
Thomas Kriechbaumer 8c37538314 code formatting: fix whitespace issues 2016-01-27 10:36:28 +01:00
Thomas Kriechbaumer c2bb29f669 cleanup imports 2016-01-27 10:36:28 +01:00
Maximilian Hils 0f54f2990c Merge pull request #872 from bazzinotti/inline-tcp
Add "tcp_message" Inline Script Hook
2016-01-17 19:54:59 +01:00
Michael J. Bazzinotti e766838a1a Add Inline Script Hooks to TCP mode 2016-01-10 13:05:01 -05:00
Maximilian Hils 11215e46ec fix #659 2016-01-02 15:12:36 +01:00
Michael J. Bazzinotti f8d8a80bd0 clientcert tests: fix whitespace 2015-12-29 18:14:11 +01:00
Michael J. Bazzinotti 09168e1274 client-cert: Simplify and cleanup
simplify the error message when cert path does not exist.
During tests, reset the clientcerts proxy config setting to None
Remove now-unused clientcerts code from class ProxTestBase
2015-12-29 11:48:02 -05:00
Michael J. Bazzinotti 80690b7906 [docs/libmproxy/test] Support single client-side cert file as argument to
--client-certs
2015-12-28 15:20:45 -05:00
Maximilian Hils b362e9a013 test flow conversion 2015-12-03 14:43:56 +01:00
Maximilian Hils 85b553724c add tnetstring inspection tool 2015-12-02 19:59:02 +01:00
Maximilian Hils f02da6448d disable concurrency tests on appveyor 2015-11-29 03:13:08 +01:00
Maximilian Hils bb62f5f3f5 lessen test race conditions 2015-11-29 02:59:25 +01:00
Maximilian Hils 6b92497d4f remove unnecessary race conditions in tests 2015-11-27 01:11:06 +01:00
Maximilian Hils abd8881491 add memoryleak debug script 2015-11-26 23:26:01 +01:00
Maximilian Hils 354f84c4c8 skip timing tests on appveyor 2015-11-24 19:07:04 +01:00
Maximilian Hils 57cd9022d9 fix appveyor race conditions in tests 2015-11-14 22:14:18 +01:00
Maximilian Hils 4499ab61c0 structure libmproxy.script 2015-11-14 04:21:38 +01:00
Maximilian Hils dce469d4c1 Merge pull request #833 from zbuc/contentview_scripts
Contentview scripts
2015-11-13 18:41:05 -08:00
Chris Czub e72a9a62a1 Feedback from PR #832 2015-11-13 16:55:27 -05:00
Chris Czub d3feaa3bc6 Add custom content view plugin support for mitmproxy/mitmdump 2015-11-13 15:09:05 -05:00
Chris Czub d7239d665e Add new contentviews' content type mappings 2015-11-13 15:08:52 -05:00
Chris Czub 82a90511bc Add "add" ContentView method & test 2015-11-13 15:07:56 -05:00
Chris Czub b0648ee8a6 Fix failing protobuf contentview test 2015-11-06 11:18:48 -05:00
Maximilian Hils 07b60acb7f try to fix appveyor race conditions in tests 2015-11-01 18:44:50 +01:00
Maximilian Hils c6811bd0e8 fix #773 2015-09-28 14:55:13 +02:00
Maximilian Hils c11ab3676d Merge branch 'http-models' 2015-09-28 13:54:53 +02:00
Maximilian Hils 6661770d4e handle Expect: 100-continue header, fix #770 2015-09-28 10:59:10 +02:00
Maximilian Hils 6075957a97 move tests to netlib 2015-09-27 00:50:14 +02:00
Maximilian Hils 1b6ea5caf3 adjust to netlib response changes + docs 2015-09-26 17:41:14 +02:00
Maximilian Hils b13acd7956 adjust to netlib request changes + docs 2015-09-26 01:23:59 +02:00
Maximilian Hils bba5ec7144 experimental: run tests using py.tests 2015-09-21 18:31:30 +02:00
Maximilian Hils 88375ad64a fix minor bugs, add py.test compatibility 2015-09-21 02:26:47 +02:00
Maximilian Hils 2d4a5fb116 experimental: don't interfere with headers, fix #93 2015-09-18 18:07:38 +02:00
Maximilian Hils 906360f63f code -> status_code, httpversion -> http_version 2015-09-17 15:16:33 +02:00
Maximilian Hils 14a5f405fd use new netlib exceptions 2015-09-17 02:13:28 +02:00
Maximilian Hils 0af0608978 adjust to netlib changes 2015-09-16 18:45:22 +02:00
Maximilian Hils 32b487109f Merge pull request #765 from mitmproxy/such-colors-very-wow
Improve Content Views
2015-09-12 17:57:21 +02:00
Maximilian Hils 4106e19612 relax test suite time tests 2015-09-12 17:50:24 +02:00
Maximilian Hils 5fe12a467f fix tests 2015-09-12 17:40:30 +02:00
Maximilian Hils 049d253a83 simplify contentview api 2015-09-12 13:49:16 +02:00
Maximilian Hils 9c31669211 mitmdump: colorize output, add content views 2015-09-11 19:03:50 +02:00
Maximilian Hils 47602dc1a5 clean up tests 2015-09-11 13:41:16 +02:00
Maximilian Hils 960f62f363 fix bugs 2015-09-11 13:37:52 +02:00
Maximilian Hils 7c186a4edb Merge branch 'master' into contentviews 2015-09-11 12:13:39 +02:00
Maximilian Hils c159c8ca13 fix chunked encoding 2015-09-11 01:18:17 +02:00
Maximilian Hils a8d931089c fix tests 2015-09-05 20:53:44 +02:00
Maximilian Hils 5125c669cc adjust to new netlib Headers class 2015-09-05 20:45:58 +02:00
Maximilian Hils f4272de5ec remove ServerConnectionMixin.reconnect 2015-09-03 17:01:25 +02:00
Chris Czub b4e0be9052 PR #700
Start moving the contentview up a level
Started shifting the contentview class up to libmproxy
2015-09-02 20:30:58 +02:00
Maximilian Hils 481cc6ea84 we don't support socks auth, refs #738 2015-08-31 17:29:14 +02:00
Maximilian Hils b04e6e56ab update inline script hooks 2015-08-31 17:05:52 +02:00
Maximilian Hils a86ec56012 move files around 2015-08-30 15:27:29 +02:00
Maximilian Hils 421b241ff0 remove http2http references 2015-08-30 13:40:23 +02:00
Maximilian Hils 1dd09a5509 always insert tls layer for inline script upgrades 2015-08-30 02:27:38 +02:00
Maximilian Hils dd7f50d64b restructure code, remove cruft 2015-08-30 01:21:58 +02:00
Maximilian Hils a7058e2a3c fix bugs, fix tests 2015-08-29 20:53:25 +02:00
Maximilian Hils 63844df343 fix streaming 2015-08-29 14:28:11 +02:00
Maximilian Hils 1cc48345e1 clean up config/cmdline, fix bugs, remove cruft 2015-08-28 01:51:13 +02:00
Maximilian Hils 83decd6771 fix inline script redirects 2015-08-27 17:35:53 +02:00
Maximilian Hils 56a4bc381e request -> request_method 2015-08-24 18:17:04 +02:00
Maximilian Hils f1f34e7713 fix bugs, fix tests 2015-08-24 16:52:03 +02:00
Thomas Kriechbaumer 05d26545e4 adapt netlib changes 2015-08-21 10:26:28 +02:00
Maximilian Hils 96de7ad562 various fixes 2015-08-18 14:15:08 +02:00
Thomas Kriechbaumer 891fa50e55 move code to netlib 2015-08-10 21:04:17 +02:00
Thomas Kriechbaumer 6cce2f14d7 fix tests 2015-08-02 11:26:33 +02:00
Thomas Kriechbaumer ff1e7e6409 fix imports for encoding 2015-08-01 14:53:34 +02:00
Thomas Kriechbaumer fa568c2d3b move encoding tests from mitmproxy to netlib 2015-08-01 14:53:20 +02:00
Thomas Kriechbaumer db02553e2a move code from mitmproxy to netlib 2015-08-01 14:37:32 +02:00
Thomas Kriechbaumer a5d9e1f44d move code to netlib and implement protocols 2015-07-30 13:53:17 +02:00
Thomas Kriechbaumer 89f22f7359 refactor connection & protocol handling 2015-07-30 13:53:17 +02:00
Maximilian Hils d2ae6b630e Merge pull request #548 from macmantrl/no_serverconn
Prevent unnecessary upstream server connects
2015-07-26 11:58:21 +02:00
Thomas Kriechbaumer 07c9d46fab remove debug output in tests 2015-07-24 18:01:55 +02:00
Maximilian Hils 0892649d31 Merge pull request #675 from Kriechi/protocol-refactor
HTTP protocol refactoring
2015-07-24 17:52:44 +02:00
Maximilian Hils e0d1e8caf6 fix tests 2015-07-24 03:09:08 +02:00
Maximilian Hils 7bf8088d80 improve inline scripts, fix #683, fix #684 2015-07-24 02:57:56 +02:00
Thomas Kriechbaumer cedc0407de refactor to use netlib.http protocols 2015-07-22 15:30:12 +02:00
Thomas Kriechbaumer bb265d0c40 use new netlib module names 2015-07-22 15:30:11 +02:00
Thomas Kriechbaumer df1b0df39f use netlib.http_semantics for generic data 2015-07-22 15:30:11 +02:00
isra17 471e196e08 Add ~src ~dst REGEX filters
This filter allow to match on the request source and destination address
in the form of `<IP>:<Port>`.

Also fixed the parsing grammar to add a `WordEnd` after each filter
name. That way, `~src` doesn't match `~s` instead and keep the behavior
consistent with `~hq` != `~h`.
2015-07-13 18:11:14 -04:00
Terry Long 4c50c36345 Prevent unecessary upstream server connects
Selectively connect to upstream server based on no_upstream_cert
option. When no_upstream_cert is used during server replay, prevent
connecting to the upstream server unless absolutely necessary.
2015-07-03 07:55:37 -07:00
Maximilian Hils 4c831992aa fix #593, fix #656, coverage++ 2015-07-03 02:47:12 +02:00
Maximilian Hils 9bffd9cf03 fix windows compatibility 2015-07-03 02:46:06 +02:00
Kyle Morton f0ad1f334c Enabling upstream server verification. Added flags --verify_upstream_cert,
--upstream-trusted-cadir, and --upstream-trusted-ca.
2015-06-29 11:00:20 -07:00
Maximilian Hils b369962cbe remove certforward feature
The certforward feature was implemented to support #gotofail,
which only works on unpatched iOS devices. Given that many apps don't
support iOS 7 anymore, jailbreak+ssl killswitch is usually the better option.
By removing certforward, we can make netlib a pure python module again,
which significantly simplifies distribution.
2015-06-26 13:27:40 +02:00
iroiro123 fbb23b5c9f changed error handling (ssl spoof mode) 2015-06-23 01:49:22 +09:00
iroiro123 5c7fa7a594 add unit tests for spoof mode 2015-06-23 00:57:33 +09:00
Aldo Cortesi 7890450b0c Handle invalid IDNA encoding in hostnames
Fixes #622
2015-06-12 16:00:16 +12:00
Aldo Cortesi 57a61ae8fd console: convert add_event to a signal. 2015-06-02 13:45:19 +12:00
Maximilian Hils ec92fca8c0 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-05-31 01:51:31 +02:00
Maximilian Hils 0f8e8ee1ad add bench tool for windows 2015-05-31 01:51:13 +02:00
Aldo Cortesi a05a70d816 Add coding style check, reformat. 2015-05-30 12:03:28 +12:00
Aldo Cortesi fcbfe4b605 Adapt to new literal escaping style in pathod 2015-05-03 10:18:18 +12:00
Aldo Cortesi 50b7bfaadc Adapt to new Pathoc API - silence output to stdout. 2015-05-02 16:46:15 +12:00
Aldo Cortesi 1c26516b18 pretty_size now lives in netlib.utils 2015-04-30 12:18:01 +12:00
Aldo Cortesi e9ae0b92ba Fudge a rare race condition in the test suite 2015-04-19 18:03:50 +12:00
Aldo Cortesi 0f269f7423 Whitespace, formatting 2015-04-15 09:14:20 +12:00
Aldo Cortesi c335c2b533 Add set_cookies method to HTTPResponse 2015-04-14 16:23:51 +12:00