Skip to content

Insert the HelloRetryRequest cookie among the permutable extensions - #3

Merged
roachadam merged 1 commit into
masterfrom
fork/hrr-cookie
Oct 22, 2026
Merged

roachadam merged 1 commit into
masterfrom
fork/hrr-cookie

Conversation

@roachadam

Copy link
Copy Markdown
Owner

The cookie was spliced at Intn(len-2), a uniform index from zero, so about one
retried handshake in the number of extensions put it ahead of the leading
GREASE extension, which no browser does. On short lists the range collapsed
and the cookie always went first.

Pick the index between the first and last extension that is not GREASE,
padding or pre_shared_key; the Chrome shuffle shares that predicate.

Based on the HelloRetryRequest part of sardanioss/utls 356f21e.


Stacked on #1 (module path). Merge that first; GitHub then retargets this PR to master.

The cookie was spliced at Intn(len-2), a uniform index from zero, so about one
retried handshake in the number of extensions put it ahead of the leading
GREASE extension, which no browser does. On short lists the range collapsed
and the cookie always went first.

Pick the index between the first and last extension that is not GREASE,
padding or pre_shared_key; the Chrome shuffle shares that predicate.

Based on the HelloRetryRequest part of sardanioss/utls 356f21e.
Base automatically changed from fork/module-path to master October 22, 2026 20:57
@roachadam
roachadam merged commit d53ca1a into master Oct 22, 2026
@roachadam
roachadam deleted the fork/hrr-cookie branch October 22, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant