[MPlayer-cvslog] r32640 - in trunk/stream: network.c url.c url.h
cboesch
subversion at mplayerhq.hu
Sun Nov 21 17:52:22 CET 2010
Author: cboesch
Date: Sun Nov 21 17:52:22 2010
New Revision: 32640
Log:
Do not keep authentication in URL on connection through a proxy
Modified:
trunk/stream/network.c
trunk/stream/url.c
trunk/stream/url.h
Modified: trunk/stream/network.c
==============================================================================
--- trunk/stream/network.c Sun Nov 21 13:25:44 2010 (r32639)
+++ trunk/stream/network.c Sun Nov 21 17:52:22 2010 (r32640)
@@ -209,7 +209,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 );
Modified: trunk/stream/url.c
==============================================================================
--- trunk/stream/url.c Sun Nov 21 13:25:44 2010 (r32639)
+++ trunk/stream/url.c Sun Nov 21 17:52:22 2010 (r32640)
@@ -58,9 +58,19 @@ URL_t *url_redirect(URL_t **url, const c
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;
@@ -232,6 +242,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, MSGTR_MemAllocFailed);
+ goto err_out;
+ }
+ make_noauth_url(Curl, Curl->noauth_url, noauth_len);
+ }
+
free(escfilename);
return Curl;
err_out:
Modified: trunk/stream/url.h
==============================================================================
--- trunk/stream/url.h Sun Nov 21 13:25:44 2010 (r32639)
+++ trunk/stream/url.h Sun Nov 21 17:52:22 2010 (r32640)
@@ -27,6 +27,7 @@
typedef struct {
char *url;
+ char *noauth_url;
char *protocol;
char *hostname;
char *file;
More information about the MPlayer-cvslog
mailing list