diff --git a/transport/internet/tls/tls.go b/transport/internet/tls/tls.go index dea950d1..dd9a0bb8 100644 --- a/transport/internet/tls/tls.go +++ b/transport/internet/tls/tls.go @@ -4,7 +4,6 @@ package tls import ( "crypto/tls" - "os" "v2ray.com/core/common/buf" "v2ray.com/core/common/net" @@ -66,9 +65,3 @@ func Server(c net.Conn, config *tls.Config) net.Conn { tlsConn := tls.Server(c, config) return &conn{Conn: tlsConn} } - -func init() { - // opt-in TLS 1.3 for Go1.12 - // TODO: remove this line when Go1.13 is released. - _ = os.Setenv("GODEBUG", os.Getenv("GODEBUG")+",tls13=1") -} diff --git a/transport/internet/tls/tls13_workaround.go b/transport/internet/tls/tls13_workaround.go new file mode 100644 index 00000000..fbc3a8b4 --- /dev/null +++ b/transport/internet/tls/tls13_workaround.go @@ -0,0 +1,16 @@ +// +build !confonly + +package tls + +import ( + "os" + "strings" +) + +func init() { + // opt-in TLS 1.3 for Go1.12 + // TODO: remove this line when Go1.13 is released. + if !strings.Contains(os.Getenv("GODEBUG"), "tls13") { + _ = os.Setenv("GODEBUG", os.Getenv("GODEBUG")+",tls13=1") + } +}