From c67b575e0be2bfd174dd4cb085fbd6fee5d230e0 Mon Sep 17 00:00:00 2001 From: macbookpro Date: Tue, 25 Dec 2018 16:39:27 +0800 Subject: [PATCH] fix authorization failed on no-port url --- rtsp/rtsp-client.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rtsp/rtsp-client.go b/rtsp/rtsp-client.go index 3bc9ce55..a0a20f18 100644 --- a/rtsp/rtsp-client.go +++ b/rtsp/rtsp-client.go @@ -116,6 +116,9 @@ func digestAuth(authLine string, method string, URL string) (string, error) { username := l.User.Username() password, _ := l.User.Password() l.User = nil + if l.Port() == "" { + l.Host = fmt.Sprintf("%s:%s", l.Host, "554") + } md5UserRealmPwd := fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%s:%s:%s", username, realm, password)))) md5MethodURL := fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%s:%s", method, l.String())))) @@ -240,6 +243,7 @@ func (client *RTSPClient) Start(timeout time.Duration) error { if len(Authorization) > 0 { headers := make(map[string]string) headers["Authorization"] = Authorization + headers["Accept"] = "application/sdp" resp, err = client.Request("DESCRIBE", headers) } if err != nil {