From 2e3dee03644cafd3533495a53e1f6e0c1adf839c Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 22 Mar 2015 19:58:21 +0200 Subject: [PATCH] Real RTSP: discard unsupported legacy username and password syntax This is better than leaking them to the DNS resolver. This also avoids confusing error messages if live555 is missing or failing. --- modules/access/rtsp/access.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/access/rtsp/access.c b/modules/access/rtsp/access.c index 3a05be833a..2a52a1b697 100644 --- a/modules/access/rtsp/access.c +++ b/modules/access/rtsp/access.c @@ -156,6 +156,13 @@ static int Open( vlc_object_t *p_this ) return VLC_EGENERIC; } + /* Discard legacy username/password syntax - not supported */ + const char *psz_location = strchr( p_access->psz_location, '@' ); + if( psz_location != NULL ) + psz_location++; + else + psz_location = p_access->psz_location; + p_access->pf_read = NULL; p_access->pf_block = BlockRead; p_access->pf_seek = Seek; @@ -180,10 +187,10 @@ static int Open( vlc_object_t *p_this ) p_sys->p_rtsp->pf_read_line = RtspReadLine; p_sys->p_rtsp->pf_write = RtspWrite; - i_result = rtsp_connect( p_sys->p_rtsp, p_access->psz_location, 0 ); + i_result = rtsp_connect( p_sys->p_rtsp, psz_location, 0 ); if( i_result ) { - msg_Dbg( p_access, "could not connect to: %s", p_access->psz_location ); + msg_Dbg( p_access, "could not connect to: %s", psz_location ); free( p_sys->p_rtsp ); p_sys->p_rtsp = NULL; goto error; -- 2.39.2