Thomas Kriechbaumer
d50b9be0d5
add generic frame parsing method
2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer
4c469fdee1
add hpack to encode and decode headers
2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer
754f929187
fix default argument
...
Python evaluates default args during method definition.
So you get the same dict each time you call this method.
Therefore the dict is the SAME actual object each time.
2015-05-29 11:42:46 +02:00
Thomas Kriechbaumer
5288aa3640
add human_readable() to each frame for debugging
2015-05-29 11:42:46 +02:00
Aldo Cortesi
1dda164d03
Satisfy autobots.
2015-05-28 12:18:56 +12:00
Aldo Cortesi
41af65a1c4
Merge branch 'Kriechi-cleanup'
2015-05-28 12:12:37 +12:00
Thomas Kriechbaumer
161bc2cfaa
cleanup code with autoflake
...
run the following command:
$ autoflake -r -i --remove-all-unused-imports --remove-unused-variables .
2015-05-27 11:25:33 +02:00
Thomas Kriechbaumer
e3d390e036
cleanup code with autopep8
...
run the following command:
$ autopep8 -i -r -a -a .
2015-05-27 11:19:11 +02:00
Thomas Kriechbaumer
041ca5c499
update TLS defaults: signature hash and DH params
...
* SHA1 is deprecated (use SHA256)
* increase RSA key to 2048 bits
* increase DH params to 4096 bits (LogJam attack)
2015-05-27 10:53:57 +02:00
Thomas Kriechbaumer
d6a68e1394
remove outdated workarounds
2015-05-27 10:23:43 +02:00
Aldo Cortesi
3f25df0b12
Merge pull request #56 from Kriechi/http2-frames
...
implement basic HTTP/2 frame classes
2015-05-27 09:30:52 +12:00
Thomas Kriechbaumer
4ce6f43616
implement basic HTTP/2 frame classes
2015-05-26 17:59:29 +02:00
Aldo Cortesi
ae749975e5
Post release version bump.
2015-05-26 10:43:28 +12:00
Maximilian Hils
46fadfc823
improve displaying tcp addresses
2015-05-18 17:16:42 +02:00
Aldo Cortesi
f40bf865b1
release prep: bump version
2015-05-18 10:46:00 +12:00
Aldo Cortesi
ace4454523
Zap outdated comment
2015-05-16 11:32:18 +12:00
Aldo Cortesi
f2bc58cdd2
Add tcp.Reader.safe_read, use it in socks and websockets
...
safe_read is guaranteed to raise or return a byte string of the
requested length. It's particularly useful for implementing binary
protocols.
2015-05-05 10:47:02 +12:00
Aldo Cortesi
08b2e2a6a9
websockets: more flexible masking interface.
2015-05-01 10:31:20 +12:00
Aldo Cortesi
7d9e38ffb1
websockets: A progressive masker.
2015-05-01 10:09:35 +12:00
Aldo Cortesi
4dce7ee074
websockets: more compact and legible human_readable
2015-04-30 12:10:08 +12:00
Aldo Cortesi
8086022920
Add a tiny utility class for keeping bi-directional mappings.
...
Use it in websocket and socks.
2015-04-30 09:04:22 +12:00
Aldo Cortesi
18df329930
websockets: nicer frame construction
...
- Resolve unspecified values on instantiation
- Add a check for masking key length
- Smarter resolution for masking_key and mask values. Do the right thing unless told not to.
2015-04-24 15:42:31 +12:00
Aldo Cortesi
192fd1db7f
websockets: include all header values in frame roundtrip
2015-04-24 15:31:14 +12:00
Aldo Cortesi
def93ea8ca
websockets: remove validation
...
We don't really need this any more. The interface is much less error prone
because bit flags are no longer integers, we have a range check on opcode on
header instantiation, and we've deferred length code calculation and so forth
into the byte render methods.
2015-04-24 15:23:00 +12:00
Aldo Cortesi
f22bc0b4c7
websocket: interface refactoring
...
- Separate out FrameHeader. We need to deal with this separately in many circumstances.
- Simpler equality scheme.
- Bits are now specified by truthiness - we don't care about the integer value.
This means lots of validation is not needed any more.
2015-04-24 15:09:21 +12:00
Aldo Cortesi
3519871f34
websockets: refactor to avoid rundantly specifying payloads and payload lengths
2015-04-24 09:21:04 +12:00
Aldo Cortesi
bdd52fead3
websockets: extract frame header creation into a function
2015-04-24 08:47:09 +12:00
Aldo Cortesi
42a87a1d8b
websockets: handshake checks only take headers
2015-04-23 08:23:51 +12:00
Aldo Cortesi
4fb49c8e55
websockets: (very) slightly nicer is_valid constraints
2015-04-21 23:49:27 +12:00
Aldo Cortesi
176e29fc09
websockets: constants, variable names, refactoring
2015-04-21 23:13:42 +12:00
Aldo Cortesi
1b509d5aea
Whitespace, interface simplification
...
- safe_tobytes doesn't buy us much
- move masking key generation inline
2015-04-21 22:51:01 +12:00
Aldo Cortesi
3e0a71ea34
websockets: refactor to use http and header functions in http.py
2015-04-21 22:39:45 +12:00
Aldo Cortesi
e5f1264838
Whitespace, indentation, nounce -> nonce
2015-04-21 13:39:00 +12:00
Aldo Cortesi
7d83e388aa
Whitespace, pep8, mixed indentation
2015-04-21 11:19:00 +12:00
Aldo Cortesi
dd7ea896f2
Return a named tuple from read_response
2015-04-21 11:11:16 +12:00
Aldo Cortesi
2c660d7633
Migrate requeset reading from mitmproxy to netlib
2015-04-21 11:05:12 +12:00
Chandler Abraham
4ea1ccb638
fixing test coverage, adding to_file/from_file reader writes to match socks.py
2015-04-19 22:18:30 -07:00
Aldo Cortesi
74389ef04a
Websockets: reorganise
...
- websockets.py to top-level
- implementations into test suite
2015-04-20 09:38:09 +12:00
Maximilian Hils
08ba987a84
Merge branch 'master' of github.com:mitmproxy/netlib
2015-04-17 16:29:25 +02:00
Maximilian Hils
0c2ad1edb1
fix socket_close on Windows, refs mitmproxy/mitmproxy#527
2015-04-17 16:29:09 +02:00
Aldo Cortesi
7defb5be86
websockets: more whitespace, WebSocketFrame -> Frame
2015-04-17 14:29:20 +12:00
Aldo Cortesi
488c25d812
websockets: whitespace, PEP8
2015-04-17 13:57:39 +12:00
Aldo Cortesi
3bbafa24bd
Merge pull request #54 from Chandler/websockets
...
Netlib WebSockets take 1
2015-04-17 13:46:51 +12:00
Aldo Cortesi
c53d89fd7f
Improve flexibility of http_cookies._format_pairs
2015-04-16 08:30:54 +12:00
Aldo Cortesi
0c85c72dc4
ODict improvements
...
- Setting values now tries to preserve the existing order, rather than
just appending to the end.
- __repr__ now returns a repr of the tuple list. The old repr becomes a
.format() method. This is clearer, makes troubleshooting easier, and
doesn't assume all data in ODicts are header-like
2015-04-15 10:28:17 +12:00
Aldo Cortesi
aeebf31927
odict: don't convert values to strings when added
2015-04-14 16:20:02 +12:00
Aldo Cortesi
d739882bf2
Add an .extend method for ODicts
2015-04-14 13:50:57 +12:00
Aldo Cortesi
6db5e0a4a1
Remove old-style set-cookie cruft, unit tests to 100%
2015-04-14 10:13:03 +12:00
Aldo Cortesi
de9e741125
Firm up cookie parsing and formatting API
...
Make a tough call: we won't support old-style comma-separated set-cookie
headers. Real world testing has shown that the latest rfc (6265) is
often violated in ways that make the parsing problem indeterminate.
Since this is much more common than the old style deprecated set-cookie
variant, we focus on the most useful case.
2015-04-14 10:02:10 +12:00
Chandler Abraham
2d72a1b6b5
100% test coverage, though still need plenty more
2015-04-13 13:36:09 -07:00
Chandler Abraham
f131f9b855
handshake tests, serialization test
2015-04-11 17:26:59 -07:00
Aldo Cortesi
1a79ef8b6c
Merge branch 'master' of https://github.com/mitmproxy/netlib
2015-04-12 11:32:27 +12:00
Aldo Cortesi
2630da7263
cookies: Cater for special values, fix some bugs found in real-world testing
2015-04-12 11:30:35 +12:00
Aldo Cortesi
73ce169e3d
Initial outline of a cookie parsing and serialization module.
2015-04-12 10:26:09 +12:00
Chandler Abraham
0edc04814e
small cleanups, working on tests
2015-04-11 11:35:15 -07:00
Chandler Abraham
e41e5cbfdd
netlib websockets
2015-04-10 18:37:41 -07:00
Maximilian Hils
e58f76aec1
fix code smell
2015-04-09 02:09:33 +02:00
Maximilian Hils
7f7ccd3a18
100% test coverage
2015-04-09 00:57:37 +02:00
Maximilian Hils
6fbe3006af
fail gracefully if we cannot start a new thread
2015-04-09 00:13:01 +02:00
Maximilian Hils
d5eff70b6e
fix tests on Windows
2015-03-07 01:31:31 +01:00
Maximilian Hils
dbadc1b613
clean up cert handling, fix mitmproxy/mitmproxy#472
2015-03-07 01:22:02 +01:00
Maximilian Hils
d71f3b68fd
make tests more robust, fix coveralls
2015-02-27 22:27:23 +01:00
Maximilian Hils
da1eb94ccd
100% test coverage 🎉
2015-02-27 22:02:52 +01:00
Maximilian Hils
63fb433690
fix #53
2015-02-27 20:40:17 +01:00
Maximilian Hils
738a7b34a2
Merge branch 'master' of github.com:mitmproxy/netlib
2015-02-27 17:00:19 +01:00
Maximilian Hils
224f737646
add option to log ssl keys
...
refs mitmproxy/mitmproxy#475
2015-02-27 16:59:29 +01:00
Maximilian Hils
2a2402dfff
...two years is not enough.
2015-02-17 00:10:10 +01:00
Aldo Cortesi
7e5bb74e72
5 years is enough...
2015-02-17 12:03:52 +13:00
Aldo Cortesi
c9de3e770b
By popular demand, bump dummy cert expiry to 5 years
...
fixes #52
2015-02-17 11:59:07 +13:00
Aldo Cortesi
3c919631d4
Bump version
2014-12-28 22:46:19 +13:00
Maximilian Hils
438c1fbc7d
TCPClient: Use TLS1.1+ where available, BaseHandler: disable SSLv2
2014-12-15 12:32:36 +01:00
Aldo Cortesi
7098c90a6d
Bump version to 0.11.1
2014-11-15 12:45:06 +13:00
Aldo Cortesi
c56e7a90d8
Fix tracebacks in connection finish
2014-11-15 12:31:13 +13:00
Maximilian Hils
60584387ff
be more explicit about requirements
2014-11-11 12:26:20 +01:00
Aldo Cortesi
0811a9ebde
.flush can raise NetlibDisconnect. This fixes a traceback found in fuzzing.
2014-11-07 16:01:41 +13:00
Aldo Cortesi
9ce2f473f6
Simplify expected_http_body_size signature, fixing a traceback found in fuzzing
2014-11-07 15:59:00 +13:00
Aldo Cortesi
ba468f12b8
Whitespace and legibility
2014-10-26 17:30:26 +13:00
Maximilian Hils
ed5e685565
refactor tcp close, fix mitmproxy/mitmproxy#376
2014-10-22 17:54:20 +02:00
Maximilian Hils
29a4e91050
fix mitmproxy/mitmproxy#375
2014-10-17 18:48:30 +02:00
Maximilian Hils
e6a8730f98
fix tcp closing for ssled connections
2014-10-09 04:42:39 +02:00
Maximilian Hils
987fa22e64
make socks reading more bulletproof
2014-10-09 01:46:08 +02:00
Maximilian Hils
9ef84ccc1c
clean up code
2014-10-09 00:15:39 +02:00
Maximilian Hils
fdb6f5552d
CertStore: add support for cert chains
2014-10-08 20:46:30 +02:00
Maximilian Hils
274688172d
fix mitmproxy/mitmproxy#373
2014-10-08 18:40:46 +02:00
Maximilian Hils
e73a2dbab1
minor changes
2014-09-28 03:15:26 +02:00
Aldo Cortesi
0e30796469
Short-form getstate
2014-09-17 14:04:26 +12:00
Aldo Cortesi
414a0a1602
Adjust for state object protocol changes in mitmproxy.
2014-09-17 11:47:07 +12:00
Aldo Cortesi
b21df0cf44
Merge branch 'master' of ssh.github.com:cortesi/netlib
2014-09-09 10:10:10 +12:00
Aldo Cortesi
63c1efd394
Remove avoidable imports from OpenSSL
...
Fixes #38
2014-09-09 10:08:56 +12:00
Maximilian Hils
f90ea89e69
more verbose errors
2014-09-08 18:38:05 +02:00
Aldo Cortesi
5dcc7f78df
Merge pull request #34 from bbaetz/master
...
Change the criticality of a number of X509 extentions, to match
2014-09-07 12:50:36 +12:00
Aldo Cortesi
754b627937
Merge pull request #48 from mitmproxy/mitmproxy_issue_341
...
Adjust netlib to mitmproxy changes
2014-09-07 12:47:49 +12:00
Aldo Cortesi
f4013dcd40
Add a FIXME note for discarded credentials
2014-09-07 12:47:17 +12:00
Aldo Cortesi
52f430c934
Merge pull request #37 from pritambaral/urlparse
...
More accurate host, port parsing
2014-09-07 12:46:01 +12:00
Aldo Cortesi
f98989b075
Merge branch 'master' into mitmproxy_issue_341
...
Conflicts:
netlib/tcp.py
2014-09-07 12:39:59 +12:00
Aldo Cortesi
b688661ffb
Merge branch 'func'
2014-09-07 11:25:28 +12:00
Aldo Cortesi
3b81d678c4
Use print function after future import
2014-09-07 11:24:41 +12:00
Maximilian Hils
c2e74ef95c
Merge branch 'master' into mitmproxy_issue_341
2014-09-04 21:21:03 +02:00
Maximilian Hils
d9a731b23a
make inequality comparison work
2014-09-04 19:18:43 +02:00
Maximilian Hils
4bf7f3c0ff
set source_address if not manually specified
2014-09-04 16:55:02 +02:00