Commit Graph

9109 Commits

Author SHA1 Message Date
Maximilian Hils
87ec81e435 [sans-io] complete h1/h2 interop 2020-12-12 21:24:19 +01:00
Maximilian Hils
dee8fb7a39 [sans-io] h1: raise on HTTP trailers 2020-12-12 21:24:19 +01:00
Maximilian Hils
ffa5a69ebf [sans-io] h2 client (wip) 2020-12-12 21:24:19 +01:00
Maximilian Hils
0646a4f1ba [sans-io] h2++, typeize Placeholder 2020-12-12 21:24:19 +01:00
Maximilian Hils
742efae419 [sans-io] add minimal http2 server implementation 2020-12-12 21:24:19 +01:00
Maximilian Hils
a071beb662 [sans-io] remove http command queue 2020-12-12 21:24:19 +01:00
Maximilian Hils
21000fca2c [sans-io] close client conn on CONNECT failure 2020-12-12 21:24:19 +01:00
Maximilian Hils
b9e3b46fd8 [sans-io] add http fuzzing tests 2020-12-12 21:24:19 +01:00
Maximilian Hils
a568721e86 [sans-io] add tests for unreachable http servers 2020-12-12 21:24:19 +01:00
Maximilian Hils
f12b2b7e87 [sans-io] better sockname/peername naming, refs #3896 2020-12-12 21:24:19 +01:00
Maximilian Hils
c5cb0d2f0b [sans-io] implement support for Expect: 100-continue 2020-12-12 21:24:19 +01:00
Maximilian Hils
c00a78751e [sans-io] enable proxying by host header
This mirrors the current examples/complex/dns_spoofing.py script.
2020-12-12 21:24:19 +01:00
Maximilian Hils
3f9441ac5f [sans-io] finalize upstream proxy mode 2020-12-12 21:24:19 +01:00
Maximilian Hils
549eb8df4b [sans-io] upstream proxy tests and fixes 2020-12-12 21:24:19 +01:00
Maximilian Hils
605da3afb6 [sans-io] refactor TLS layer to be a tunnel 2020-12-12 21:24:19 +01:00
Maximilian Hils
da02f037cf [sans-io] add http upstream mode prototype 2020-12-12 21:24:19 +01:00
Maximilian Hils
a30a6758f3 [sans-io] fixes, fixes, fixes 2020-12-12 21:24:18 +01:00
Maximilian Hils
b2060356b6 [sans-io] wip: tls establishment semantics 2020-12-12 21:24:18 +01:00
Maximilian Hils
7efe27be74 [sans-io] refactor 2020-12-12 21:24:18 +01:00
Maximilian Hils
0740c673bd [sans-io] implement http streaming, refine error handling 2020-12-12 21:24:18 +01:00
Maximilian Hils
5671012163 [sans-io] make hooks explicit 2020-12-12 21:24:18 +01:00
Maximilian Hils
7ea17b859c [sans-io] remove old layers 2020-12-12 21:24:18 +01:00
Maximilian Hils
03801aecb2 [sans-io] split http layer into smaller modules 2020-12-12 21:24:18 +01:00
Maximilian Hils
9e6548e581 [sans-io] tls: handle untrusted mitmproxy certs 2020-12-12 21:24:18 +01:00
Maximilian Hils
b075b7fc15 [sans-io] tls: handle invalid clienthellos 2020-12-12 21:24:18 +01:00
Maximilian Hils
6cf0bec912 [sans-io] tls: various improvements 2020-12-12 21:24:18 +01:00
Maximilian Hils
09b6257de0 [sans-io] tls tests++ 2020-12-12 21:24:18 +01:00
Maximilian Hils
7fbe8cece7 [sans-io] tls: test alpn 2020-12-12 21:24:18 +01:00
Maximilian Hils
6ee7802bf1 [sans-io] http tests++ 2020-12-12 21:24:18 +01:00
Maximilian Hils
1c80dfe17f [sans-io] tls layer++ 2020-12-12 21:24:18 +01:00
Maximilian Hils
0c04638d8d [sans-io] improve next layer heuristics 2020-12-12 21:24:18 +01:00
Maximilian Hils
105cac231d [sans-io] register tlsconfig addon 2020-12-12 21:24:18 +01:00
Maximilian Hils
2736c9c705 [sans-io] remove old implementations 2020-12-12 21:24:18 +01:00
Maximilian Hils
84287f928c [sans-io] improve testing story 2020-12-12 21:24:18 +01:00
Maximilian Hils
e0eb77a794 [sans-io] add transparent proxy, improve testing 2020-12-12 21:24:18 +01:00
Maximilian Hils
a4803cfaae [sans-io] compatibility adjustments 2020-12-12 21:24:18 +01:00
Maximilian Hils
fbe1d73eab [sans-io] add timeout watchdog to close lingering tcp streams 2020-12-12 21:24:18 +01:00
Maximilian Hils
549e41ee40 [sans-io] tls: handle multiple servers 2020-12-12 21:24:18 +01:00
Maximilian Hils
ffb3782618 [sans-io] http implementation++ 2020-12-12 21:24:18 +01:00
Maximilian Hils
87a4d3efdb [sans-io] http implementation++ 2020-12-12 21:24:18 +01:00
Maximilian Hils
6e1e999c3d [sans-io] various http and tls fixes 2020-12-12 21:24:18 +01:00
Maximilian Hils
16abce77ea [sans-io] better represent half-closed connections 2020-12-12 21:24:18 +01:00
Maximilian Hils
9f075fbbbc [sans-io] move old implementations out of the way 2020-12-12 21:24:18 +01:00
Maximilian Hils
c9fa5b68f4 [sans-io] rewrite TLS layer, handle CONNECT 2020-12-12 21:24:18 +01:00
Maximilian Hils
7fb949f8bf [sans-io] make http event queue more flexible 2020-12-12 21:24:17 +01:00
Maximilian Hils
a7a0143ef2 [sans-io] groom new http implementation 2020-12-12 21:24:17 +01:00
Maximilian Hils
2f4e13c36c [sans-io] more http experiments 2020-12-12 21:24:17 +01:00
Maximilian Hils
70fb64b1db [sans-io] rewrite proxy io buffer 2020-12-12 21:24:17 +01:00
Maximilian Hils
f76b751661 [sans-io] fix NextLayer race condition 2020-12-12 21:24:17 +01:00
Maximilian Hils
71dc89c3c2 [sans-io] add new HTTP/1 and HTTP/2 implementation 2020-12-12 21:24:17 +01:00