aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/flow.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve performance of loading flows from a file hugely.Aldo Cortesi2011-08-011-3/+0
| | | | Fell into the "expensive __eq__ method" trap. Oh, Python, you little scamp.
* Refactor the way we calculate views of the flow list.Aldo Cortesi2011-08-011-27/+47
| | | | | The naive approach we used before recalculated the view on every access, and consequently had serious performance problems.
* Changes replace logic to function in both Python 2.6.x and 2.7.xStephen Altamirano2011-07-261-5/+5
| | | | Tests now only assume Python 2.6.x rather than requiring 2.7.x. This does not preclude the use of flags as a kwarg in replace
* Fix crash when sticky cookies are read from file.Aldo Cortesi2011-07-241-1/+1
| | | | Cookielib expects strings, not unicode.
* Add utility functions to search and replace strings in flowsAldo Cortesi2011-07-221-0/+12
| | | | | | | | | | This is a common task in pentesting scenarios. This commit adds the following functions: utils.Headers.replace proxy.Request.replace proxy.Response.replace flow.Flow.replace
* Removes should_autodecode attribute from Response. Adds commandline option ↵Stephen Altamirano2011-07-211-0/+1
| | | | 'd' to toggle autodecode, adds togglable option 'd' to do the same
* Adds support for content encoding, namely gip and deflatealts2011-07-161-3/+6
|
* Introduce an anti-compression command-line argument.Aldo Cortesi2011-07-151-0/+3
| | | | | This is on by default, which means we avoid compressed content unless the -z flag is specified.
* Rewrite Headers object to preserve order and case.Aldo Cortesi2011-07-141-3/+4
|
* Don't redraw the screen more often than necessary.Aldo Cortesi2011-06-271-1/+1
|
* Don't backup flows before replay.Aldo Cortesi2011-06-231-1/+0
| | | | This lets us revert to the original request, even after replaying an edit.
* Add -r option to mitmdump and mitmproxy.Aldo Cortesi2011-05-151-5/+3
| | | | | | This option reads a set of flows from a file. I've also regularized the mitmdump and mitmproxy command-line signatures by removing mitmproxy's old way of specifying flow loads through naked arguments.
* Add a new flow loading mechanism.Aldo Cortesi2011-05-151-4/+21
| | | | | We now simulate the normal connection flow when we load flows. That means that we can run scripts, hooks, sticky cookies, etc.
* Add a stickyauth option.Aldo Cortesi2011-03-201-0/+32
| | | | | | | This allows us to replay an HTTP Authorization header, in the same way as we replay cookies using stickycookies. This lets us conveniently get at HTTP Basic Auth protected resources through the proxy, but is not enough to do the same for HTTP Digest auth. We'll put that on the todo list.
* Reverse order of flows in mitmproxy.Aldo Cortesi2011-03-201-1/+1
| | | | It matches user expectations much better to have new flows appended to the bottom.
* Server replay shortcut in mitmproxy can now be used to interrupt a current ↵Aldo Cortesi2011-03-181-0/+3
| | | | replay.
* Client playback shortcut in mitmproxy can now be used to interrupt a current ↵Aldo Cortesi2011-03-181-0/+3
| | | | client playback.
* Interrupt interception when deleting an intercepting flow.Aldo Cortesi2011-03-151-7/+5
| | | | Prompting the user for this is annoying.
* Do pre-processing of requests before replay.Aldo Cortesi2011-03-151-31/+36
| | | | | This enables scripts, anticache, server playback and sticky cookies for request replays.
* Add client plaback to mitmproxy.Aldo Cortesi2011-03-131-3/+3
|
* Rejigger status bar somewhat. Add indicators for various bits of state.Aldo Cortesi2011-03-131-0/+2
| | | | | In particular, we now display limits, sticky cookie expressions and intercepts in the bar.
* Fix stickycookie setting, indented view traceback.Aldo Cortesi2011-03-131-0/+2
|
* mitmproxy prompted input now display previously set value.Aldo Cortesi2011-03-131-5/+22
| | | | | E.g. if you set a limit, then re-enter the limit prompt, you start with the currently set value.
* Handle invalid bind address specifications gracefully.Aldo Cortesi2011-03-121-0/+2
|
* Make mitmdump handle invalid serialized data gracefully.Aldo Cortesi2011-03-111-3/+10
|
* Display Errors and killed connections in mitmdump.Aldo Cortesi2011-03-111-5/+3
|
* Add --norefresh to stop refreshing server playback to mitmdump.Aldo Cortesi2011-03-111-0/+6
| | | | Also, make cookie parsing for refreshing more error-tolerant.
* Add an --anticache option to mitmdump.Aldo Cortesi2011-03-091-0/+3
| | | | | | | This removes all headers that might cause a server to return 304-not-modified. For now, all the new features are going into mitmdump - everything will be ported over to mitmproxy once I have the feature set locked down.
* Move version constants to version.py, add version to serialized flows.Aldo Cortesi2011-03-091-1/+2
| | | | | For now, we don't do anything with the serialized version info, but this should give us some future-proofing for serialization format changes.
* Make mitmdump server playback also exit by default.Aldo Cortesi2011-03-061-4/+9
| | | | Like client playback, the --keepserving option makes mitmdump keep serving.
* Make mitmdump exit after client replay is complete by default.Aldo Cortesi2011-03-061-4/+16
| | | | Add an option --keepserving to make it keep serving after replay.
* Add flow_count and active_flow_count methods to flow.State.Aldo Cortesi2011-03-061-9/+19
| | | | Use these in unit tests where sensible.
* Bump unit tests, rearrange mitmdump command-line options slightly.Aldo Cortesi2011-03-061-0/+1
|
* Allow client replays to be replayed against server replays.Aldo Cortesi2011-03-061-1/+3
| | | | Useful for testing.
* Add client replay options to mitmdump.Aldo Cortesi2011-03-061-4/+3
|
* Massage namespace to make room for client replay.Aldo Cortesi2011-03-051-8/+24
| | | | Mostly replay -> server_replay
* Basic client playback state structure.Aldo Cortesi2011-03-041-13/+36
|
* Add an indicator that sticky cookies have been applied in mitmdump.Aldo Cortesi2011-02-251-0/+1
|
* Minor housekeeping - unused code, nocover directives.Aldo Cortesi2011-02-241-1/+3
| | | | 95% test coverage.
* More mature sticky cookie primitive. Use it in console.py.Aldo Cortesi2011-02-241-15/+47
|
* Start abstracting out sticky cookie state.Aldo Cortesi2011-02-241-1/+24
|
* Add a way for users to specify header significance in server replay.Aldo Cortesi2011-02-231-3/+17
| | | | | | Also add the --rheader command-line option to mitmdump to let the user specify an arbitrary number of significant headers. The default is to treat no headers as significant.
* Move script hooks into the flow primitives.Aldo Cortesi2011-02-211-9/+37
| | | | This lets handle scripts in corner cases like playback situations more easily.
* Add --kill option to mitmdumpAldo Cortesi2011-02-211-3/+4
| | | | | | If this option is passed all requests that are not part of a replayed conversation are killed. If the option is not passed, such requests are passed through to the server as usual.
* First pass of playback function for mitmdump.Aldo Cortesi2011-02-211-0/+21
|
* Add a simple server playback state object.Aldo Cortesi2011-02-211-4/+47
| | | | | | | | We use a loose hash to match incoming requests with recorded flows. At the moment, this hash is over the host, port, scheme, method, path and content of the request. Note that headers are not included here - if we do want to include headers, we would have to do some work to normalize them to remove variations between user agents, header order, etc. etc.
* Certificates are now generated in a temporary per-session directory.Aldo Cortesi2011-02-201-1/+1
| | | | | | This means that certificates don't accumulate in the conf directory, users don't have to clear certificates if the CA is regenerated, and the user can specify a custom CA without invalid certificates being loaded inadvertently.
* Implement state loading that doesn't change object identity.Aldo Cortesi2011-02-201-3/+18
| | | | We need this to let us load state from copied Flows returned from scripts.
* Bump test coverage to 100% for flow.pyAldo Cortesi2011-02-191-22/+2
|
* Refactor Flow primitives to remove HTTP1.0 assumption.Aldo Cortesi2011-02-191-40/+33
| | | | | | 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.