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
Commit 1831bb60b (2023-03-06) split QuickStartOption into Request/Report variants in the child module. The parent's __all__ was updated for the IPv4_ and IPv6_Opts_ families but not the HOPOPT_ one.
Broken for ~3.5 years, which suggests nothing in CI star-imports this package.
Related omissions found in the same sweep
pcapkit/protocols/schema/__init__.py.__all__ omits all 18 HOPOPT* names while listing all 18 IPv6_Opts* equivalents. Verified: hasattr(schema, 'HOPOPT') is True, 'HOPOPT' in schema.__all__ is False. git log -S HOPOPT on that file is empty — they were never added.
'ESP' is missing from both protocols.data.__all__ and protocols.schema.__all__ though present as an attribute in both, in both children, and in pcapkit.__all__ (from bdb7e5971, Implement ESP, with optional payload decryption #378). Also missing: 'Data', and 'Schema'/'EnumSchema'/'schema_final'.
pcapkit/foundation/registry/__init__.py omits 6 functions that carry .. autofunction:: directives at docs/source/.../registry.rst:32-45.
Suggested fix
The one-word fix for the AttributeError, plus a guard test so the class cannot rot again — the house pattern already exists at tests/interface/test_core.py:238-251. A test that star-imports every public subpackage would have caught all of the above.
A plain star-import of a public subpackage fails. Reproduced against
27bb315d5:pcapkit/protocols/data/__init__.py:95lists'HOPOPT_QuickStartOption'in__all__, but the name is never bound:Cause
Commit
1831bb60b(2023-03-06) splitQuickStartOptioninto Request/Report variants in the child module. The parent's__all__was updated for theIPv4_andIPv6_Opts_families but not theHOPOPT_one.Broken for ~3.5 years, which suggests nothing in CI star-imports this package.
Related omissions found in the same sweep
pcapkit/protocols/schema/__init__.py.__all__omits all 18HOPOPT*names while listing all 18IPv6_Opts*equivalents. Verified:hasattr(schema, 'HOPOPT')isTrue,'HOPOPT' in schema.__all__isFalse.git log -S HOPOPTon that file is empty — they were never added.'ESP'is missing from bothprotocols.data.__all__andprotocols.schema.__all__though present as an attribute in both, in both children, and inpcapkit.__all__(frombdb7e5971, Implement ESP, with optional payload decryption #378). Also missing:'Data', and'Schema'/'EnumSchema'/'schema_final'.pcapkit/foundation/registry/__init__.pyomits 6 functions that carry.. autofunction::directives atdocs/source/.../registry.rst:32-45.Suggested fix
The one-word fix for the
AttributeError, plus a guard test so the class cannot rot again — the house pattern already exists attests/interface/test_core.py:238-251. A test that star-imports every public subpackage would have caught all of the above.