From 418e59356b2517a0c28aae283dacf20aaafffc77 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Fri, 24 Dec 2021 23:12:16 +0800 Subject: [PATCH] xray-core: Update to 1.5.2 Removed upstreamed patches. Signed-off-by: Tianling Shen --- net/xray-core/Makefile | 4 +- ...ipher-method-xChaCha20-IETF-Poly1305.patch | 20 --- ...grpc-add-initial_windows_size-option.patch | 114 ------------------ ...hadowsocks-xchacha-cipher-nonce-size.patch | 52 -------- 4 files changed, 2 insertions(+), 188 deletions(-) delete mode 100644 net/xray-core/patches/010-fix-unsupported-cipher-method-xChaCha20-IETF-Poly1305.patch delete mode 100644 net/xray-core/patches/020-grpc-add-initial_windows_size-option.patch delete mode 100644 net/xray-core/patches/030-Fix-shadowsocks-xchacha-cipher-nonce-size.patch diff --git a/net/xray-core/Makefile b/net/xray-core/Makefile index 1662e0d95..4d662e4fe 100644 --- a/net/xray-core/Makefile +++ b/net/xray-core/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray-core -PKG_VERSION:=1.5.1 +PKG_VERSION:=1.5.2 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=11b01de5da7efed2a5f066b14bfe5e0299071dc8c32b7f64af5c51daf3abc6c2 +PKG_HASH:=b687a8fd1325bee0f6352c8dc3bfb70a7ee07cd74aacaece4e36c93cf7cda417 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MPL-2.0 diff --git a/net/xray-core/patches/010-fix-unsupported-cipher-method-xChaCha20-IETF-Poly1305.patch b/net/xray-core/patches/010-fix-unsupported-cipher-method-xChaCha20-IETF-Poly1305.patch deleted file mode 100644 index c535b4c66..000000000 --- a/net/xray-core/patches/010-fix-unsupported-cipher-method-xChaCha20-IETF-Poly1305.patch +++ /dev/null @@ -1,20 +0,0 @@ -From c8e2a99e68109b386c541dcc157f1f64ca8cbd17 Mon Sep 17 00:00:00 2001 -From: xqzr <34030394+xqzr@users.noreply.github.com> -Date: Fri, 17 Dec 2021 00:25:16 +0800 -Subject: [PATCH] fix unsupported cipher method: xChaCha20-IETF-Poly1305 - ---- - infra/conf/shadowsocks.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/infra/conf/shadowsocks.go -+++ b/infra/conf/shadowsocks.go -@@ -59,7 +59,7 @@ func (v *ShadowsocksServerConfig) Build( - return nil, newError("Shadowsocks password is not specified.") - } - if account.CipherType < shadowsocks.CipherType_AES_128_GCM || -- account.CipherType > shadowsocks.CipherType_CHACHA20_POLY1305 { -+ account.CipherType > shadowsocks.CipherType_XCHACHA20_POLY1305 { - return nil, newError("unsupported cipher method: ", user.Cipher) - } - config.Users = append(config.Users, &protocol.User{ diff --git a/net/xray-core/patches/020-grpc-add-initial_windows_size-option.patch b/net/xray-core/patches/020-grpc-add-initial_windows_size-option.patch deleted file mode 100644 index 696bcf259..000000000 --- a/net/xray-core/patches/020-grpc-add-initial_windows_size-option.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 63da3a548138640f96e631f10d6e2ee1bae3ed62 Mon Sep 17 00:00:00 2001 -From: hmol233 <82594500+hmol233@users.noreply.github.com> -Date: Mon, 20 Dec 2021 00:47:21 +0800 -Subject: [PATCH] grpc: add initial_windows_size option - ---- - infra/conf/grpc.go | 7 +++++++ - transport/internet/grpc/config.pb.go | 23 +++++++++++++++++------ - transport/internet/grpc/config.proto | 1 + - transport/internet/grpc/dial.go | 4 ++++ - 4 files changed, 29 insertions(+), 6 deletions(-) - ---- a/infra/conf/grpc.go -+++ b/infra/conf/grpc.go -@@ -12,6 +12,7 @@ type GRPCConfig struct { - IdleTimeout int32 `json:"idle_timeout"` - HealthCheckTimeout int32 `json:"health_check_timeout"` - PermitWithoutStream bool `json:"permit_without_stream"` -+ InitialWindowsSize int32 `json:"initial_windows_size"` - } - - func (g *GRPCConfig) Build() (proto.Message, error) { -@@ -21,11 +22,17 @@ func (g *GRPCConfig) Build() (proto.Mess - if g.HealthCheckTimeout <= 0 { - g.HealthCheckTimeout = 0 - } -+ if g.InitialWindowsSize < 0 { -+ // default window size of gRPC-go -+ g.InitialWindowsSize = 0 -+ } -+ - return &grpc.Config{ - ServiceName: g.ServiceName, - MultiMode: g.MultiMode, - IdleTimeout: g.IdleTimeout, - HealthCheckTimeout: g.HealthCheckTimeout, - PermitWithoutStream: g.PermitWithoutStream, -+ InitialWindowsSize: g.InitialWindowsSize, - }, nil - } ---- a/transport/internet/grpc/config.pb.go -+++ b/transport/internet/grpc/config.pb.go -@@ -31,6 +31,7 @@ type Config struct { - IdleTimeout int32 `protobuf:"varint,4,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` - HealthCheckTimeout int32 `protobuf:"varint,5,opt,name=health_check_timeout,json=healthCheckTimeout,proto3" json:"health_check_timeout,omitempty"` - PermitWithoutStream bool `protobuf:"varint,6,opt,name=permit_without_stream,json=permitWithoutStream,proto3" json:"permit_without_stream,omitempty"` -+ InitialWindowsSize int32 `protobuf:"varint,7,opt,name=initial_windows_size,json=initialWindowsSize,proto3" json:"initial_windows_size,omitempty"` - } - - func (x *Config) Reset() { -@@ -107,6 +108,13 @@ func (x *Config) GetPermitWithoutStream( - return false - } - -+func (x *Config) GetInitialWindowsSize() int32 { -+ if x != nil { -+ return x.InitialWindowsSize -+ } -+ return 0 -+} -+ - var File_transport_internet_grpc_config_proto protoreflect.FileDescriptor - - var file_transport_internet_grpc_config_proto_rawDesc = []byte{ -@@ -114,7 +122,7 @@ var file_transport_internet_grpc_config_ - 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, -- 0x67, 0x72, 0x70, 0x63, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xe7, 0x01, -+ 0x67, 0x72, 0x70, 0x63, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x99, 0x02, - 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, -@@ -129,11 +137,14 @@ var file_transport_internet_grpc_config_ - 0x6f, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, -- 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, -- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, -- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, -- 0x6f, 0x74, 0x6f, 0x33, -+ 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, -+ 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, -+ 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x69, -+ 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, -+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, -+ 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, -+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( ---- a/transport/internet/grpc/config.proto -+++ b/transport/internet/grpc/config.proto -@@ -10,4 +10,5 @@ message Config { - int32 idle_timeout = 4; - int32 health_check_timeout = 5; - bool permit_without_stream = 6; -+ int32 initial_windows_size = 7; - } ---- a/transport/internet/grpc/dial.go -+++ b/transport/internet/grpc/dial.go -@@ -135,6 +135,10 @@ func getGrpcClient(ctx context.Context, - })) - } - -+ if grpcSettings.InitialWindowsSize > 0 { -+ dialOptions = append(dialOptions, grpc.WithInitialWindowSize(grpcSettings.InitialWindowsSize)) -+ } -+ - var grpcDestHost string - if dest.Address.Family().IsDomain() { - grpcDestHost = dest.Address.Domain() diff --git a/net/xray-core/patches/030-Fix-shadowsocks-xchacha-cipher-nonce-size.patch b/net/xray-core/patches/030-Fix-shadowsocks-xchacha-cipher-nonce-size.patch deleted file mode 100644 index a73d0156c..000000000 --- a/net/xray-core/patches/030-Fix-shadowsocks-xchacha-cipher-nonce-size.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 9ea1bf7c1dfad892aafc8807b56ce398bb2eb819 Mon Sep 17 00:00:00 2001 -From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> -Date: Sat, 18 Dec 2021 23:23:09 -0500 -Subject: [PATCH] Fix shadowsocks xchacha cipher nonce size - ---- - common/crypto/auth.go | 4 ---- - proxy/shadowsocks/protocol.go | 2 +- - proxy/shadowsocks/validator.go | 6 +++--- - 3 files changed, 4 insertions(+), 8 deletions(-) - ---- a/common/crypto/auth.go -+++ b/common/crypto/auth.go -@@ -39,10 +39,6 @@ func GenerateIncreasingNonce(nonce []byt - } - } - --func GenerateInitialAEADNonce() BytesGenerator { -- return GenerateIncreasingNonce([]byte{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}) --} -- - func GenerateAEADNonceWithSize(nonceSize int) BytesGenerator { - c := make([]byte, nonceSize) - for i := 0; i < nonceSize; i++ { ---- a/proxy/shadowsocks/protocol.go -+++ b/proxy/shadowsocks/protocol.go -@@ -86,7 +86,7 @@ func ReadTCPSession(validator *Validator - if aead != nil { - auth := &crypto.AEADAuthenticator{ - AEAD: aead, -- NonceGenerator: crypto.GenerateInitialAEADNonce(), -+ NonceGenerator: crypto.GenerateAEADNonceWithSize(aead.NonceSize()), - } - r = crypto.NewAuthenticationReader(auth, &crypto.AEADChunkSizeParser{ - Auth: auth, ---- a/proxy/shadowsocks/validator.go -+++ b/proxy/shadowsocks/validator.go -@@ -93,11 +93,11 @@ func (v *Validator) Get(bs []byte, comma - var matchErr error - switch command { - case protocol.RequestCommandTCP: -- data := make([]byte, 16) -- ret, matchErr = aead.Open(data[:0], data[4:16], bs[ivLen:ivLen+18], nil) -+ data := make([]byte, 4+aead.NonceSize()) -+ ret, matchErr = aead.Open(data[:0], data[4:], bs[ivLen:ivLen+18], nil) - case protocol.RequestCommandUDP: - data := make([]byte, 8192) -- ret, matchErr = aead.Open(data[:0], data[8180:8192], bs[ivLen:], nil) -+ ret, matchErr = aead.Open(data[:0], data[8192-aead.NonceSize():8192], bs[ivLen:], nil) - } - - if matchErr == nil {