From a0765edd405e4ccefeaf903ef039197b3340f6e4 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Fri, 24 Feb 2023 20:20:10 +0800 Subject: [PATCH] add default server name for tls client config --- config/parsing/chain.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/parsing/chain.go b/config/parsing/chain.go index 1dcea76..05ed08a 100644 --- a/config/parsing/chain.go +++ b/config/parsing/chain.go @@ -2,6 +2,7 @@ package parsing import ( "fmt" + "net" "strings" "time" @@ -94,10 +95,18 @@ func ParseHop(cfg *config.HopConfig) (chain.Hop, error) { "dialer": v.Dialer.Type, }) + serverName, _, _ := net.SplitHostPort(v.Addr) + if serverName == "" { + serverName = "localhost" + } + tlsCfg := v.Connector.TLS if tlsCfg == nil { tlsCfg = &config.TLSConfig{} } + if tlsCfg.ServerName == "" { + tlsCfg.ServerName = serverName + } tlsConfig, err := tls_util.LoadClientConfig( tlsCfg.CertFile, tlsCfg.KeyFile, tlsCfg.CAFile, tlsCfg.Secure, tlsCfg.ServerName) @@ -137,6 +146,9 @@ func ParseHop(cfg *config.HopConfig) (chain.Hop, error) { if tlsCfg == nil { tlsCfg = &config.TLSConfig{} } + if tlsCfg.ServerName == "" { + tlsCfg.ServerName = serverName + } tlsConfig, err = tls_util.LoadClientConfig( tlsCfg.CertFile, tlsCfg.KeyFile, tlsCfg.CAFile, tlsCfg.Secure, tlsCfg.ServerName)