summaryrefslogtreecommitdiff
path: root/curl
diff options
context:
space:
mode:
Diffstat (limited to 'curl')
-rw-r--r--curl/curl-7.26.0_win-proxy.patch37
1 files changed, 21 insertions, 16 deletions
diff --git a/curl/curl-7.26.0_win-proxy.patch b/curl/curl-7.26.0_win-proxy.patch
index 61badc78feec..e3beb4004885 100644
--- a/curl/curl-7.26.0_win-proxy.patch
+++ b/curl/curl-7.26.0_win-proxy.patch
@@ -52,7 +52,7 @@
#ifndef CURL_DISABLE_HTTP
/* If proxy was not specified, we check for default proxy environment
-@@ -4138,7 +4158,58 @@ static char *detect_proxy(struct connectdata *conn)
+@@ -4138,7 +4158,63 @@ static char *detect_proxy(struct connectdata *conn)
* For compatibility, the all-uppercase versions of these variables are
* checked if the lowercase versions don't exist.
*/
@@ -71,29 +71,34 @@
+ ieNoProxy = wstrToCstr(ieProxyConfig->lpszProxyBypass);
+
+ /* Convert the ieNoProxy into a proper no_proxy value */
-+ no_proxy = strdup(ieNoProxy);
-+ pos = strpbrk(no_proxy, "; ");
-+ while(NULL != pos) {
-+ no_proxy[pos-no_proxy] = ',';
++ if(NULL != ieNoProxy) {
++ no_proxy = strdup(ieNoProxy);
+ pos = strpbrk(no_proxy, "; ");
++ while(NULL != pos) {
++ no_proxy[pos-no_proxy] = ',';
++ pos = strpbrk(no_proxy, "; ");
++ }
+ }
+
+ if(!check_noproxy(conn->host.name, no_proxy)) {
+ /* Look for the http proxy setting */
+ char* tok;
+
-+ tok = strtok(ieProxy, ";");
-+ if(strchr(tok, '=') == NULL) {
-+ proxy = strdup(ieProxy);
-+ }
-+ else {
-+ do {
-+ if(strncmp(tok, "http=", 5) == 0) {
-+ /* We found HTTP proxy value, then use it */
-+ proxy = strdup( tok + 5 );
++ if(NULL != ieProxy) {
++ tok = strtok(ieProxy, ";");
++ if(strchr(tok, '=') == NULL) {
++ proxy = strdup(ieProxy);
++ }
++ else {
++ do {
++ if(strncmp(tok, "http=", 5) == 0) {
++ /* We found HTTP proxy value, then use it */
++ proxy = strdup( tok + 5 );
++ }
++ tok = strtok(NULL, ";");
+ }
++ while(NULL != tok);
+ }
-+ while(NULL != strtok(NULL, ";"));
+ }
+ }
+
@@ -112,7 +117,7 @@
char proxy_env[128];
no_proxy=curl_getenv("no_proxy");
-@@ -4189,9 +4259,9 @@ static char *detect_proxy(struct connectdata *conn)
+@@ -4189,9 +4265,9 @@ static char *detect_proxy(struct connectdata *conn)
}
} /* if(!check_noproxy(conn->host.name, no_proxy)) - it wasn't specified
non-proxy */