Skip to content

docs(generators): two false claims in options.py — ILNP nonce widths, and the SKIP padding rationale #1337

Closed

Description

@JarryShaw

Two comments in examples/generators/options.py state things that are not true. Both were found while cross-reviewing #1310 and verified against the tree.

1. :554-556 — the ILNP nonce claim is wrong on main already.

# ``nonce=0`` gives a zero-octet nonce. Only widths 3, 5, 6 and 7 pack
# at all, because a callable-length NumberField never clears the flag
# that says "hand struct a bytes"; 0xFFFFFF is three octets.
Enum_Option.ILNP_Nonce: {'nonce': 0xFFFFFF},

Measured: nonce=0 gives a one-octet nonce, not zero. And widths 1, 2, 4 and 6 build and round-trip — on main as well as on #1310 — so "only widths 3, 5, 6 and 7 pack at all" is false in both directions. The override value 0xFFFFFF is fine; only the reasoning above it is wrong.

2. :1598-1604 — the SKIP rationale stops being true when #1310 merges.

The padding options are dropped by every _make_*_options in the tree

After #1310 the IPv6 makers emit parsed padding in place, so this no longer holds for hopopt-option and ipv6-opts-option when the input is parsed data. The SKIP entries themselves stay correct — list input still drops padding, so Pad1 and PadN still produce byte-identical option-less headers — but the stated reason has to narrow to that case.

Blocked on #1310, which is what makes (2) wrong. (1) is independent.

Activity

  1. added
    docsPull requests that change documentation only (docs: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 7, 2026
  2. JarryShaw commented on Oct 7, 2026

    @JarryShaw
    OwnerAuthor

    One more stale comment for this issue, found while reviewing #1341: examples/generators/options.py:1159-1161 in _httpv2_rebuild says flags is deliberately not passed on, because HTTP.make would silently ignore it. Once #1341 merges, make OR-combines flags with the frame's own, so that reason stops being true.

  3. JarryShaw commented on Oct 8, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #1310 and #1341 both merged on 2026-10-07. The stale comments are still at options.py:561, :1628 and :1159-1168 on a8cc02594. A worker is on it now; it will check each claim against the code before rewriting it.

  4. 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 Oct 8, 2026
  5. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 8, 2026
  6. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
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

    docsPull requests that change documentation only (docs: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions