Aldo Cortesi
e4feba5433
Introduce and enfoce uniqueness constraints for language components
2015-05-17 10:43:30 +12:00
Aldo Cortesi
2ee60783b6
websockets: client and server flavors, key and mask specification
2015-05-16 11:31:53 +12:00
Aldo Cortesi
d66dedc6e7
websockets: mask specification
...
- Add a FixedLengthValue
- Use it to implement a 4-byte mask specifier
- Adjust docs
2015-05-16 09:42:47 +12:00
Aldo Cortesi
2beae27541
websockets: fix actions on frames
2015-05-05 11:16:29 +12:00
Aldo Cortesi
1dc2fa0424
pathoc: cope with errors during websocket frame read.
2015-05-05 10:59:37 +12:00
Aldo Cortesi
589deb9fe1
websockets: specification of fin, mask, rsv1-3 bits.
2015-05-04 10:48:35 +12:00
Aldo Cortesi
179cc8dc1f
Split up language docs, document websocket code specification.
2015-05-04 09:54:59 +12:00
Aldo Cortesi
4b2e00acb3
Docs
2015-05-04 08:34:53 +12:00
Aldo Cortesi
5b6d3a80bb
websockets: code specification
2015-05-03 13:54:52 +12:00
Aldo Cortesi
67d2993339
Lower-case rather than upper-case to canonicalize names
...
Marginally less finicky
2015-05-03 12:59:21 +12:00
Aldo Cortesi
3f5ec4b737
PreValue -> Value
2015-05-03 12:54:25 +12:00
Aldo Cortesi
cc434ded89
Clarify token/component split through naming
...
Tokens are now Tok*
2015-05-03 12:53:28 +12:00
Aldo Cortesi
e35e6d90b9
Remove bundled pyparsing, install as external package
...
Adapt ValueLiteral parsing to suit
2015-05-03 10:11:51 +12:00
Aldo Cortesi
bf71a9a2a0
base.PathodSpec -> http.PathodResponse
2015-05-03 08:56:19 +12:00
Aldo Cortesi
a46e17459d
Language: minor refactoring and whitespace
2015-05-03 08:51:57 +12:00
Aldo Cortesi
5d5f2bdd1f
Split out language messages and actions
2015-05-03 08:02:13 +12:00
Aldo Cortesi
24437ba180
Revamp header components in language
2015-05-02 22:32:57 +12:00
Aldo Cortesi
fffee660e5
language: create and use Integer and PreValue generics
2015-05-02 21:42:09 +12:00
Aldo Cortesi
0ffd14372a
Refactor language to move specific tokens into protocol module
...
This patch makes progress on language/http.py
2015-05-02 21:27:11 +12:00
Aldo Cortesi
2091d16387
test coverage: generators and websockets to 100%
2015-05-02 17:19:48 +12:00
Aldo Cortesi
5b48c69a6a
Split language test suite: generators
...
Also remove some unused code
2015-05-02 16:53:48 +12:00
Aldo Cortesi
9109b3cc8c
Massive refactoring to split up language implementation.
2015-05-02 16:17:00 +12:00
Aldo Cortesi
601cdf70c7
websockets: progressive masking.
2015-05-01 10:31:45 +12:00
Aldo Cortesi
3a3ea9d927
pathoc: cope better with disconnect conditions
2015-05-01 09:41:07 +12:00
Aldo Cortesi
b8f40860f5
pathoc: Integrate bytes read/written log into Log handler
2015-04-30 14:42:54 +12:00
Aldo Cortesi
fea3d8e421
Revamp pathoc log output with a context handler
...
This does two things - it gives us a central place to put log utilities,
and it lets us group together related log lines.
2015-04-30 13:59:10 +12:00
Aldo Cortesi
f927701e74
Websocket frame read limit.
2015-04-30 08:03:26 +12:00
Aldo Cortesi
7e69fab331
Stub out websocket read loop and Frame language construct
2015-04-29 10:02:16 +12:00
Aldo Cortesi
5405a4d458
Pull HTTP functionality out of language._Message in prep for frames
2015-04-24 07:35:17 +12:00
Aldo Cortesi
b0ab5297d1
Change the semantics of the craft anchor point specification
...
The anchor point is now defined as /p (rather than /p/), with the specification
for a request just to /p or /p/ being empty.
2015-04-23 17:35:22 +12:00
Aldo Cortesi
dacb350040
pathod: register websocket key from client handshake
2015-04-23 17:11:20 +12:00
Aldo Cortesi
2306a7ab6d
Refactor logging, add some defaults to pathod argument help.
2015-04-23 08:43:57 +12:00
Aldo Cortesi
ce6147ec35
Use get_request_line from netlib.http
2015-04-23 08:24:26 +12:00
Aldo Cortesi
45d1e5cd0e
Example websocket key for mock renders
2015-04-23 07:29:55 +12:00
Aldo Cortesi
61dc01af11
Resolve messages as part of policy check
2015-04-22 16:38:54 +12:00
Aldo Cortesi
5dee4210eb
pathod: flag to set debugging for web interface dev
2015-04-22 15:58:25 +12:00
Aldo Cortesi
99cb0808ab
websockets: server handshake scheme
...
Also refactor settings and resolution interfaces
2015-04-22 15:49:17 +12:00
Aldo Cortesi
65f04bf4d1
First-pass websocket client handshake
2015-04-22 09:31:22 +12:00
Aldo Cortesi
b66be24149
Fix call signature in pathoc.
2015-04-20 18:14:47 +12:00
Aldo Cortesi
33820d9aee
Whitespace, interface refcactoring, sketch websockets language
2015-04-20 15:42:33 +12:00
Aldo Cortesi
be450cf9db
Whitespace, small fixes.
2015-04-20 08:56:47 +12:00
Aldo Cortesi
3891fe5638
Refactor pathoc
...
We're getting ready for websockets. All the output specifiers are now on the
Pathoc object itself - we can't assume that all input and output happens in
response to a method call any more. This has the upside that we can unify the
request/print_request methods.
2015-04-19 18:04:27 +12:00
Aldo Cortesi
f8469a283b
pathoc: Print SSL info only once per connection
2015-04-19 15:55:22 +12:00
Aldo Cortesi
43dadbc2fe
Add SANs specification arguments to pathod
2015-04-19 10:51:03 +12:00
Aldo Cortesi
f332674ce1
100% unit tests
...
- Add SANs to pathod SSLConfig
- Fix tricky SSL establishment error test. Lets see if it's platform portable.
2015-04-19 10:43:16 +12:00
Aldo Cortesi
a5567094ac
Document embedded response specification.
2015-04-18 17:04:24 +12:00
Aldo Cortesi
baf961cde0
Unit test++ for PathodSpec
2015-04-18 16:36:45 +12:00
Aldo Cortesi
3061bdd0c2
Unit tests: cmdline.pathod
2015-04-17 18:00:46 +12:00
Aldo Cortesi
f8e95db6b0
housekeeping: ++tests, coverage annotations
2015-04-17 17:45:50 +12:00
Aldo Cortesi
09e995ab5c
Improvements to pathoc repeat requests
...
- Pathoc will now keep trying if connections failed
- Add a -w option to specify a wait time between requests
2015-03-14 11:54:47 +11:00
Aldo Cortesi
295c8340a3
Bump to 0.11.1
2014-11-15 12:44:26 +13:00
Aldo Cortesi
63d2403558
Merge branch 'master' of ssh.github.com:mitmproxy/pathod
2014-11-15 12:42:38 +13:00
Aldo Cortesi
1b41b9bb9b
Use current version for download links
...
Fixes #19
2014-11-15 12:41:44 +13:00
Maximilian Hils
8635e00175
Merge remote-tracking branch 'origin/master'
...
Conflicts:
setup.py
2014-11-11 12:29:34 +01:00
Maximilian Hils
b917b61e6a
be more explicit about requirements
2014-11-11 12:28:08 +01:00
Aldo Cortesi
956149c126
--memo-limit - limit failed attempts to find new generated requests to N
2014-10-26 18:16:47 +13:00
Aldo Cortesi
bd1f7ebb5c
Improve netability of grammars
2014-10-26 16:27:25 +13:00
Aldo Cortesi
974bd9d0f9
Resolve a quoting ambiguity in nested response specs
2014-10-26 12:56:28 +13:00
Aldo Cortesi
fc1fc80469
Allow nesting of pathod response specs in pathoc specs
...
This opens the door to really neat, repeatable, client-side driven
fuzzing, especially of proxies.
2014-10-26 10:50:32 +13:00
Aldo Cortesi
c00ae41486
Add a memoize argument to prevent playing the same pattern twice
...
Also remove addition of Date header, which makes this non-deterministic
2014-10-25 19:50:48 +13:00
Aldo Cortesi
fc4f9a1c7a
pathoc -n 0 repeats forever
2014-10-25 17:58:59 +13:00
Aldo Cortesi
609d6eab30
Make grammar less ambiguous for multi-pattern files
2014-10-25 17:27:08 +13:00
Aldo Cortesi
ac4e9f8cb5
Rationalize pathoc arguments, add -r flag to randomly select a request from the provided specs
2014-10-25 16:43:01 +13:00
Aldo Cortesi
384abbfdd5
Nicer port specification for pathoc
2014-10-25 16:34:19 +13:00
Aldo Cortesi
6d8431ab3e
Allow specification of multiple patterns from file and on command line
2014-10-25 16:20:23 +13:00
Aldo Cortesi
d4e6c25d45
Update pyparsing
2014-10-25 15:37:57 +13:00
Aldo Cortesi
00d0ee5ad5
Parse patterns eagerly on instantiation
2014-10-25 15:30:54 +13:00
Aldo Cortesi
d6ee532711
Whitespace and formatting
2014-10-25 14:24:05 +13:00
Aldo Cortesi
5aadf92767
Nicer way to specify patterns read for file - just use a path
2014-10-25 08:18:39 +13:00
Aldo Cortesi
3de68da3ad
Add forgotten import. Oops.
2014-10-24 17:21:28 +13:00
Aldo Cortesi
c6c0509836
Strictly separate argument parsing from main loops
2014-10-24 17:19:55 +13:00
Aldo Cortesi
cd481fdd14
Refactor and whitespace
2014-10-24 17:12:54 +13:00
Aldo Cortesi
962a414327
Fix tests, re-add scripts
2014-10-24 14:01:34 +13:00
Maximilian Hils
60e3e0b898
fix pathod
2014-10-09 03:35:39 +02:00
Maximilian Hils
14c9ba1af6
adjust to netlib changes
2014-10-08 20:48:16 +02:00
Maximilian Hils
d4bd2101b5
increment version
2014-09-28 03:14:59 +02:00
Aldo Cortesi
14d7beee13
Merge pull request #16 from mitmproxy/dist
...
improve distribution
2014-09-08 20:40:36 +12:00
Aldo Cortesi
211b0dfe1f
Merge pull request #18 from mitmproxy/mitm_issue_341
...
adapt pathod to netlib changes
2014-09-07 13:05:35 +12:00
Aldo Cortesi
c198406b12
Silence insecure requets warnings in our test package
2014-09-07 11:38:44 +12:00
Maximilian Hils
6114f07f76
adapt pathod to netlib changes
2014-09-06 01:23:07 +02:00
Maximilian Hils
658a56a1ac
use setuptools entrypoints rather than scripts
2014-08-31 02:09:04 +02:00
Maximilian Hils
534c66644f
only require the minor version of netlib to match
2014-08-19 15:29:37 +02:00
Maximilian Hils
a0c8b20b7d
adjust to netlib api changes
2014-07-21 14:08:09 +02:00
Aldo Cortesi
9cc83ed9a8
Also dump SANs for pathoc -S
2014-03-07 15:21:34 +13:00
Aldo Cortesi
e54bf1a804
Adjust for upstream cert store changes, improve cert handling significantly
2014-03-05 15:03:31 +13:00
Aldo Cortesi
944f213ebc
Add connection cipher info to pathod server log
2014-03-02 22:10:49 +13:00
Aldo Cortesi
602e400ccc
Use new get_current_cipher to show cipher in pathoc SSL output
2014-03-02 21:54:30 +13:00
Aldo Cortesi
53334e437c
pathoc -S dumps information on the remote SSL certificate chain
2014-03-02 19:04:56 +13:00
Aldo Cortesi
0177eb899a
Support cert/key combo files in args. Improve argument names in SSLOptions
2014-03-02 15:56:36 +13:00
Aldo Cortesi
234d326080
Implement custom certs.
2014-03-02 15:13:56 +13:00
Aldo Cortesi
091e539a02
Big improvements to SSL handling
...
- pathod now dynamically generates SSL certs, using the ~/.mitmproxy
cacert
- pathoc returns data on SSL peer certificates
- Pathod certificate CN can be specified on command line
- Support SSLv23
2014-03-02 13:45:35 +13:00
Aldo Cortesi
a1d0da2b53
Expand SSL support
...
- Cipher suite selection for both pathoc and pathod
- SSL version specification for pathod
- Expose SSLv23 as an option, and use it by default
2014-02-27 18:33:48 +13:00
Maximilian Hils
0c04abb6e4
fix pathod main script
2014-02-08 22:42:27 +01:00
Aldo Cortesi
0baa296613
Merge branch 'tcp_proxy'
2014-02-07 10:50:57 +13:00
Maximilian Hils
b64e1ccf91
adjust for netlib.tcp.Address changes
2014-01-30 20:06:33 +01:00
Maximilian Hils
b994fb5a27
adjust to signature changes in netlib.tcp
2014-01-28 19:28:20 +01:00
Maximilian Hils
1b566869de
Merge branch 'master' into tcp_proxy
2014-01-28 17:44:55 +01:00
Aldo Cortesi
dc6d573d39
Adjust docs for inclusion of content-length header by default.
2014-01-28 15:31:30 +13:00
Aldo Cortesi
26d6b189fc
Pyflakes cleanup, adjust requirements.txt
2014-01-19 18:20:01 +13:00
Aldo Cortesi
25ed5537da
Bump version.
2014-01-19 16:03:51 +13:00