update golangci-lint (#554)

This commit is contained in:
Alessandro Ros
2024-04-28 18:20:25 +02:00
committed by GitHub
parent 2e32d1bf6e
commit 363b48e632
16 changed files with 1087 additions and 1062 deletions

View File

@@ -68,4 +68,3 @@ linters-settings:
disable: disable:
- fieldalignment - fieldalignment
- reflectvaluecompare - reflectvaluecompare
- shadow

View File

@@ -748,7 +748,7 @@ func (c *Client) trySwitchingProtocol() error {
} }
for i, cm := range prevMedias { for i, cm := range prevMedias {
_, err := c.doSetup(prevBaseURL, cm.media, 0, 0) _, err = c.doSetup(prevBaseURL, cm.media, 0, 0)
if err != nil { if err != nil {
return err return err
} }
@@ -1132,7 +1132,8 @@ func (c *Client) doDescribe(u *base.URL) (*description.Session, *base.Response,
len(res.Header["Location"]) == 1 { len(res.Header["Location"]) == 1 {
c.reset() c.reset()
ru, err := base.ParseURL(res.Header["Location"][0]) var ru *base.URL
ru, err = base.ParseURL(res.Header["Location"][0])
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
@@ -1325,7 +1326,7 @@ func (c *Client) doSetup(
return nil, liberrors.ErrClientUDPPortsNotConsecutive{} return nil, liberrors.ErrClientUDPPortsNotConsecutive{}
} }
err := cm.allocateUDPListeners( err = cm.allocateUDPListeners(
false, false,
nil, nil,
net.JoinHostPort("", strconv.FormatInt(int64(rtpPort), 10)), net.JoinHostPort("", strconv.FormatInt(int64(rtpPort), 10)),
@@ -1480,7 +1481,7 @@ func (c *Client) doSetup(
readIP = c.nconn.RemoteAddr().(*net.TCPAddr).IP readIP = c.nconn.RemoteAddr().(*net.TCPAddr).IP
} }
err := cm.allocateUDPListeners( err = cm.allocateUDPListeners(
true, true,
readIP, readIP,
net.JoinHostPort(thRes.Destination.String(), strconv.FormatInt(int64(thRes.Ports[0]), 10)), net.JoinHostPort(thRes.Destination.String(), strconv.FormatInt(int64(thRes.Ports[0]), 10)),

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -61,12 +61,12 @@ func TestClientTLSSetServerName(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
defer nconn.Close() defer nconn.Close()
cert, err := tls.X509KeyPair(serverCert, serverKey) cert, err2 := tls.X509KeyPair(serverCert, serverKey)
require.NoError(t, err) require.NoError(t, err2)
tnconn := tls.Server(nconn, &tls.Config{ tnconn := tls.Server(nconn, &tls.Config{
Certificates: []tls.Certificate{cert}, Certificates: []tls.Certificate{cert},
@@ -77,8 +77,8 @@ func TestClientTLSSetServerName(t *testing.T) {
}, },
}) })
err = tnconn.Handshake() err2 = tnconn.Handshake()
require.EqualError(t, err, "remote error: tls: bad certificate") require.EqualError(t, err2, "remote error: tls: bad certificate")
}() }()
u, err := base.ParseURL("rtsps://localhost:8554/stream") u, err := base.ParseURL("rtsps://localhost:8554/stream")
@@ -144,13 +144,13 @@ func TestClientCloseDuringRequest(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
defer nconn.Close() defer nconn.Close()
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
close(requestReceived) close(requestReceived)
@@ -188,16 +188,16 @@ func TestClientSession(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
defer nconn.Close() defer nconn.Close()
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -206,16 +206,16 @@ func TestClientSession(t *testing.T) {
"Session": base.HeaderValue{"123456"}, "Session": base.HeaderValue{"123456"},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
req, err = conn.ReadRequest() req, err2 = conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Describe, req.Method) require.Equal(t, base.Describe, req.Method)
require.Equal(t, base.HeaderValue{"123456"}, req.Header["Session"]) require.Equal(t, base.HeaderValue{"123456"}, req.Header["Session"])
medias := []*description.Media{testH264Media} medias := []*description.Media{testH264Media}
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Content-Type": base.HeaderValue{"application/sdp"}, "Content-Type": base.HeaderValue{"application/sdp"},
@@ -223,7 +223,7 @@ func TestClientSession(t *testing.T) {
}, },
Body: mediasToSDP(medias), Body: mediasToSDP(medias),
}) })
require.NoError(t, err) require.NoError(t, err2)
}() }()
u, err := base.ParseURL("rtsp://localhost:8554/stream") u, err := base.ParseURL("rtsp://localhost:8554/stream")
@@ -249,16 +249,16 @@ func TestClientAuth(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
defer nconn.Close() defer nconn.Close()
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -266,40 +266,40 @@ func TestClientAuth(t *testing.T) {
}, ", ")}, }, ", ")},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
req, err = conn.ReadRequest() req, err2 = conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Describe, req.Method) require.Equal(t, base.Describe, req.Method)
nonce, err := auth.GenerateNonce() nonce, err2 := auth.GenerateNonce()
require.NoError(t, err) require.NoError(t, err2)
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusUnauthorized, StatusCode: base.StatusUnauthorized,
Header: base.Header{ Header: base.Header{
"WWW-Authenticate": auth.GenerateWWWAuthenticate(nil, "IPCAM", nonce), "WWW-Authenticate": auth.GenerateWWWAuthenticate(nil, "IPCAM", nonce),
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
req, err = conn.ReadRequest() req, err2 = conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Describe, req.Method) require.Equal(t, base.Describe, req.Method)
err = auth.Validate(req, "myuser", "mypass", nil, nil, "IPCAM", nonce) err2 = auth.Validate(req, "myuser", "mypass", nil, nil, "IPCAM", nonce)
require.NoError(t, err) require.NoError(t, err2)
medias := []*description.Media{testH264Media} medias := []*description.Media{testH264Media}
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Content-Type": base.HeaderValue{"application/sdp"}, "Content-Type": base.HeaderValue{"application/sdp"},
}, },
Body: mediasToSDP(medias), Body: mediasToSDP(medias),
}) })
require.NoError(t, err) require.NoError(t, err2)
}() }()
u, err := base.ParseURL("rtsp://myuser:mypass@localhost:8554/stream") u, err := base.ParseURL("rtsp://myuser:mypass@localhost:8554/stream")
@@ -330,18 +330,18 @@ func TestClientCSeq(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
defer nconn.Close() defer nconn.Close()
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
switch ca { switch ca {
case "different cseq": case "different cseq":
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -350,9 +350,9 @@ func TestClientCSeq(t *testing.T) {
"CSeq": base.HeaderValue{"150"}, "CSeq": base.HeaderValue{"150"},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -361,10 +361,10 @@ func TestClientCSeq(t *testing.T) {
"CSeq": req.Header["CSeq"], "CSeq": req.Header["CSeq"],
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
case "space at the end": case "space at the end":
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -373,7 +373,7 @@ func TestClientCSeq(t *testing.T) {
"CSeq": base.HeaderValue{req.Header["CSeq"][0] + " "}, "CSeq": base.HeaderValue{req.Header["CSeq"][0] + " "},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
} }
}() }()
@@ -402,16 +402,16 @@ func TestClientDescribeCharset(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
defer nconn.Close() defer nconn.Close()
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -419,16 +419,16 @@ func TestClientDescribeCharset(t *testing.T) {
}, ", ")}, }, ", ")},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
req, err = conn.ReadRequest() req, err2 = conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Describe, req.Method) require.Equal(t, base.Describe, req.Method)
require.Equal(t, mustParseURL("rtsp://localhost:8554/teststream"), req.URL) require.Equal(t, mustParseURL("rtsp://localhost:8554/teststream"), req.URL)
medias := []*description.Media{testH264Media} medias := []*description.Media{testH264Media}
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Content-Type": base.HeaderValue{"application/sdp; charset=utf-8"}, "Content-Type": base.HeaderValue{"application/sdp; charset=utf-8"},
@@ -436,7 +436,7 @@ func TestClientDescribeCharset(t *testing.T) {
}, },
Body: mediasToSDP(medias), Body: mediasToSDP(medias),
}) })
require.NoError(t, err) require.NoError(t, err2)
}() }()
u, err := base.ParseURL("rtsp://localhost:8554/teststream") u, err := base.ParseURL("rtsp://localhost:8554/teststream")
@@ -464,17 +464,17 @@ func TestClientReplyToServerRequest(t *testing.T) {
go func() { go func() {
defer close(serverDone) defer close(serverDone)
nconn, err := l.Accept() nconn, err2 := l.Accept()
require.NoError(t, err) require.NoError(t, err2)
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)
defer nconn.Close() defer nconn.Close()
req, err := conn.ReadRequest() req, err2 := conn.ReadRequest()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.Options, req.Method) require.Equal(t, base.Options, req.Method)
if ca == "after response" { if ca == "after response" {
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -482,37 +482,38 @@ func TestClientReplyToServerRequest(t *testing.T) {
}, ", ")}, }, ", ")},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
err = conn.WriteRequest(&base.Request{ err2 = conn.WriteRequest(&base.Request{
Method: base.Options, Method: base.Options,
URL: nil, URL: nil,
Header: base.Header{ Header: base.Header{
"CSeq": base.HeaderValue{"4"}, "CSeq": base.HeaderValue{"4"},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
res, err := conn.ReadResponse() var res *base.Response
require.NoError(t, err) res, err2 = conn.ReadResponse()
require.NoError(t, err2)
require.Equal(t, base.StatusOK, res.StatusCode) require.Equal(t, base.StatusOK, res.StatusCode)
require.Equal(t, "4", res.Header["CSeq"][0]) require.Equal(t, "4", res.Header["CSeq"][0])
} else { } else {
err = conn.WriteRequest(&base.Request{ err2 = conn.WriteRequest(&base.Request{
Method: base.Options, Method: base.Options,
URL: nil, URL: nil,
Header: base.Header{ Header: base.Header{
"CSeq": base.HeaderValue{"4"}, "CSeq": base.HeaderValue{"4"},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
res, err := conn.ReadResponse() res, err2 := conn.ReadResponse()
require.NoError(t, err) require.NoError(t, err2)
require.Equal(t, base.StatusOK, res.StatusCode) require.Equal(t, base.StatusOK, res.StatusCode)
require.Equal(t, "4", res.Header["CSeq"][0]) require.Equal(t, "4", res.Header["CSeq"][0])
err = conn.WriteResponse(&base.Response{ err2 = conn.WriteResponse(&base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ Header: base.Header{
"Public": base.HeaderValue{strings.Join([]string{ "Public": base.HeaderValue{strings.Join([]string{
@@ -520,7 +521,7 @@ func TestClientReplyToServerRequest(t *testing.T) {
}, ", ")}, }, ", ")},
}, },
}) })
require.NoError(t, err) require.NoError(t, err2)
} }
}() }()

View File

@@ -45,7 +45,7 @@ func (h *Header) unmarshal(br *bufio.Reader) error {
} }
if byt == '\r' { if byt == '\r' {
err := readByteEqual(br, '\n') err = readByteEqual(br, '\n')
if err != nil { if err != nil {
return err return err
} }
@@ -68,7 +68,7 @@ func (h *Header) unmarshal(br *bufio.Reader) error {
// https://tools.ietf.org/html/rfc2616 // https://tools.ietf.org/html/rfc2616
// The field value MAY be preceded by any amount of spaces // The field value MAY be preceded by any amount of spaces
for { for {
byt, err := br.ReadByte() byt, err = br.ReadByte()
if err != nil { if err != nil {
return err return err
} }

View File

@@ -65,7 +65,8 @@ func (req *Request) Unmarshal(br *bufio.Reader) error {
rawURL := string(byts[:len(byts)-1]) rawURL := string(byts[:len(byts)-1])
if rawURL != "*" { if rawURL != "*" {
ur, err := ParseURL(rawURL) var ur *URL
ur, err = ParseURL(rawURL)
if err != nil { if err != nil {
return fmt.Errorf("invalid URL (%v)", rawURL) return fmt.Errorf("invalid URL (%v)", rawURL)
} }

View File

@@ -52,7 +52,7 @@ func (t *RangeSMPTETime) unmarshal(s string) error {
t.Time = time.Duration(seconds+mins*60+hours*3600) * time.Second t.Time = time.Duration(seconds+mins*60+hours*3600) * time.Second
if len(parts) == 4 { if len(parts) == 4 {
parts := strings.Split(parts[3], ".") parts = strings.Split(parts[3], ".")
if len(parts) == 2 { if len(parts) == 2 {
tmp, err := strconv.ParseUint(parts[0], 10, 64) tmp, err := strconv.ParseUint(parts[0], 10, 64)
if err != nil { if err != nil {

View File

@@ -189,7 +189,7 @@ func TestBufferIsFull(t *testing.T) {
var expected []*rtp.Packet var expected []*rtp.Packet
for i := 0; i < 64-toMiss; i++ { for i := 0; i < 64-toMiss; i++ {
out, missing := r.Process(&rtp.Packet{ out, missing = r.Process(&rtp.Packet{
Header: rtp.Header{ Header: rtp.Header{
SequenceNumber: sn + uint16(toMiss), SequenceNumber: sn + uint16(toMiss),
}, },

View File

@@ -114,7 +114,7 @@ func (s *SessionDescription) unmarshalOrigin(value string) error {
var tmp string var tmp string
tmp, value = value[i+1:], value[:i] tmp, value = value[i+1:], value[:i]
if i := strings.Index(tmp, "."); i >= 0 { if i = strings.Index(tmp, "."); i >= 0 {
tmp = tmp[:i] tmp = tmp[:i]
} }
tmp = strings.TrimPrefix(tmp, "-") tmp = strings.TrimPrefix(tmp, "-")

View File

@@ -287,7 +287,7 @@ func (sc *ServerConn) handleRequestInner(req *base.Request) (*base.Response, err
// to return a SDP that contains a multicast address. // to return a SDP that contains a multicast address.
multicast := false multicast := false
if sc.s.MulticastIPRange != "" { if sc.s.MulticastIPRange != "" {
if q, err := gourl.ParseQuery(query); err == nil { if q, err2 := gourl.ParseQuery(query); err2 == nil {
if _, ok := q["vlcmulticast"]; ok { if _, ok := q["vlcmulticast"]; ok {
multicast = true multicast = true
} }

View File

@@ -682,11 +682,12 @@ func TestServerPlay(t *testing.T) {
p := ipv4.NewPacketConn(l1) p := ipv4.NewPacketConn(l1)
intfs, err := net.Interfaces() var intfs []net.Interface
intfs, err = net.Interfaces()
require.NoError(t, err) require.NoError(t, err)
for _, intf := range intfs { for _, intf := range intfs {
err := p.JoinGroup(&intf, &net.UDPAddr{IP: *th.Destination}) err = p.JoinGroup(&intf, &net.UDPAddr{IP: *th.Destination})
require.NoError(t, err) require.NoError(t, err)
} }
@@ -700,7 +701,7 @@ func TestServerPlay(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
for _, intf := range intfs { for _, intf := range intfs {
err := p.JoinGroup(&intf, &net.UDPAddr{IP: *th.Destination}) err = p.JoinGroup(&intf, &net.UDPAddr{IP: *th.Destination})
require.NoError(t, err) require.NoError(t, err)
} }
@@ -719,12 +720,14 @@ func TestServerPlay(t *testing.T) {
switch transport { switch transport {
case "udp": case "udp":
buf := make([]byte, 2048) buf := make([]byte, 2048)
n, _, err := l2.ReadFrom(buf) var n int
n, _, err = l2.ReadFrom(buf)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, testRTCPPacketMarshaled, buf[:n]) require.Equal(t, testRTCPPacketMarshaled, buf[:n])
case "tcp", "tls": case "tcp", "tls":
f, err := conn.ReadInterleavedFrame() var f *base.InterleavedFrame
f, err = conn.ReadInterleavedFrame()
require.NoError(t, err) require.NoError(t, err)
switch f.Channel { switch f.Channel {
@@ -742,7 +745,8 @@ func TestServerPlay(t *testing.T) {
// server -> client (through stream) // server -> client (through stream)
if transport == "udp" || transport == "multicast" { if transport == "udp" || transport == "multicast" {
buf := make([]byte, 2048) buf := make([]byte, 2048)
n, _, err := l1.ReadFrom(buf) var n int
n, _, err = l1.ReadFrom(buf)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, testRTPPacketMarshaled, buf[:n]) require.Equal(t, testRTPPacketMarshaled, buf[:n])
@@ -752,7 +756,8 @@ func TestServerPlay(t *testing.T) {
require.Equal(t, testRTCPPacketMarshaled, buf[:n]) require.Equal(t, testRTCPPacketMarshaled, buf[:n])
} else { } else {
for i := 0; i < 2; i++ { for i := 0; i < 2; i++ {
f, err := conn.ReadInterleavedFrame() var f *base.InterleavedFrame
f, err = conn.ReadInterleavedFrame()
require.NoError(t, err) require.NoError(t, err)
switch f.Channel { switch f.Channel {
@@ -771,7 +776,7 @@ func TestServerPlay(t *testing.T) {
// client -> server (RTCP) // client -> server (RTCP)
switch transport { switch transport {
case "udp": case "udp":
_, err := l2.WriteTo(testRTCPPacketMarshaled, &net.UDPAddr{ _, err = l2.WriteTo(testRTCPPacketMarshaled, &net.UDPAddr{
IP: net.ParseIP("127.0.0.1"), IP: net.ParseIP("127.0.0.1"),
Port: th.ServerPorts[1], Port: th.ServerPorts[1],
}) })
@@ -779,7 +784,7 @@ func TestServerPlay(t *testing.T) {
<-framesReceived <-framesReceived
case "multicast": case "multicast":
_, err := l2.WriteTo(testRTCPPacketMarshaled, &net.UDPAddr{ _, err = l2.WriteTo(testRTCPPacketMarshaled, &net.UDPAddr{
IP: *th.Destination, IP: *th.Destination,
Port: th.Ports[1], Port: th.Ports[1],
}) })
@@ -787,7 +792,7 @@ func TestServerPlay(t *testing.T) {
<-framesReceived <-framesReceived
default: default:
err := conn.WriteInterleavedFrame(&base.InterleavedFrame{ err = conn.WriteInterleavedFrame(&base.InterleavedFrame{
Channel: 6, Channel: 6,
Payload: testRTCPPacketMarshaled, Payload: testRTCPPacketMarshaled,
}, make([]byte, 1024)) }, make([]byte, 1024))
@@ -1078,10 +1083,11 @@ func TestServerPlayRTCPReport(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
buf = buf[:n] buf = buf[:n]
} else { } else {
_, err := conn.ReadInterleavedFrame() _, err = conn.ReadInterleavedFrame()
require.NoError(t, err) require.NoError(t, err)
f, err := conn.ReadInterleavedFrame() var f *base.InterleavedFrame
f, err = conn.ReadInterleavedFrame()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, f.Channel) require.Equal(t, 1, f.Channel)
buf = f.Payload buf = f.Payload
@@ -2061,7 +2067,8 @@ func TestServerPlayBytesSent(t *testing.T) {
defer stream.Close() defer stream.Close()
for _, transport := range []string{"tcp", "multicast"} { for _, transport := range []string{"tcp", "multicast"} {
nconn, err := net.Dial("tcp", "localhost:8554") var nconn net.Conn
nconn, err = net.Dial("tcp", "localhost:8554")
require.NoError(t, err) require.NoError(t, err)
defer nconn.Close() defer nconn.Close()
conn := conn.NewConn(nconn) conn := conn.NewConn(nconn)

View File

@@ -637,11 +637,13 @@ func TestServerRecord(t *testing.T) {
// server -> client (direct) // server -> client (direct)
if transport == "udp" { if transport == "udp" {
buf := make([]byte, 2048) buf := make([]byte, 2048)
n, _, err := l2s[i].ReadFrom(buf) var n int
n, _, err = l2s[i].ReadFrom(buf)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, testRTCPPacketMarshaled, buf[:n]) require.Equal(t, testRTCPPacketMarshaled, buf[:n])
} else { } else {
f, err := conn.ReadInterleavedFrame() var f *base.InterleavedFrame
f, err = conn.ReadInterleavedFrame()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 3+i*2, f.Channel) require.Equal(t, 3+i*2, f.Channel)
require.Equal(t, testRTCPPacketMarshaled, f.Payload) require.Equal(t, testRTCPPacketMarshaled, f.Payload)
@@ -650,7 +652,7 @@ func TestServerRecord(t *testing.T) {
// skip firewall opening // skip firewall opening
if transport == "udp" { if transport == "udp" {
buf := make([]byte, 2048) buf := make([]byte, 2048)
_, _, err := l2s[i].ReadFrom(buf) _, _, err = l2s[i].ReadFrom(buf)
require.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -593,7 +593,8 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
} }
for _, medi := range desc.Medias { for _, medi := range desc.Medias {
mediURL, err := medi.URL(req.URL) var mediURL *base.URL
mediURL, err = medi.URL(req.URL)
if err != nil { if err != nil {
return &base.Response{ return &base.Response{
StatusCode: base.StatusBadRequest, StatusCode: base.StatusBadRequest,
@@ -662,12 +663,9 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
}, nil }, nil
} }
var path string
var query string
var trackID string var trackID string
switch ss.state { switch ss.state {
case ServerSessionStateInitial, ServerSessionStatePrePlay: // play case ServerSessionStateInitial, ServerSessionStatePrePlay: // play
var err error
path, query, trackID, err = serverParseURLForPlay(req.URL) path, query, trackID, err = serverParseURLForPlay(req.URL)
if err != nil { if err != nil {
return &base.Response{ return &base.Response{
@@ -794,7 +792,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
ss.setuppedTransport = &transport ss.setuppedTransport = &transport
if ss.state == ServerSessionStateInitial { if ss.state == ServerSessionStateInitial {
err := stream.readerAdd(ss, err = stream.readerAdd(ss,
inTH.ClientPorts, inTH.ClientPorts,
) )
if err != nil { if err != nil {

View File

@@ -1041,8 +1041,8 @@ func TestServerAuth(t *testing.T) {
s := &Server{ s := &Server{
Handler: &testServerHandler{ Handler: &testServerHandler{
onAnnounce: func(ctx *ServerHandlerOnAnnounceCtx) (*base.Response, error) { onAnnounce: func(ctx *ServerHandlerOnAnnounceCtx) (*base.Response, error) {
err := auth.Validate(ctx.Request, "myuser", "mypass", nil, nil, "IPCAM", nonce) err2 := auth.Validate(ctx.Request, "myuser", "mypass", nil, nil, "IPCAM", nonce)
if err != nil { if err2 != nil {
return &base.Response{ //nolint:nilerr return &base.Response{ //nolint:nilerr
StatusCode: base.StatusUnauthorized, StatusCode: base.StatusUnauthorized,
Header: base.Header{ Header: base.Header{

View File

@@ -136,9 +136,9 @@ func (u *serverUDPListener) run() {
u.clientsMutex.RLock() u.clientsMutex.RLock()
defer u.clientsMutex.RUnlock() defer u.clientsMutex.RUnlock()
var clientAddr clientAddr var ca clientAddr
clientAddr.fill(addr.IP, addr.Port) ca.fill(addr.IP, addr.Port)
cb, ok := u.clients[clientAddr] cb, ok := u.clients[ca]
if !ok { if !ok {
return return
} }