mirror of
https://github.com/n0-computer/noq.git
synced 2026-09-24 20:25:00 +00:00
e6bd7cad9ca4a0c22872ae3531dbdba4018dbefa
If the ClientHello got retransmitted prematurely and the handshake then proceeded, the client's Finished packet would contain a unneeded copy of the ClientHello, and hence be deemed an Initial by the transmit logic, leading to it being dropped by the server and the handshake stalling.
quicr
quicr is an implementation of the QUIC network protocol undergoing
standardization by the IETF. It is currently suitable for experimental use. The
implementation is split up into the state macine crate quicr-core which performs no IO internally and can be tested
deterministically, and a high-level tokio-compatible API in quicr. See quicr/examples/ for usage.
Features
- Simultaneous client/server operation
- Ordered and unordered reads for improved performance
Status
- QUIC draft 11 with TLS 1.3 draft 28
- Cryptographic handshake
- Stream data w/ flow control and congestion control
- Connection close
- Stateless retry
- Migration
- 0-RTT data
- Session resumption
Building
Because TLS1.3 is a new standard, OpenSSL 1.1.1-pre6 (or later) is required for quicr to build. For compatibility with
most other QUIC implementations as of this writing, it should be patched with openssl-tls-28.patch in this repository.
Description
Languages
Rust
99.3%
Python
0.5%
Shell
0.2%