Skip to content

[WIP] Fix #571: Reject server Initials with nonzero token length - #948

Open
Yanmei-Liu wants to merge 3 commits into
mainfrom
fix/initial-token-length
Open

Yanmei-Liu wants to merge 3 commits into
mainfrom
fix/initial-token-length

Conversation

@Yanmei-Liu

@Yanmei-Liu Yanmei-Liu commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Mechanism

Clients discard server Initial packets with nonzero Token Length before decryption, using the existing invalid-packet error path. The production change is limited to the client check in the Initial parser.

Fixes: #571

Validation Cases

  • 727 — Zero-token server Initial is accepted and the transfer completes.
  • 728 — A protected nonzero-token server Initial is discarded and the transfer recovers.

CONTRIBUTING.md

  • Overall: Pending
  • Local regression: Complete
  • CI: Pending — Build on Ubuntu; Test BabaSSL on Ubuntu 24.04 with GCC 13; Build on macOS (macos-latest).

The existing server Retry-token echo and datagram-wide handling of parse errors remain outside this fix; Retry interoperability and coalesced-tail preservation are not claimed.

@Yanmei-Liu Yanmei-Liu changed the title [~] Fix #571: Enforce Initial token direction and preserve Retry handshakes [~] Fix #571: Reject server Initials with nonzero token length Sep 10, 2026
@Yanmei-Liu
Yanmei-Liu marked this pull request as ready for review September 10, 2026 11:09
@Yanmei-Liu
Yanmei-Liu force-pushed the fix/initial-token-length branch from cd25957 to 46414a8 Compare September 10, 2026 11:39
@Yanmei-Liu Yanmei-Liu changed the title [~] Fix #571: Reject server Initials with nonzero token length [WIP] Fix #571: Reject server Initials with nonzero token length Sep 10, 2026
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.

[Bug]: 客户端未校验服务器 Initial 包 Token Length 为 0

1 participant