mirror of
https://github.com/mpv-player/mpv
synced 2024-09-09 01:16:56 +02:00
stream/http: Do not keep authentication in URL when proxied
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32640 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
5e6c4de69e
commit
9bf59a1fcb
@ -210,7 +210,7 @@ http_send_request( URL_t *url, off_t pos ) {
|
||||
mp_msg(MSGT_NETWORK, MSGL_ERR, "Invalid URL '%s' to proxify\n", url->file+1);
|
||||
goto err_out;
|
||||
}
|
||||
http_set_uri( http_hdr, server_url->url );
|
||||
http_set_uri( http_hdr, server_url->noauth_url );
|
||||
} else {
|
||||
server_url = url;
|
||||
http_set_uri( http_hdr, server_url->file );
|
||||
|
23
stream/url.c
23
stream/url.c
@ -57,9 +57,19 @@ URL_t *url_redirect(URL_t **url, const char *redir) {
|
||||
return res;
|
||||
}
|
||||
|
||||
static int make_noauth_url(URL_t *url, char *dst, int dst_size)
|
||||
{
|
||||
if (url->port)
|
||||
return snprintf(dst, dst_size, "%s://%s:%d%s", url->protocol,
|
||||
url->hostname, url->port, url->file);
|
||||
else
|
||||
return snprintf(dst, dst_size, "%s://%s%s", url->protocol,
|
||||
url->hostname, url->file);
|
||||
}
|
||||
|
||||
URL_t*
|
||||
url_new(const char* url) {
|
||||
int pos1, pos2,v6addr = 0;
|
||||
int pos1, pos2,v6addr = 0, noauth_len;
|
||||
URL_t* Curl = NULL;
|
||||
char *escfilename=NULL;
|
||||
char *ptr1=NULL, *ptr2=NULL, *ptr3=NULL, *ptr4=NULL;
|
||||
@ -231,6 +241,17 @@ url_new(const char* url) {
|
||||
strcpy(Curl->file, "/");
|
||||
}
|
||||
|
||||
noauth_len = make_noauth_url(Curl, NULL, 0);
|
||||
if (noauth_len > 0) {
|
||||
noauth_len++;
|
||||
Curl->noauth_url = malloc(noauth_len);
|
||||
if (!Curl->noauth_url) {
|
||||
mp_msg(MSGT_NETWORK, MSGL_FATAL, "Memory allocation failed.\n");
|
||||
goto err_out;
|
||||
}
|
||||
make_noauth_url(Curl, Curl->noauth_url, noauth_len);
|
||||
}
|
||||
|
||||
free(escfilename);
|
||||
return Curl;
|
||||
err_out:
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
typedef struct {
|
||||
char *url;
|
||||
char *noauth_url;
|
||||
char *protocol;
|
||||
char *hostname;
|
||||
char *file;
|
||||
|
Loading…
Reference in New Issue
Block a user