Browse Source

fix authentication with VLC

This fixes the case in which VLC is trying to read a path with a query
(i.e. stream?mykey=myval) and the path requires read credentials.
pull/1242/head
aler9 4 years ago
parent
commit
57015e2bf0
  1. 15
      internal/core/rtsp_session.go

15
internal/core/rtsp_session.go

@ -193,15 +193,16 @@ func (s *rtspSession) onSetup(c *rtspConn, ctx *gortsplib.ServerHandlerOnSetupCt
baseURL := &url.URL{ baseURL := &url.URL{
Scheme: ctx.Request.URL.Scheme, Scheme: ctx.Request.URL.Scheme,
Host: ctx.Request.URL.Host, Host: ctx.Request.URL.Host,
Path: func() string { Path: ctx.Path,
pa := ctx.Path RawQuery: ctx.Query,
if ctx.Query != "" {
pa += "?" + ctx.Query
} }
pa += "/"
return pa if ctx.Query != "" {
}(), baseURL.RawQuery += "/"
} else {
baseURL.Path += "/"
} }
return c.authenticate(ctx.Path, ctx.Query, pathIPs, pathUser, pathPass, false, ctx.Request, baseURL) return c.authenticate(ctx.Path, ctx.Query, pathIPs, pathUser, pathPass, false, ctx.Request, baseURL)
}, },
}) })

Loading…
Cancel
Save