From 0e674daa7b34c86d9f221d9d23e2be55e4b75cba Mon Sep 17 00:00:00 2001 From: Alessandro Ros Date: Mon, 15 Sep 2025 15:54:37 +0200 Subject: [PATCH] client: remove automatic SNI support (#888) SNI support should be enabled by properly filling TLSConfig. --- client.go | 5 ----- client_test.go | 51 -------------------------------------------------- 2 files changed, 56 deletions(-) diff --git a/client.go b/client.go index 223eea83..864b365e 100644 --- a/client.go +++ b/client.go @@ -1188,11 +1188,6 @@ func (c *Client) connOpen() error { if tlsConfig == nil { tlsConfig = &tls.Config{} } - tlsConfig.ServerName = (&base.URL{ - Scheme: c.Scheme, - Host: c.Host, - }).Hostname() - nconn = tls.Client(nconn, tlsConfig) } diff --git a/client_test.go b/client_test.go index 91d204ac..15201a35 100644 --- a/client_test.go +++ b/client_test.go @@ -1,7 +1,6 @@ package gortsplib import ( - "crypto/tls" "net" "strings" "testing" @@ -51,56 +50,6 @@ func TestClientURLToAddress(t *testing.T) { } } -func TestClientTLSSetServerName(t *testing.T) { - l, err := net.Listen("tcp", "localhost:8554") - require.NoError(t, err) - defer l.Close() - - serverDone := make(chan struct{}) - defer func() { <-serverDone }() - - go func() { - defer close(serverDone) - - nconn, err2 := l.Accept() - require.NoError(t, err2) - defer nconn.Close() - - cert, err2 := tls.X509KeyPair(serverCert, serverKey) - require.NoError(t, err2) - - tnconn := tls.Server(nconn, &tls.Config{ - Certificates: []tls.Certificate{cert}, - InsecureSkipVerify: true, - VerifyConnection: func(cs tls.ConnectionState) error { - require.Equal(t, "localhost", cs.ServerName) - return nil - }, - }) - - err2 = tnconn.Handshake() - require.EqualError(t, err2, "remote error: tls: bad certificate") - }() - - u, err := base.ParseURL("rtsps://localhost:8554/stream") - require.NoError(t, err) - - c := Client{ - Scheme: u.Scheme, - Host: u.Host, - TLSConfig: &tls.Config{}, - } - - err = c.Start2() - require.NoError(t, err) - defer c.Close() - - _, err = c.Options(u) - require.Error(t, err) - - <-serverDone -} - func TestClientClose(t *testing.T) { u, err := base.ParseURL("rtsp://localhost:8554/teststream") require.NoError(t, err)