Repository navigation
fix(hip)!: read REG_FAILED's Failure Type and Reg Types as RFC 8003 lays them out (#2309) - #2336
Conversation
|
Review: GOOD TO GO at
|
…ays them out (#2309) RFC 8003 section 4.5 gives REG_FAILED a Failure Type octet followed by Reg Type octets, and no lifetime. pcapkit read the first octet as a `lifetime` timedelta and decoded the Reg Types with the RegistrationFailure registry. Replace `lifetime` with `failure_type` (a RegistrationFailure) in the schema, the data model and the maker, with no alias, and decode `reg_type` / `reg_failed` with the Registration registry. The octets are unchanged. Tests: test_hip_roundtrip_unit pins the parsed types, parse->rebuild over Failure Types 0-255 with several Reg Types, and make->parse octets.
c75c8f1 to
4ec3e1d
Compare
|
Rebased The old head's |
|
Coverage: 91.56% (unit tier, Python 3.15,
Per-file detail: the |
|
Rebased The old head's CI was green ( The patch is unchanged and the old head was already green, so the owner can bypass checks and merge once the new head's CI completes. |
|
Correction to my own comment above: you had already merged this (as |
make testpasses, and a test case covers the change1.5.0.rst(breaking change)What is the purpose of your pull request?
fix — bug fixDescription
Closes #2309, per the ruling (take the recommendation). Breaking:
lifetimeis renamed with no alias.lifetimetimedelta and decoded the Reg Types through the RegistrationFailure registry.failure_type(aRegistrationFailure) in place oflifetime.reg_typeandreg_faileddecode through the Registration registry.test_hip_roundtrip_unitpins the parsed types, parse→rebuild over Failure Types 0–255 with several Reg Types, and make→parse octets.origin/main, 7 failed, e.g.'03a8000300030100' != '03a8000302030100'. On the head, 44 passed.