Thomas Kriechbaumer
fdbb3b76cf
http2: add warning if raw data looks like HTTP/1
2015-06-08 16:54:19 +02:00
Thomas Kriechbaumer
abbe88c8ce
fix non-ALPN supported OpenSSL-related tests
2015-06-08 13:25:42 +02:00
Thomas Kriechbaumer
4666d1e7bb
improve ALPN support on travis
2015-06-08 12:52:06 +02:00
Thomas Kriechbaumer
359ef46905
fix coding style
2015-06-08 12:29:39 +02:00
Aldo Cortesi
9c48bfb2a5
http2: ditch the logging for now
...
The API is well designed: it looks like we can get all the information
we need to expose debugging in the caller of the API.
2015-06-06 12:30:53 +12:00
Aldo Cortesi
f2d784896d
http2: resolve module structure and circular dependencies
...
- Move implementation out of __init__.py to protocol.py (an anti-pattern
because it makes the kind of structural refactoring we need hard)
- protocol imports frame, frame does not import protocol. To do this, we
shift the default settings to frame. If this feels wrong, we can move
them to a separate module (defaults.py?.).
2015-06-06 12:26:48 +12:00
Aldo Cortesi
fcaabeb455
Merge pull request #65 from Kriechi/h2-client
...
HTTP/2 protocol definition
2015-06-06 11:54:35 +12:00
Thomas Kriechbaumer
f2db8abbe8
use open instead of file
2015-06-05 20:52:11 +02:00
Thomas Kriechbaumer
fdc908cb98
http2: add protocol tests
2015-06-05 20:19:48 +02:00
Thomas Kriechbaumer
f003f87197
http2: rename module and refactor as strategy
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
623dd850e0
http2: add logging and error handling
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
40fa113116
http2: change header_block_fragment handling
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
5cecbdc168
http2: add basic protocol handling
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
e4c129026f
http2: introduce state for connection objects
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
436291764c
http2: fix default settings
2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer
9883509f89
simplify default ssl params for test servers
2015-06-05 13:33:37 +02:00
Aldo Cortesi
0269d0fb8b
repr for websocket frames
2015-06-05 17:08:22 +12:00
Aldo Cortesi
2d9b9be1f4
Revert "tcp: clear_log to clear socket logs"
...
start_log also clears the log, which is good enough.
This reverts commit 4ca62e0d9b
.
2015-06-05 11:50:29 +12:00
Aldo Cortesi
4ca62e0d9b
tcp: clear_log to clear socket logs
2015-06-05 11:42:06 +12:00
Aldo Cortesi
113c5c187f
Bump version
2015-06-04 11:14:47 +12:00
Maximilian Hils
c725325a78
Merge pull request #61 from Kriechi/distribute-cffi
...
distribute cffi correctly
2015-05-31 11:44:27 +02:00
Aldo Cortesi
35856ead07
websockets: nicer human readable
2015-05-31 17:24:44 +12:00
Aldo Cortesi
f7bd690e3a
When we see an incomplete read with 0 bytes, it's a disconnect
...
Partially fixes mitmproxy/mitmproxy:#593
2015-05-31 17:18:55 +12:00
Aldo Cortesi
73376e605a
Save first byte timestamp for writers too.
2015-05-31 16:54:14 +12:00
Aldo Cortesi
4ec181c140
Move version check to netlib, unit test it.
2015-05-31 13:12:01 +12:00
Thomas Kriechbaumer
b395049a85
distribute cffi correctly
2015-05-30 15:15:08 +02:00
Aldo Cortesi
f76bfabc5d
Adjust pep8 parameters, reformat
2015-05-30 12:02:58 +12:00
Thomas Kriechbaumer
c32d8189fa
cleanup imports
2015-05-29 17:00:38 +02:00
Thomas Kriechbaumer
e2de49596d
add HTTP/2-capable client
2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer
780836b182
add ALPN support to TCP abstraction
2015-05-29 15:31:22 +02:00
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