mirror of
https://github.com/aler9/gortsplib
synced 2025-09-27 19:42:11 +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 {
|
if tlsConfig == nil {
|
||||||
tlsConfig = &tls.Config{}
|
tlsConfig = &tls.Config{}
|
||||||
}
|
}
|
||||||
tlsConfig.ServerName = (&base.URL{
|
|
||||||
Scheme: c.Scheme,
|
|
||||||
Host: c.Host,
|
|
||||||
}).Hostname()
|
|
||||||
|
|
||||||
nconn = tls.Client(nconn, tlsConfig)
|
nconn = tls.Client(nconn, tlsConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package gortsplib
|
package gortsplib
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/tls"
|
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"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) {
|
func TestClientClose(t *testing.T) {
|
||||||
u, err := base.ParseURL("rtsp://localhost:8554/teststream")
|
u, err := base.ParseURL("rtsp://localhost:8554/teststream")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
Reference in New Issue
Block a user