Commit Graph

9129 Commits

Author SHA1 Message Date
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
Thomas Kriechbaumer
676799f874 [sans-io] fix TLS SNI 2020-12-12 21:24:17 +01:00
Maximilian Hils
b60699ae7c [sans-io] minor http fixes 2020-12-12 21:24:17 +01:00
Maximilian Hils
382c5587ef [sans-io] tls fixes 2020-12-12 21:24:17 +01:00
Maximilian Hils
1726f6ade8 [sans-io] glue layer: use platform-agnostic socketpair implementation 2020-12-12 21:24:17 +01:00
Maximilian Hils
ad0ec5d318 [sans-io] experiment with stack matching 2020-12-12 21:24:17 +01:00
Thomas Kriechbaumer
bc20b77c48 refactor websockets 2020-12-12 21:24:17 +01:00
Maximilian Hils
34f3573be5 [sans-io] glue layer: fix tls 2020-12-12 21:24:17 +01:00
Maximilian Hils
3dd1c5a16d [sans-io] add glue layer that connects to existing proxy stack 2020-12-12 21:24:17 +01:00
Maximilian Hils
a860fe4a4b [sans-io] minor test improvements 2020-12-12 21:24:17 +01:00
Maximilian Hils
8938aec2c0 [sans-io] adjust tls tests 2020-12-12 21:24:17 +01:00
Maximilian Hils
25373672c5 [sans-io] move top-layer determination to next layer addon 2020-12-12 21:24:17 +01:00
Maximilian Hils
467dc81d19 [sans-io] adapt to asyncio changes in core 2020-12-12 21:24:17 +01:00
Maximilian Hils
8f3db90def [sans-io] split tls layer into client and server layers
this drastically reduces the complexity of the TLS code and
makes it easier to implement the remaining bits.
2020-12-12 21:24:17 +01:00
Maximilian Hils
34274744a1 [sans-io] improve layer debugging 2020-12-12 21:24:17 +01:00
Maximilian Hils
005a5afe47 [sans-io] add initial work on HTTP proxying 2020-12-12 21:24:17 +01:00
Maximilian Hils
a4c357a1a2 [sans-io] minor fixes, make dev server usable again 2020-12-12 21:24:17 +01:00
Maximilian Hils
c8f1b3d7f9 [sans-io] make context.server non-optional
this makes for a nicer API, we just check for a missing address now.
2020-12-12 21:24:17 +01:00
Maximilian Hils
edaf3219fc [sans-io] improve logging 2020-12-12 21:24:17 +01:00
Maximilian Hils
b5a3343d03 [sans-io] add ALPN support to TLS layer, tests++ 2020-12-12 21:24:17 +01:00
Maximilian Hils
3f7b850268 [sans-io] test server tls 2020-12-12 21:24:17 +01:00
Maximilian Hils
4cd83ee0af [sans-io] minor test improvements 2020-12-12 21:24:17 +01:00
Maximilian Hils
a402bfed24 [sans-io] simplify tls layer 2020-12-12 21:24:17 +01:00
Maximilian Hils
c6262f9e9c [sans-io] remove hook reply
This is not desired as hooks modify the passed object itself
instead of returning a custom reply.
2020-12-12 21:24:17 +01:00
Maximilian Hils
1fa2e59734 [sans-io] add initial tls tests 2020-12-12 21:24:17 +01:00
Maximilian Hils
eaa8b32dd7 [sans-io] less verbose read/send logging 2020-12-12 21:24:17 +01:00
Maximilian Hils
9ea0259bb7 [sans-io] improve ClientHello parsing, add tests 2020-12-12 21:24:17 +01:00
Ujjwal Verma
0cb06b428e Moved tests 2020-12-12 21:24:17 +01:00
Ujjwal Verma
1ad7b794d7 Lint 2020-12-12 21:24:16 +01:00
Ujjwal Verma
41c79bf837 Parse Client hello from buffer 2020-12-12 21:24:16 +01:00
Maximilian Hils
3efcba777f add connection_strategy option 2020-12-12 21:24:16 +01:00