Skip to content

fix(protocols): re-export the DTLS connection-ID data and schema names - #2641

Open
JarryShaw wants to merge 1 commit into
mainfrom
fix/reexport-dtls-cid
Open

JarryShaw wants to merge 1 commit into
mainfrom
fix/reexport-dtls-cid

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • fix — a bug fix

Description of your pull request and other information

main fails tests/protocols/test_package_reexports_1807_unit.py on every Python. It shows on the Python 3.15 leg, and fails locally on 3.14 as well. #2631 added DTLSCIDCiphertext (data and schema) and ConnectionId (data) to their submodules' __all__ without re-exporting them from the application packages.

This adds the package re-exports under the aliases the siblings use, DTLS_CIDCiphertext and TLS_ConnectionId, plus the matching __all__ entries in pcapkit.protocols.data and pcapkit.protocols.schema. The re-export test passes on 3.14 and 3.15, as do the public-API, __all__-export, layer-grouping and moved-name guards. It is 9 lines across 4 __init__.py files.

@JarryShaw JarryShaw added this to the PyPCAPKit v1.6 milestone Nov 2, 2026
@JarryShaw JarryShaw added fix Pull requests that fix a defect (fix: subject prefix) review: good-to-go Cross-review at the current head says ready; CI state is separate labels Nov 2, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 499276552. I checked the change myself: it adds only import and __all__ entries, and uses the sibling alias form (DTLS_Ciphertext → DTLS_CIDCiphertext). The re-export test fails on main and passes here on both 3.14 and 3.15, and the export guards pass. Merging this turns main's Python 3.15 leg green again; it is also why #2483's 3.15 leg is red.

#2515)

#2631 added DTLSCIDCiphertext (data and schema) and the TLS ConnectionId
extension data to their submodules' __all__ but not to the packages, so
test_every_package_reexports_every_child_export failed on main.

- data.application: DTLS_CIDCiphertext, TLS_ConnectionId
- schema.application: DTLS_CIDCiphertext
- data and schema aggregators list the same names in __all__

Aliases follow the <protocol>_<name> form the siblings use
(DTLS_Ciphertext, TLS_ExtensionData). The test is not tier-gated; it fails
on 3.14 as well, and passes on 3.14 and 3.15 with this change.
@JarryShaw
JarryShaw force-pushed the fix/reexport-dtls-cid branch from 4992765 to 63e4848 Compare November 2, 2026 08:14
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto main (16ccc4373): 499276552 → 63e484885. The patch-id is identical (f6ea8f14dcdf) and there were no conflicts.

On the old head, the only failure on Python 3.15 was the DTLSCIDCiphertext schema round trip, which comes from main and #2645 fixed. The re-export test passed. On the new head, both modules pass locally. The verdict stays good to go; once CI is green, this fixes main's 3.15 leg.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Coverage: 94.08% (unit tier, Python 3.15, 63e484885, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 20561 177 2832 158 98.53%
pcapkit/corekit 2697 74 854 37 96.65%
pcapkit/dumpkit 281 3 100 3 98.43%
pcapkit/foundation 3475 27 1206 32 98.74%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 21419 218 5650 196 98.46%
pcapkit/toolkit 961 28 342 10 96.32%
pcapkit/utilities 512 7 144 5 98.17%
pcapkit/vendor 5256 2260 1198 194 53.61%

Per-file detail: the coverage-html artifact of this run.

This branch has not been deployed

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

Labels

fix Pull requests that fix a defect (fix: subject prefix) review: good-to-go Cross-review at the current head says ready; CI state is separate

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

1 participant