curl-library
[PATCH] url: proxy: Use 443 as default port for https proxies
From: Thomas Glanzmann <thomas_at_glanzmann.de>
Date: Thu, 24 Nov 2016 19:40:30 +0100
Date: Thu, 24 Nov 2016 19:40:30 +0100
--- docs/libcurl/opts/CURLOPT_PROXYPORT.3 | 3 ++- lib/url.c | 8 +++++++- lib/url.h | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3 index 2380e09..0e22289 100644 --- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 +++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3 @@ -29,7 +29,8 @@ CURLOPT_PROXYPORT \- port number the proxy listens on CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); .SH DESCRIPTION Pass a long with this option to set the proxy port to connect to unless it is -specified in the proxy string \fICURLOPT_PROXY(3)\fP or uses the default one. +specified in the proxy string \fICURLOPT_PROXY(3)\fP or uses 443 for https +proxies and 1080 for all others as default. While this accepts a 'long', the port number is 16 bit so it can't be larger than 65535. diff --git a/lib/url.c b/lib/url.c index ad59213..384b16f 100644 --- a/lib/url.c +++ b/lib/url.c @@ -528,7 +528,7 @@ CURLcode Curl_init_userdefined(struct UserDefined *set) /* Set the default size of the SSL session ID cache */ set->general_ssl.max_ssl_sessions = 5; - set->proxyport = CURL_DEFAULT_PROXY_PORT; /* from url.h */ + set->proxyport = 0; set->proxytype = CURLPROXY_HTTP; /* defaults to HTTP proxy */ set->httpauth = CURLAUTH_BASIC; /* defaults to basic */ set->proxyauth = CURLAUTH_BASIC; /* defaults to basic */ @@ -4997,6 +4997,12 @@ static CURLcode parse_proxy(struct Curl_easy *data, /* None given in the proxy string, then get the default one if it is given */ port = data->set.proxyport; + else { + if (proxytype == CURLPROXY_HTTPS) + port = CURL_DEFAULT_HTTPS_PROXY_PORT; + else + port = CURL_DEFAULT_PROXY_PORT; + } } if(*proxyptr) { diff --git a/lib/url.h b/lib/url.h index c1254f5..696a130 100644 --- a/lib/url.h +++ b/lib/url.h @@ -67,6 +67,7 @@ void Curl_getoff_all_pipelines(struct Curl_easy *data, void Curl_close_connections(struct Curl_easy *data); #define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */ +#define CURL_DEFAULT_HTTPS_PROXY_PORT 443 /* default https proxy port unless specified */ CURLcode Curl_connected_proxy(struct connectdata *conn, int sockindex); -- 2.1.4 ------------------------------------------------------------------- List admin: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.htmlReceived on 2016-11-24