Commit Graph

378 Commits

Author SHA1 Message Date
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 b84001e8f0 http2: explicitly mention all arguments in tests 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 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
Aldo Cortesi 5e4850d3b3 Merge pull request #62 from Kriechi/h2-client
H2 client
2015-05-30 12:01:19 +12:00
Thomas Kriechbaumer 629fa8e552 make tests aware of ALPN & OpenSSL 1.0.2 dependency 2015-05-29 17:04:12 +02: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
Thomas Kriechbaumer bdb62101bb test Address __str__ 2015-05-29 11:42:46 +02:00
Thomas Kriechbaumer e805f2d066 improve travis coding style checks 2015-05-29 11:41:39 +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
Aldo Cortesi 5265b28957 Merge pull request #59 from Kriechi/update-tls-defaults
update TLS defaults: signature hash and DH params
2015-05-28 11:59:53 +12:00
Thomas Kriechbaumer 8037830696 add pep8 autoformat checks to travis 2015-05-27 13:13:04 +02: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
Aldo Cortesi f7b75ba8c2 Merge pull request #58 from Kriechi/update-openssl
Update openssl
2015-05-27 20:33:03 +12:00
Thomas Kriechbaumer d6a68e1394 remove outdated workarounds 2015-05-27 10:23:43 +02:00
Thomas Kriechbaumer 1967a49cd9 bump pyOpenSSL and cryptography dependencies 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 dabb356c15 Zap a left-over test 2015-05-05 10:52:50 +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 b7a2fc8553 testing: http read_request corner case 2015-04-30 08:41:13 +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