1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-04 06:08:26 +02:00

Revert "lavf/utils: Allow url credentials to contain a slash."

This reverts commit dd06f022b07438d650c82255dff16908ba04244a.

Fixes ticket #7871 and reopens ticket #7816.

The introduced regression caused URL's with @ in them to be parsed incorrectly
which is a bigger issue then not being able to specify the slash character as a
password.

I think there are better ways to fix the original issue, like being able to
specify HTTP username and password as a protocol option, or adding a protocol
option to percent-decode the URL first.

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2019-05-05 20:40:06 +02:00
parent 96c79d4e1f
commit c61d16cf3b

View File

@ -4730,7 +4730,7 @@ void av_url_split(char *proto, int proto_size,
char *hostname, int hostname_size,
int *port_ptr, char *path, int path_size, const char *url)
{
const char *p, *ls, *ls2, *ls3, *at, *at2, *col, *brk;
const char *p, *ls, *ls2, *at, *at2, *col, *brk;
if (port_ptr)
*port_ptr = -1;
@ -4760,9 +4760,6 @@ void av_url_split(char *proto, int proto_size,
/* separate path from hostname */
ls = strchr(p, '/');
ls2 = strchr(p, '?');
ls3 = strchr(p, '@');
if (ls3 && ls3 > ls && (!ls2 || ls2 > ls3))
ls = strchr(ls3, '/');
if (!ls)
ls = ls2;
else if (ls && ls2)