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
Commit 14be18a
Browse filesBrowse the repository at this point in the historyBrowse files
feat(vendor): add the TLS content-type/handshake-type crawlers, close pairing gap (#2495)
- pcapkit/vendor/tls/content_type.py, handshake_type.py: new LINK-and-scrape
crawlers against IANA's tls-parameters-5.csv and -7.csv. Both override
process()/count() for the registry's 5-column CSV, lower-case the wire
name into the member identifier, and for HandshakeType strip IANA's
_RESERVED suffix from identifiers while keeping it out of the comment.
- Regenerated pcapkit/const/tls/content_type.py, handshake_type.py from
the crawlers. Fixes a real behaviour bug: ContentType resolved 32-63 to
Unassigned via a flat _missing_ fallback where IANA (and the crawler)
call that band Reserved (RFC 9147) -- the committed docstring already
said "Reserved", the code did not. Drops ContentType.invalid=0 (no IANA
counterpart, unused anywhere); value 0 now resolves into the 0-19
Unassigned band like every other unassigned value there, which SSL's
wire-type allowlist already excluded by construction, so this is a
behavioural no-op in the protocol layer. HandshakeType gains explicit
unassigned_7/unassigned_255 members (IANA's two single-row Unassigned
entries) instead of leaving them to _missing_, and several members' RFC
citations now match IANA's current RFC 9846 instead of the superseded
5246/6066/4680.
- Moved the hand-written protocol-specific prose (record-layer header
citations, Unassigned/Reserved band rationale, _RESERVED-suffix
handling) from the const modules' docstrings into the crawlers' own
docstrings, matching pcapkit.vendor.linux.arphrd's pattern; the
generated const modules now carry only the plain templated docstring.
- pcapkit/protocols/application/ssl.py: updated two comments that named
the now-removed invalid(0) member.
- docs/.../const-vendor-pairing.rst: rewrote the TLS section -- running
either crawler is now a true no-op against the committed const files,
closing the gap the previous revision left open as follow-up work.
- tests/const/test_const_tls_vendor_pairing_2495_unit.py: new, pins the
Reserved-band fix, the dropped invalid member and the two new
unassigned members; all five assertions fail against the pre-fix files.
Verified: tests/vendor, tests/const, test_ssl_tls_dtls_unit.py and
test_tls_dtls_roundtrip_unit.py all green (651 passed, 26949 subtests).
Regenerating both const modules twice in a row produces byte-identical
output.
0 commit comments