Commit Graph

9671 Commits

Author SHA1 Message Date
Maximilian Hils
1c9e9660b8 [sans-io] add next_layer tests 2020-12-12 21:24:21 +01:00
Maximilian Hils
21293edce0 [sans-io] TLS: add handshake fuzzing 2020-12-12 21:24:21 +01:00
Maximilian Hils
3a85c7d15d [sans-io] support protocols with server-side greeting 2020-12-12 21:24:21 +01:00
Maximilian Hils
de925ab397 [sans-io] fix tests 2020-12-12 21:24:21 +01:00
Maximilian Hils
8201a90e22 [sans-io] lint! 2020-12-12 21:24:21 +01:00
Maximilian Hils
6b2e49eb13 [sans-io] adjust clientreplay import 2020-12-12 21:24:21 +01:00
Maximilian Hils
00c54e68b8 [sans-io] HTTP/2: more fuzzing, improve cancellation logic 2020-12-12 21:24:21 +01:00
Maximilian Hils
8f516bfd81 [sans-io] HTTP/2: reset half-closed streams on error 2020-12-12 21:24:21 +01:00
Maximilian Hils
09d9c608a4 [sans-io] fix http event type detection 2020-12-12 21:24:21 +01:00
Maximilian Hils
66868b1186 [sans-io] HTTP/2: protocol fixes, tests++ 2020-12-12 21:24:21 +01:00
Maximilian Hils
52479e94bb [sans-io] include non-standard ports in host header, refs #4280 2020-12-12 21:24:21 +01:00
Maximilian Hils
8ae2ab2aca [sans-io] fix HTTP/2 stream cancellation 2020-12-12 21:24:20 +01:00
Maximilian Hils
d32a5d5f33 [sans-io] websockets: fix bugs, 100% test coverage 🎉 2020-12-12 21:24:20 +01:00
Maximilian Hils
e79cc6bc24 [sans-io] websocket: add frame buffer, store messages 2020-12-12 21:24:20 +01:00
Maximilian Hils
a4a0428bc6 [sans-io] handle 101 switching protocols 2020-12-12 21:24:20 +01:00
Maximilian Hils
396673b2b1 [sans-io] HTTP/2: typing fixes 2020-12-12 21:24:20 +01:00
Maximilian Hils
19f8cd0839 [sans-io] add websocket proof-of-concept 2020-12-12 21:24:20 +01:00
Maximilian Hils
222d5cedc8 [sans-io] HTTP/1: Add tests for HTTP -> TCP pipe behavior 2020-12-12 21:24:20 +01:00
Maximilian Hils
ab733b73ca [sans-io] unify HTTP/1 client/server implementations 2020-12-12 21:24:20 +01:00
Maximilian Hils
7afa290eff [sans-io] tcp: add hook docstrings 2020-12-12 21:24:20 +01:00
Maximilian Hils
4f0cbec308 [sans-io] http: emit error hook when killed 2020-12-12 21:24:20 +01:00
Maximilian Hils
7087539c4d [sans-io] Server: persist chosen cipher 2020-12-12 21:24:20 +01:00
Maximilian Hils
d55055d022 [sans-io] fix serialization, fixup client replay 2020-12-12 21:24:20 +01:00
Maximilian Hils
011766b10d [sans-io] don't proxy HTTP/1 -> HTTP/2 2020-12-12 21:24:20 +01:00
Maximilian Hils
5e9f342c45 [sans-io] fix ignore/allow options 2020-12-12 21:24:20 +01:00
Maximilian Hils
848e7cfaec [sans-io] simplify LayerStack 2020-12-12 21:24:20 +01:00
Maximilian Hils
41f69749f2 [sans-io] enable "Secure Web Proxy" mode 2020-12-12 21:24:20 +01:00
Maximilian Hils
1d4bdeb68d [sans-io] HTTP/2: enable END_STREAM for HEADERS
Akamai really doesn't like empty DATA frames with END_STREAM set,
so we mitigate this by indicating end stream in the MessageHeaders events.
2020-12-12 21:24:20 +01:00
Maximilian Hils
3c061b7863 [sans-io] fix playbook SendData merging 2020-12-12 21:24:20 +01:00
Maximilian Hils
1112135920 [sans-io] HTTP/2: respect max_concurrency_limit 2020-12-12 21:24:20 +01:00
Maximilian Hils
41ed038bb9 [sans-io] do not rely on existence of h2 streams 2020-12-12 21:24:20 +01:00
Maximilian Hils
0d42499799 [sans-io] fix nextlayer logic 2020-12-12 21:24:20 +01:00
Maximilian Hils
485c8eb3e9 [sans-io] fix HTTP/2 -> HTTP/1 interop, limit max connections / server / client 2020-12-12 21:24:20 +01:00
Maximilian Hils
32208b14eb [sans-io] fix HTTP/2 stream concurrency 2020-12-12 21:24:20 +01:00
Maximilian Hils
553f102d6e [sans-io] playbook: fix multiple placeholders of same type 2020-12-12 21:24:20 +01:00
Maximilian Hils
9251f7820a [sans-io] fix HTTP/2 client aborts 2020-12-12 21:24:20 +01:00
Maximilian Hils
3bffcf5e2f [sans-io] fix tcp half close behavior 2020-12-12 21:24:20 +01:00
Maximilian Hils
9f89c23a52 [sans-io] use asyncio_utils 2020-12-12 21:24:20 +01:00
Maximilian Hils
5bf07b2176 [sans-io] clientplayback: don't catch cancellederror 2020-12-12 21:24:20 +01:00
Maximilian Hils
b5f59a1297 [sans-io] test NextLayer behavior on connection close 2020-12-12 21:24:20 +01:00
Maximilian Hils
65870b729f [sans-io] improve tcp half close behavior 2020-12-12 21:24:20 +01:00
Maximilian Hils
c639fafd64 [sans-io] more testing, more bugfixes! 2020-12-12 21:24:20 +01:00
Maximilian Hils
38f006eb9a [sans-io] more http testing, more bugfixes! 2020-12-12 21:24:20 +01:00
Maximilian Hils
fdcdb28251 [sans-io] final fixes to pass h2spec 2020-12-12 21:24:20 +01:00
Maximilian Hils
25999ba9d4 [sans-io] http bugfixes! 2020-12-12 21:24:20 +01:00
Maximilian Hils
74f94fe5a3 disable asyncio debug mode, fix tests 2020-12-12 21:24:20 +01:00
Maximilian Hils
05968a29bb [sans-io] implement sans-io based replay 2020-12-12 21:24:19 +01:00
Maximilian Hils
895466bc59 [sans-io] enable sans-io by default 2020-12-12 21:24:19 +01:00
Maximilian Hils
238ea20884 [sans-io] make context.Connections serializable 2020-12-12 21:24:19 +01:00
Maximilian Hils
921594cbc0 [sans-io] add HTTP end timestamps 2020-12-12 21:24:19 +01:00