Skip to content

Route DTLS reassembly through a toolkit helper, like IP/TCP #2496

Open

Description

@JarryShaw

Summary

DTLS.read() (#2451) imports pcapkit.foundation.reassembly.dtls.DTLS directly and calls it from inside the protocol class. IPv4/IPv6/TCP never do this -- they stay unaware of reassembly, and a pcapkit.toolkit.<engine> extraction function feeds the already-parsed frame to the reassembly instance the Extractor holds (docs/source/contributing/conventions/reassembly-integration.rst, point 1).

Decision

Merge #2451 as reviewed (owner ruling); this rework is deliberately deferred, not blocking.

Next step

Give DTLS reassembly the same shape: a pcapkit.toolkit extraction function, fed from pcapkit.foundation.engines, rather than the protocol class calling the reassembly engine itself. Points 2 and 3 of the same convention page (a toolkit helper declaring supported engines, a foundation.analysis parser for the outcome) are not established for IP/TCP either, so they are a separate, larger ask -- out of scope for this issue unless the owner says otherwise.

Activity

  1. added
    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 31, 2026
  2. JarryShaw commented on Oct 31, 2026

    @JarryShaw
    OwnerAuthor

    Blocked, not pending: deferred until #2451 merges, since this reworks code that is not yet on main.

  3. JarryShaw commented on Oct 31, 2026

    @JarryShaw
    OwnerAuthor

    Scope widened per owner ruling on #2451: this issue now also covers point 3 -- a pcapkit.foundation.analysis method to parse the reassembled DTLS body, rather than DTLS.read() decoding it inline. Title stays as-is; the toolkit-routing (point 1) and analysis-method (point 3) work land together.

  4. moved this to Blocked in PyPCAPKiton Oct 31, 2026
  5. JarryShaw commented on Nov 1, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #2451 merged (30226ea40). Dispatched as scoped above: DTLS reassembly fed from a pcapkit.toolkit extraction function (point 1), plus a foundation.analysis parser for the reassembled body (point 3), following reassembly-integration.rst.

  6. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 1, 2026
  7. moved this from Blocked to WIP in PyPCAPKiton Nov 1, 2026
  8. JarryShaw commented on Nov 1, 2026

    @JarryShaw
    OwnerAuthor

    Scope note from the 2026-11-01 conventions audit: SSL._make_tls_handshake_messages (pcapkit/protocols/application/ssl.py) holds the make-side half of the same inline-reassembly coupling. It slices a reassembled body back into its record's fragment. The rework here should cover it too, or say why not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)wipWork in flight - a covering PR is open or an agent is actively on it

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions