Skip to content

Xray-core v26.8.14

Choose a tag to compare

@Jolymmiles Jolymmiles released this 10 Aug 23:02
· 4 commits to main since this release

Highlights

  • Prevents a server-side panic when legacy Shadowsocks AEAD UDP responses approach Xray's 8 KiB buffer limit.
  • Publishes the fix as Xray-core v26.8.14 without configuration or wire-format changes.

Fork fixes

  • Fixed panic: extending out of bound in shadowsocks.EncodeUDPPacket. The encoder now reserves space for the salt, destination header, and AEAD tag, preserves the full UDP payload, reports write failures, and releases buffers on error paths.
  • Added a regression test that round-trips an 8192-byte UDP payload with aes-128-gcm.
  • Restored repository Go formatting compliance in existing H2MUX test and TLS source files.

Upstream changes

  • No additional upstream commits since v26.8.13.
  • Based on upstream/main at bc6e966a and retains all fork changes from v26.8.13.

Compatibility notes

  • No configuration migration is required.
  • Existing Shadowsocks aes-128-gcm TCP/UDP inbounds continue to use the same configuration and wire format.

Validation

  • Passed targeted unit tests for Shadowsocks, core, H2MUX, and TLS.
  • Passed Shadowsocks race, checkptr, and vet checks, including the new 8192-byte UDP regression.
  • Passed the repository Go formatting check and a static Linux amd64 build (CGO_ENABLED=0).
  • The external DoH test against 1.1.1.1 returned EOF in this environment and was accepted as a known external DNS limitation for this release.
  • Two Commander scenario tests hit a transient port-reservation collision in the parallel suite; both passed when rerun in isolation.