Aldo Cortesi
9c5c3c2b1a
Implement state loading that doesn't change object identity.
...
We need this to let us load state from copied Flows returned from scripts.
2011-02-20 09:36:13 +13:00
Aldo Cortesi
58fc0041fa
Stub out doc structure, add screenshots for configuring certs in Firefox.
2011-02-19 19:43:44 +13:00
Aldo Cortesi
1549ec8079
Bump test coverage to 100% for flow.py
2011-02-19 17:21:08 +13:00
Aldo Cortesi
d9c6be3d13
Fix serialization when a Request has no associated client connection.
2011-02-19 17:03:44 +13:00
Aldo Cortesi
5da27a9905
Refactor Flow primitives to remove HTTP1.0 assumption.
...
This is a big patch removing the assumption that there's one connection per
Request/Response pair. It touches pretty much every part of mitmproxy, so
expect glitches until everything is ironed out.
2011-02-19 17:00:24 +13:00
Aldo Cortesi
cd4eea3934
First pass of script hooks for mitmdump.
...
Also stub out docs, improve mitmdump error handling.
2011-02-18 12:40:45 +13:00
Aldo Cortesi
7769e5a898
Whitespace in mitmdump output.
2011-02-17 15:56:54 +13:00
Aldo Cortesi
afa9104005
Refine verbose mitmdump output.
2011-02-17 15:10:50 +13:00
Aldo Cortesi
cbe6982c6d
Improve mitmdump text output.
2011-02-17 14:26:50 +13:00
Aldo Cortesi
ca4df062bf
Whitepsace and extraneous code.
2011-02-17 11:45:12 +13:00
Aldo Cortesi
f028dc7e1b
Add filtering to mitmdump.
2011-02-17 10:44:08 +13:00
Aldo Cortesi
f0f1fb4b55
Add file writing to mitmdump.
2011-02-17 10:18:38 +13:00
Henrik Nordstrom
7758385ac1
Extract common SSL certificate option processing
2011-02-16 15:50:44 +01:00
Aldo Cortesi
d1fb761ae7
Clean up README.mk
...
HNO's changes are now back in base. Hooray.
2011-02-16 23:11:38 +13:00
Aldo Cortesi
d9374ff97b
Extract common SSL certificate options into a group.
...
Use this only in mitmdump and mitmproxy for now.
2011-02-16 23:09:42 +13:00
Aldo Cortesi
f5511350eb
Tweaks and cleanups for mitmdump.
2011-02-16 23:03:46 +13:00
Aldo Cortesi
8a9f20b78c
Don't leave dangling browser connections for pipelined requests.
2011-02-16 22:37:04 +13:00
Aldo Cortesi
0dd1aa7cc7
Initial port of mitmdump to Flows.
2011-02-16 22:10:24 +13:00
Aldo Cortesi
692556cf20
Fix minor display issues in console app.
2011-02-16 21:03:55 +13:00
Aldo Cortesi
3f0b84bb49
Un-break request replay.
2011-02-16 19:37:40 +13:00
Aldo Cortesi
f009770d4c
Fix a bug in HTTP 1.1 pipelining that caused Requests to be over-written.
...
We use the ClientConnection object to tie requests, responses and errors
together. This is an HTTP 1.0 assumption, but we can fix it by just making
copies of the connection object when we handle multiple requests.
2011-02-16 19:22:19 +13:00
Aldo Cortesi
66349c9783
FlowMaster bugfixes and unit tests.
2011-02-16 16:43:35 +13:00
Aldo Cortesi
27f0765cdd
Extract flow-specific Master operations into FlowMaster.
2011-02-16 16:03:22 +13:00
Aldo Cortesi
33dac700fa
Switch over to new serialization format.
...
Remove BSON from contrib.
2011-02-16 15:10:00 +13:00
Aldo Cortesi
0c6f846861
First draft of the new serialization mechanism.
2011-02-16 14:33:04 +13:00
Aldo Cortesi
5692c7359c
Import Will McGugan's netstring module.
...
Module is in the Public Domain.
I expect to modify and extend this module, so I've imported into main library
rather than contrib. Code has been reformatted to suite our code standard,
tests have been extrated into /tests directory.
2011-02-16 11:21:06 +13:00
Aldo Cortesi
6339f521fc
Repair unit test to match removal of arg from Response class.
2011-02-16 11:20:00 +13:00
Henrik Nordstrom
89627a702a
drop unused protocol parameter from Response
2011-02-15 22:24:38 +01:00
Aldo Cortesi
759496e24e
Repair unit test suite.
2011-02-11 11:06:30 +13:00
Henrik Nordstrom
51cdd7b95d
Bump version
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
32adee8743
Implement a dummy CA
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
4ffaadd435
Allow specifying the accepted ciphersuites
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
061cea89da
Import cache store control into console controller
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
d11dd742d8
Simple record & playback functionality
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
4bae297fbb
Basic HTTP/1.1 Support
...
Adds support for chunked transfer encoding, and a couple other minor
protocol corrections.
Improve HTTP support
- Support intercepted requests with Host header
- Support HEAD requests proper
- Support any HTTP method including extensions, not just a couple known ones
Support expect: 100-continue and 100 Continue messages
Persistent client connections
Generalize ServerConnection a bit in preparation for keep-alive support
Correct HTTP status codes on errors forwarding the request
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
0613321aef
Optimize CONNECT responses, sent in a single packet
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
4cf3392e50
Sort header names for a predictable result
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
bd01126b2b
Move try_del to utils
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
2d8cfbafc3
Automatically update response message when editing response code
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
eb3b32f01c
Ignore compiled mimtmproxyc & mitmdumpc
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
98b1acc51d
Add response creation to edit function on intercepted requests
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
fcc39e1aaf
Terminate workers when main thread terminates
2011-02-10 02:59:51 +01:00
Aldo Cortesi
eb15ef7b80
Merge remote branch 'hno/master'
2011-02-06 18:44:35 +13:00
Aldo Cortesi
a4eaafab5a
Further fine-tuning for pretty_xmlish.
2011-02-06 16:56:13 +13:00
Aldo Cortesi
7156d1a73a
Rip out BeautifulSoup, and use a custom XML-ish prettyprinter.
2011-02-06 14:17:30 +13:00
Aldo Cortesi
44dc3a052e
Add option to tell mitmproxy which interfaces to bind to.
2011-02-06 10:52:54 +13:00
Aldo Cortesi
d0c2d9480c
Also serialize ClientConnection and flow backups.
2011-02-06 10:28:43 +13:00
Henrik Nordstrom
b35cbc0760
Fix kill() again, got broken by the change to use None
2011-02-03 23:39:28 +01:00
Henrik Nordstrom
5bf6482bd0
Merge remote-tracking branch 'origin/master'
2011-02-03 23:30:03 +01:00
Henrik Nordstrom
2f813fa748
Messages may need to stay in the controller for considerable
...
amount of time. Don't use a timeout waiting for the controller response.
Example where this happens is intercepted flows.
2011-02-03 23:28:24 +01:00