You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Route DTLS reassembly through a toolkit helper, like IP/TCP #2496
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.
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.
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.
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.
Activity
JarryShaw commentedon Oct 31, 2026
Blocked, not pending: deferred until #2451 merges, since this reworks code that is not yet on main.
JarryShaw commentedon Oct 31, 2026
Scope widened per owner ruling on #2451: this issue now also covers point 3 -- a
pcapkit.foundation.analysismethod to parse the reassembled DTLS body, rather thanDTLS.read()decoding it inline. Title stays as-is; the toolkit-routing (point 1) and analysis-method (point 3) work land together.JarryShaw commentedon Nov 1, 2026
Unblocked: #2451 merged (
30226ea40). Dispatched as scoped above: DTLS reassembly fed from apcapkit.toolkitextraction function (point 1), plus afoundation.analysisparser for the reassembled body (point 3), following reassembly-integration.rst.JarryShaw commentedon Nov 1, 2026
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.