Module retina_core::protocols::stream::quic

source ·
Expand description

QUIC protocol parser.

§Remarks

[QUIC-INVARIANTS] https://datatracker.ietf.org/doc/rfc8999/ [QUIC-RFC9000] https://datatracker.ietf.org/doc/rfc9000/ (Quic V1) Retina currently only parses Quic Long and Short Headers and does not attempt to parse TLS or HTTP/3 out of Quic packets. The Quic protocol parser makes several assumptions about the way that quic packets will behave:

  • Assume that the Quic version is one as listed in the QuicVersion Enum in the quic/parser.rs file
  • Assume that the dcid of a short header is a maximum of 20 bytes.
  • Assume that the packet will not try to grease the fixed bit. QUIC-GREASE

Additionally, there are a couple decisions made in the design of the quic parser:

  • The parser will not parse a short header dcid if it is not a part of a pre-identified connection
  • The payload bytes count is a lazy counter which does not try to exclude tokens for encryption, which is a process that happens in wireshark.

Structs§

Enums§

  • Errors Thrown throughout QUIC parsing. These are handled by retina and used to skip packets.