alias tlsVersion = ubyte[2];
struct SupportedVersions
{
tlsVersion[] tlsVersions = [0x3, 0x4];
}
Wait, this compiles? And what it does?
Thread overview | |||||
---|---|---|---|---|---|
|
October 06, 2022 [SAoC2022] QUIC Protocol : Milestone 1, Part 2 | ||||
---|---|---|---|---|
| ||||
Hi! I worked a bit on QUIC and TLS frame decoding/encoding : https://github.com/dlang-community/quic-d/pull/4. I implemented sort of a "FrameReader" that can handle QUIC's variable length fields. I took some time to understand how QUIC and TLS frames interact with each other. Basically, in order to minimize the number of UDP datagrams sent over the network, TLS frames are embedded into QUIC CRYPTO frames. This way, these two protocols can do their handshakes at the same time. Suggestions are welcome :) Thanks! References : https://www.rfc-editor.org/rfc/rfc8446 https://www.rfc-editor.org/rfc/rfc9000 https://www.rfc-editor.org/rfc/rfc9001 |
October 06, 2022 Re: [SAoC2022] QUIC Protocol : Milestone 1, Part 2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vlad Chicoș |
Wait, this compiles? And what it does? |
October 06, 2022 Re: [SAoC2022] QUIC Protocol : Milestone 1, Part 2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kagamin | On Thursday, 6 October 2022 at 19:01:22 UTC, Kagamin wrote: >
Wait, this compiles? And what it does? Thank you for warning me. Indeed, it does look wrong. I changed it, should be better now. That struct should be a TLS extension that provides a list of available TLS versions needed for peer negotiation. I gave it a default value(for TLS 1.3) since it is the only one allowed by QUIC. |