Repository navigation
spec(port): port the welcome path_secret unmasking defense (Refs #8884) - #9758
Open
dmitrii-f-t27 wants to merge 1 commit into
Open
dmitrii-f-t27 wants to merge 1 commit into
dmitrii-f-t27 wants to merge 1 commit into
Conversation
…hTag#8884) The thirty-fourth and final W2 target of the CR-CHAT-04 ring tracker: the Welcome path-secret rules - every secret exactly thirty-two bytes, the group id matching the local one, the epoch not stale, no secret shared across distinct positions, the joiner's own leaf never sent, and every required ancestor delivered - as the D5 verdict with the missing node index riding rule six, the original's fixed rule order, and all ten WPS tests transcribed plus helper and rule-order tests. The original's WelcomePacket and receiver View become the validator's parameters (t27 has no slice fields); the group ids become the fixed [17]u8 form; the Vec<u8> secret becomes the fixed [32]u8 form plus its length. A secret repeated at the same position re-inserts cleanly, exactly as the original's map allows. The original's tautological green check becomes a live empty-bundle validation (0 vacuous). Checks (conventions 0-14): t27b test 12 passed 0 failed; t27c test-report 12/12, 0 vacuous; gen-rust output compiles under rustc; coverage Untested 0; ASCII only; seal saved, all hashes MATCH;
Contributor
Author
|
Merge request for the gHashTag merger: steward READY (required all SUCCESS — validate, check-linked-issue, parse-ratchet, t27b-native-linux, t27b-native-macos; the red ones are non-required per Q16 and red on master too). This is the final W2 target — the lane is complete (34/34). Ledger row included; one-line rebase if the earlier lane PRs land first — I take it on request. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #8884 (CR-CHAT-04 ring tracker). Parent epic: gHashTag/trios#1812 (W2, own lane, T-PORT). Thirty-fourth and final W2 target delivered — the W2 lane is complete (34/34). The Welcome path-secret rules (RFC 9420 12.4.3.2/7.6): secret length exactly 32, group id equal to local, epoch not stale, no path_secret shared across distinct positions (Welcome-collapse), the joiner's own leaf never delivered (off-leaf unmasking), every required ancestor present (silent FS loss) — D5 verdict with the missing node index riding rule six, the original's fixed rule order, all ten WPS tests transcribed plus helper and rule-order tests (12 total, 0 vacuous; the original's tautological green check became a live empty-bundle validation). WelcomePacket/View → validator parameters (t27 has no slice fields); group ids → fixed [17]u8 (both fixture ids are seventeen bytes); Vec secret → [32]u8 + its length; BTreeMap/BTreeSet → scans; a secret repeated at the SAME position re-inserts cleanly as the original's map allows. t27b 12/12 native; t27c 12/12; gen-rust compiles under rustc (0 errors, 0 &'static str, 0 Vec<const); coverage Untested 0; seal all hashes MATCH; ledger row included (pass, non-pass untouched). Dedup checked. Sequencing: one-line ledger rebase if the earlier lane PRs land first — I take it on request.