Repository navigation
fix(xray): stop emitting obsolete echForceQuery - #10480
Open
aleksandr-miheichev wants to merge 1 commit into
Open
aleksandr-miheichev wants to merge 1 commit into
aleksandr-miheichev wants to merge 1 commit into
Conversation
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.
Stop adding
echForceQuery: "full"to generated TLS settings and remove the obsolete property fromTlsSettings4Ray. PreserveechConfigListunchanged, including literal Base64, DNS URLs and the explicit query-domain form.This retires the legacy-core workaround retained by 2dust/v2rayN#9214. Xray removed runtime handling in XTLS/Xray-core#6032, then removed the deprecated JSON/protobuf fields in XTLS/Xray-core#6226. Stock v26.10.29 ignores this field and enforces ECH when configured. Compatibility with older cores that still depend on the explicit override is outside the verified scope.
Add six generated-JSON regression cases covering Base64, DoH and UDP URLs, an explicit DNS query domain, and null/empty ECH settings. Before the fix, the four populated-ECH cases fail because the legacy field is emitted; after the fix all six pass with SNI and ECH values preserved.
Validation:
d9ede87: Code Test and WebAPI build/runtime verification pass. Linux x64, Windows x64 and Windows ARM64 each execute ServiceLib.Tests 142/142 and WebAPI tests 387/387; native/container builds and runtime smoke checks also pass.full. Literal Base64 causes no query to the local ECH DNS responder; a UDP DNS URL causes HTTPS RR type 65 queries. Malformed Base64, empty ECH DNS answers and mismatched server keys reject forwarding. An object-valuedechForceQueryis also ignored.