Skip to content

Commit 09d84c4

Browse files
authored
REALITY protocol: Remove ChaCha20-Poly1305 support for REALITY's session id auth
#3813 (comment) XTLS/REALITY#4 (comment) Reverts 65b467e
1 parent 7ddc4a2 commit 09d84c4

File tree

3 files changed

+5
-16
lines changed

3 files changed

+5
-16
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ require (
2020
github.com/stretchr/testify v1.10.0
2121
github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e
2222
github.com/vishvananda/netlink v1.3.1
23-
github.com/xtls/reality v0.0.0-20250513125209-514f8647eac0
23+
github.com/xtls/reality v0.0.0-20250516070713-4df2ec9a5b47
2424
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba
2525
golang.org/x/crypto v0.38.0
2626
golang.org/x/net v0.40.0

go.sum

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,8 @@ github.com/vishvananda/netlink v1.3.1 h1:3AEMt62VKqz90r0tmNhog0r/PpWKmrEShJU0wJW
7676
github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4=
7777
github.com/vishvananda/netns v0.0.5 h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zdEY=
7878
github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM=
79-
github.com/xtls/reality v0.0.0-20240712055506-48f0b2d5ed6d h1:+B97uD9uHLgAAulhigmys4BVwZZypzK7gPN3WtpgRJg=
80-
github.com/xtls/reality v0.0.0-20240712055506-48f0b2d5ed6d/go.mod h1:dm4y/1QwzjGaK17ofi0Vs6NpKAHegZky8qk6J2JJZAE=
81-
github.com/xtls/reality v0.0.0-20250513125209-514f8647eac0 h1:ou6jXqJ9Ogs0BaEIzuszo1HMBokiKpf7XpNdsVYcvfA=
82-
github.com/xtls/reality v0.0.0-20250513125209-514f8647eac0/go.mod h1:bJdU3ExzfUlY40Xxfibq3THW9IHiE8mHu/tEzud5JWM=
79+
github.com/xtls/reality v0.0.0-20250516070713-4df2ec9a5b47 h1:9aJWkgWBwZ83l3j7+hBh3SurvRKuNfCgsSner5n6BcM=
80+
github.com/xtls/reality v0.0.0-20250516070713-4df2ec9a5b47/go.mod h1:bJdU3ExzfUlY40Xxfibq3THW9IHiE8mHu/tEzud5JWM=
8381
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
8482
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
8583
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=

transport/internet/reality/reality.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,10 @@ import (
3030
"github.com/xtls/xray-core/common/net"
3131
"github.com/xtls/xray-core/core"
3232
"github.com/xtls/xray-core/transport/internet/tls"
33-
"golang.org/x/crypto/chacha20poly1305"
3433
"golang.org/x/crypto/hkdf"
3534
"golang.org/x/net/http2"
3635
)
3736

38-
//go:linkname aesgcmPreferred github.com/refraction-networking/utls.aesgcmPreferred
39-
func aesgcmPreferred(ciphers []uint16) bool
40-
4137
type Conn struct {
4238
*reality.Conn
4339
}
@@ -147,13 +143,8 @@ func UClient(c net.Conn, config *Config, ctx context.Context, dest net.Destinati
147143
if _, err := hkdf.New(sha256.New, uConn.AuthKey, hello.Random[:20], []byte("REALITY")).Read(uConn.AuthKey); err != nil {
148144
return nil, err
149145
}
150-
var aead cipher.AEAD
151-
if aesgcmPreferred(hello.CipherSuites) {
152-
block, _ := aes.NewCipher(uConn.AuthKey)
153-
aead, _ = cipher.NewGCM(block)
154-
} else {
155-
aead, _ = chacha20poly1305.New(uConn.AuthKey)
156-
}
146+
block, _ := aes.NewCipher(uConn.AuthKey)
147+
aead, _ := cipher.NewGCM(block)
157148
if config.Show {
158149
errors.LogInfo(ctx, fmt.Sprintf("REALITY localAddr: %v\tuConn.AuthKey[:16]: %v\tAEAD: %T\n", localAddr, uConn.AuthKey[:16], aead))
159150
}

0 commit comments

Comments
 (0)