Skip to content

Conversation

Akindotcome
Copy link

Motivation: QUIC (RFC 9000) is common on UDP/443. This adds a small, dependency-free core for long-header parsing and a Dshell Decoder that uses it.

What’s included:

  • dshell/plugins/quic/_helpers.py:
    is_quic_long_header(), parse_quic_long_header() (returns QuicLongHeaderMeta with header_form="long", version, DCID, SCID). Defensive; never raises.
  • tests/test_quic_helpers.py: 3 unit tests (happy-path, non-QUIC rejection, malformed length safety). No external deps → CI-friendly.
  • dshell/plugins/quic/quic.py: Dshell Decoder that filters UDP ports (default 443; --ports to override) and writes rows: ts,src,sport,dst,dport,version,dcid,scid,cid_len.

Design notes: Keep helpers import-light so unit tests run on any CI; the Decoder integrates with Dshell’s pipeline and uses the helpers internally.

Local results:
python -m pytest -q tests/test_quic_helpers.py → all tests pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant