From f1ef6c2096b24b53f81c81e0e1e12201528c2024 Mon Sep 17 00:00:00 2001 From: qiaoweijie Date: Tue, 31 Jan 2023 15:26:18 +0800 Subject: [PATCH] fix: get tlsconfig err not handle, return nil pointer --- adapter/outbound/vless.go | 3 +++ component/tls/config.go | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/adapter/outbound/vless.go b/adapter/outbound/vless.go index dd6e0f23..a24f2a6e 100644 --- a/adapter/outbound/vless.go +++ b/adapter/outbound/vless.go @@ -101,6 +101,9 @@ func (v *Vless) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) { wsOpts.TLSConfig = tlsC.GetGlobalTLSConfig(tlsConfig) } else { wsOpts.TLSConfig, err = tlsC.GetSpecifiedFingerprintTLSConfig(tlsConfig, v.option.Fingerprint) + if err != nil { + return nil, err + } } if v.option.ServerName != "" { diff --git a/component/tls/config.go b/component/tls/config.go index 14e5b20d..39d1b1fd 100644 --- a/component/tls/config.go +++ b/component/tls/config.go @@ -63,7 +63,7 @@ func convertFingerprint(fingerprint string) (*[32]byte, error) { } if len(fpByte) != 32 { - return nil, fmt.Errorf("fingerprint string length error,need sha25 fingerprint") + return nil, fmt.Errorf("fingerprint string length error,need sha256 fingerprint") } return (*[32]byte)(fpByte), nil } @@ -99,10 +99,10 @@ func GetSpecifiedFingerprintXTLSConfig(tlsConfig *xtls.Config, fingerprint strin if fingerprintBytes, err := convertFingerprint(fingerprint); err != nil { return nil, err } else { - tlsConfig=GetGlobalXTLSConfig(tlsConfig) - tlsConfig.VerifyPeerCertificate = verifyFingerprint(fingerprintBytes) - tlsConfig.InsecureSkipVerify = true - return tlsConfig, nil + tlsConfig = GetGlobalXTLSConfig(tlsConfig) + tlsConfig.VerifyPeerCertificate = verifyFingerprint(fingerprintBytes) + tlsConfig.InsecureSkipVerify = true + return tlsConfig, nil } }