Commit Graph

470 Commits

Author SHA1 Message Date
Thomas Kriechbaumer
53abf5f4d7 http2: handle Ping in protocol 2015-09-03 21:24:07 +02:00
Maximilian Hils
2d0d240abc Merge branch 'master' of https://github.com/mitmproxy/netlib 2015-08-29 20:56:19 +02:00
Maximilian Hils
4a8fd79e33 don't yield prefix and suffix 2015-08-29 20:54:54 +02:00
Maximilian Hils
1265945f55 move sslversion mapping to netlib 2015-08-29 12:30:35 +02:00
Maximilian Hils
982d8000c4 wip 2015-08-28 17:35:48 +02:00
Thomas Kriechbaumer
3e3b59aa71 http2: fix priority stream dependency check 2015-08-26 20:58:00 +02:00
Maximilian Hils
de0ced73f8 fix error messages 2015-08-25 18:33:55 +02:00
Maximilian Hils
21858995ae request -> request_method 2015-08-24 18:16:34 +02:00
Maximilian Hils
622665952c minor stylistic fixes 2015-08-24 16:52:32 +02:00
Thomas Kriechbaumer
cd9701050f read_response depends on request for stream_id 2015-08-21 10:04:57 +02:00
Thomas Kriechbaumer
53f2582313 http2: fix unhandled settings frame 2015-08-20 20:36:51 +02:00
Thomas Kriechbaumer
16f697f68a http2: disable features we do not support yet 2015-08-20 10:27:06 +02:00
Thomas Kriechbaumer
94b7beae2a http2: implement basic flow control updates 2015-08-20 10:27:06 +02:00
Thomas Kriechbaumer
eb34305518 http2: fix frame length field 2015-08-20 10:27:06 +02:00
Thomas Kriechbaumer
e20d4e5c02 http2: add callback to handle unexpected frames 2015-08-20 10:27:06 +02:00
Thomas Kriechbaumer
1025c15242 fix typo 2015-08-20 10:27:06 +02:00
Maximilian Hils
9920de1e15 tcp._Connection: clean up code, fix inheritance 2015-08-19 16:06:33 +02:00
Maximilian Hils
6810fba54e add ssl peek polyfill 2015-08-19 16:05:42 +02:00
Thomas Kriechbaumer
9686a77dcb http2: implement request target 2015-08-18 22:17:00 +02:00
Thomas Kriechbaumer
07a1356e2f http2: add support for too large header frames 2015-08-18 21:22:42 +02:00
Thomas Kriechbaumer
0d384ac2a9 http2: add support for too large data frames 2015-08-18 21:22:42 +02:00
Maximilian Hils
231656859f TCPClient: more sophisticated address handling 2015-08-18 21:08:42 +02:00
Maximilian Hils
62416daa4a add Reader.peek() 2015-08-18 21:08:01 +02:00
Maximilian Hils
c92dc1b868 re-add form_out 2015-08-18 21:07:38 +02:00
Aldo Cortesi
3d30667125 Bump netlib version - 0.13.1 is already out 2015-08-17 10:21:30 +12:00
Thomas Kriechbaumer
85cede47aa allow direct ALPN callback method 2015-08-16 11:41:34 +02:00
Thomas Kriechbaumer
b7e6e1c9b2 add HTTP/1.1 ALPN version string 2015-08-15 17:49:59 +02:00
Thomas Kriechbaumer
6a30ad2ad2 fix minor style offences 2015-08-10 20:50:05 +02:00
Thomas Kriechbaumer
ff27d65f08 cleanup whitespace 2015-08-10 20:44:36 +02:00
Thomas Kriechbaumer
476badf45c cleanup imports 2015-08-10 20:36:47 +02:00
Thomas Kriechbaumer
690b8b4f4e add move tests and code from mitmproxy 2015-08-10 20:34:27 +02:00
Maximilian Hils
c2832ef72b fix mitmproxy/mitmproxy#705 2015-08-03 18:06:31 +02:00
Thomas Kriechbaumer
6a678d86e1 fix mitmproxy tests 2015-08-02 11:27:01 +02:00
Thomas Kriechbaumer
0be84fd6b9 fix tutils imports 2015-08-01 14:49:15 +02:00
Thomas Kriechbaumer
a837230320 move code from mitmproxy to netlib 2015-08-01 12:40:40 +02:00
Thomas Kriechbaumer
7b10817670 http2: improve protocol 2015-07-30 19:40:00 +02:00
Thomas Kriechbaumer
c7fcc2cca5 add on-the-wire representation methods 2015-07-29 11:27:43 +02:00
Thomas Kriechbaumer
827fe824d9 move code from mitmproxy to netlib 2015-07-27 11:48:38 +02:00
Maximilian Hils
fb48217224 improve pyopenssl version check 2015-07-25 13:30:25 +02:00
Maximilian Hils
b57c1386a1 Merge pull request #81 from Kriechi/protocol-refactor
HTTP protocol refactoring
2015-07-24 16:50:56 +02:00
Maximilian Hils
1b26161382 add distinct error for cert verification issues 2015-07-24 16:47:28 +02:00
Thomas Kriechbaumer
657973eca3 fix bugs 2015-07-22 16:13:06 +02:00
Thomas Kriechbaumer
faf17d3d60 http2: make proper use of odict 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
ecc7ffe928 reduce public interface
use private indicator pattern “_methodname”
2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
83f013fca1 introduce EmptyRequest class 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
d62dbee0f6 rename content -> body 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
37a0cb858c introduce ConnectRequest class 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
4617ab8a3a add Request class and unify read_request interface 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
808b294865 refactor HTTP/1 as protocol 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
230c16122b change HTTP2 interface to match HTTP1 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
bab6cbff1e extract authentication methods from protocol 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
f50deb7b76 move bits around 2015-07-22 15:30:51 +02:00
Thomas Kriechbaumer
bd5ee21284 refactor websockets into protocol 2015-07-22 15:30:50 +02:00
Thomas Kriechbaumer
6dcfc35011 introduce http_semantics module
used for generic HTTP representation
everything should apply for HTTP/1 and HTTP/2
2015-07-22 15:30:50 +02:00
Maximilian Hils
e316a9cdb4 bump version 2015-07-22 13:39:48 +02:00
Kyle Morton
c17af4162b Added a fix for pre-1.0 OpenSSL which wasn't correctly erring on failed certificate validation 2015-07-21 19:15:11 -07:00
Kyle Morton
155bdeb123 Fixing default CA which ought to be read as a pemfile and not a directory 2015-07-21 18:09:42 -07:00
Maximilian Hils
9fdc412fa0 bump version 2015-07-22 00:17:05 +02:00
M. Utku Altinkaya
397b3bba5e Fixed version error formatting issue 2015-07-21 13:17:46 +03:00
Maximilian Hils
880c66fe48 socks: optionally fail early 2015-07-03 02:45:12 +02:00
Maximilian Hils
9aaf10120d socks: add assert_socks5 method 2015-07-03 02:01:30 +02:00
Kyle Morton
0a2b25187f Fixing how certifi is made the default ca_path to simplify calling logic. 2015-06-26 14:57:00 -07:00
Maximilian Hils
2723a0e573 remove certffi 2015-06-26 13:26:35 +02:00
Aldo Cortesi
41925b01f7 Fix printing of SSL version error
Fixes #73
2015-06-25 10:37:01 +12:00
Aldo Cortesi
db6576ca6f Merge pull request #76 from kyle-m/master
Provide debugging information when upstream server certificate fails validation
2015-06-24 09:27:08 +12:00
Aldo Cortesi
80dd703a2a Merge branch 'Kriechi-ssl-version-handling' 2015-06-23 22:18:10 +12:00
Aldo Cortesi
239f4758af Remove dependence on pathod in test suite. 2015-06-23 22:16:03 +12:00
Kyle Morton
d1452424be Cleaning up upstream server verification. Adding storage of cerificate
verification errors on TCPClient object to enable warnings in downstream
projects.
2015-06-22 17:31:13 -07:00
Kyle Morton
7afe44ba4e Updating TCPServer to allow tests (and potentially other use cases) to serve
certificate chains instead of only single certificates.
2015-06-22 16:48:09 -07:00
Thomas Kriechbaumer
58118d607e unify SSL version/method handling 2015-06-22 20:39:34 +02:00
Aldo Cortesi
2aa1b98fbf netlib/test.py -> test/tservers.py 2015-06-22 14:52:23 +12:00
Thomas Kriechbaumer
f5c5deb2ae fix http user agents 2015-06-18 17:36:58 +02:00
Thomas Kriechbaumer
69e71097f7 mark unused variables and arguments 2015-06-18 17:14:38 +02:00
Aldo Cortesi
4579c67150 Merge branch 'master' of https://github.com/kyle-m/netlib into kyle-m-master 2015-06-18 12:23:03 +12:00
Aldo Cortesi
6e301f37d0 Only set OP_NO_COMPRESSION by default if it exists in our version of OpenSSL
We'll need to start testing under both new and old versions of OpenSSL
somehow to catch these...
2015-06-18 12:18:22 +12:00
Aldo Cortesi
4152b14387 Merge pull request #71 from Kriechi/landscape
fix warnings and code smells
2015-06-18 12:07:20 +12:00
Thomas Kriechbaumer
836b1eab97 fix warnings and code smells
use prospector to find them
2015-06-17 13:10:27 +02:00
Kyle Morton
c9c93af453 Adding certifi as default CA bundle. 2015-06-16 11:11:10 -07:00
Thomas Kriechbaumer
eb823a04a1 http2: improve :authority header 2015-06-16 15:00:29 +02:00
Thomas Kriechbaumer
abb37a3ef5 http2: improve test suite 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
20c136e070 http2: return stream_id from request for response 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
1c124421e3 http2: fix header_block_fragments and length 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
d0a9d3cdda http2: only first headers frame as END_STREAM flag 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
e3db241a2f http2: improve frame output 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
79ff439930 add elliptic curve during TLS handshake 2015-06-16 15:00:28 +02:00
Thomas Kriechbaumer
12702b9a01 http2: improve frame output 2015-06-16 14:55:08 +02:00
Aldo Cortesi
bb206323ab Merge pull request #69 from kyle-m/master
Adding support for upstream certificate validation when using SSL/TLS…
2015-06-16 10:34:09 +12:00
Kyle Morton
fe764cde52 Adding support for upstream certificate validation when using SSL/TLS with an
instance of TCPClient.
2015-06-15 10:18:54 -07:00
Thomas Kriechbaumer
0d137eac6f simplify ALPN 2015-06-14 19:50:35 +02:00
Thomas Kriechbaumer
8d71a5b4ab http2: add authority header 2015-06-14 19:43:32 +02:00
Thomas Kriechbaumer
9c6d237d02 add new TLS methods 2015-06-14 18:17:53 +02:00
Thomas Kriechbaumer
5fab755a05 add more tests 2015-06-12 15:27:29 +02:00
Thomas Kriechbaumer
a901bc3032 http2: add response creation 2015-06-12 14:45:51 +02:00
Thomas Kriechbaumer
8ea157775d http2: general improvements 2015-06-12 14:42:07 +02:00
Thomas Kriechbaumer
eeaed93a83 improve ALPN integration 2015-06-11 15:37:17 +02:00
Thomas Kriechbaumer
0595585974 fix coding style 2015-06-08 17:00:03 +02:00
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