You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avformat/http: split the fragment part from the HTTP URL before the request
RFC 3986 states that the fragment identifier is separated from the rest of the URI prior to a dereference, and thus the identifying information within the fragment itself is dereferenced solely by the user agent. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
@@ -190,6 +190,7 @@ void ff_http_init_auth_state(URLContext *dest, const URLContext *src)
|
|||||||
static int http_open_cnx_internal(URLContext *h, AVDictionary **options)
|
static int http_open_cnx_internal(URLContext *h, AVDictionary **options)
|
||||||
{
|
{
|
||||||
const char *path, *proxy_path, *lower_proto = "tcp", *local_path;
|
const char *path, *proxy_path, *lower_proto = "tcp", *local_path;
|
||||||
|
char *hashmark;
|
||||||
char hostname[1024], hoststr[1024], proto[10];
|
char hostname[1024], hoststr[1024], proto[10];
|
||||||
char auth[1024], proxyauth[1024] = "";
|
char auth[1024], proxyauth[1024] = "";
|
||||||
char path1[MAX_URL_SIZE];
|
char path1[MAX_URL_SIZE];
|
||||||
@@ -215,6 +216,10 @@ static int http_open_cnx_internal(URLContext *h, AVDictionary **options)
|
|||||||
if (port < 0)
|
if (port < 0)
|
||||||
port = 80;
|
port = 80;
|
||||||
|
|
||||||
|
hashmark = strchr(path1, '#');
|
||||||
|
if (hashmark)
|
||||||
|
*hashmark = '\0';
|
||||||
|
|
||||||
if (path1[0] == '\0')
|
if (path1[0] == '\0')
|
||||||
path = "/";
|
path = "/";
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user