mirror of
https://github.com/aler9/gortsplib
synced 2025-09-26 19:21:20 +08:00
client: remove automatic SNI support (#888)
SNI support should be enabled by properly filling TLSConfig.
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user