aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS_PROXY.343
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS_PROXYTYPE.355
-rw-r--r--docs/libcurl/opts/Makefile.am3
-rw-r--r--include/curl/curl.h6
-rw-r--r--lib/url.c9
-rw-r--r--src/tool_operate.c4
6 files changed, 13 insertions, 107 deletions
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS_PROXY.3 b/docs/libcurl/opts/CURLOPT_SOCKS_PROXY.3
index aad3d40a5..d3e6905bf 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS_PROXY.3
@@ -22,16 +22,16 @@
.\"
.TH CURLOPT_SOCKS_PROXY 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_SOCKS_PROXY \- set socks proxy to use
+CURLOPT_SOCKS_PROXY \- set SOCKS proxy to use
.SH SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS_PROXY, char *proxy);
.SH DESCRIPTION
-TODO: Make this text specific to HTTPS proxy. (Added in 7.XXX)
-Set the \fIproxy\fP to use for the upcoming request. The parameter should be a
-char * to a zero terminated string holding the host name or dotted numerical
-IP address. A numerical IPv6 address must be written within [brackets].
+Set the SOCKS \fIproxy\fP to use for the upcoming request. The parameter
+should be a char * to a zero terminated string holding the host name or dotted
+numerical IP address. A numerical IPv6 address must be written within
+[brackets].
To specify port number in this string, append :[port] to the end of the host
name. The proxy's port number may optionally be specified with the separate
@@ -42,29 +42,12 @@ The proxy string may be prefixed with [scheme]:// to specify which kind of
proxy is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last
one to enable socks5 and asking the proxy to do the resolving, also known as
\fICURLPROXY_SOCKS5_HOSTNAME\fP type) to request the specific SOCKS version to
-be used. No scheme specified or http://, will be treated as HTTP proxies.
-
-Without a scheme prefix, \fICURLOPT_PROXYTYPE(3)\fP can be used to specify
-which kind of proxy the string identifies.
-
-When you tell the library to use a HTTP proxy, libcurl will transparently
-convert operations to HTTP even if you specify an FTP URL etc. This may have
-an impact on what other features of the library you can use, such as
-\fICURLOPT_QUOTE(3)\fP and similar FTP specifics that don't work unless you
-tunnel through the HTTP proxy. Such tunneling is activated with
-\fICURLOPT_HTTPPROXYTUNNEL(3)\fP.
-
-libcurl respects the environment variables \fBhttp_proxy\fP, \fBftp_proxy\fP,
-\fBall_proxy\fP etc, if any of those are set. The \fICURLOPT_PROXY(3)\fP
-option does however override any possibly set environment variables.
+be used. Otherwise SOCKS4 is used as default.
Setting the proxy string to "" (an empty string) will explicitly disable the
use of a proxy, even if there is an environment variable set for it.
-
-A proxy host string can also include protocol scheme (http://) and embedded
-user + password.
.SH DEFAULT
-Default is NULL, meaning no proxy is used.
+Default is NULL, meaning no socks proxy is used.
When you set a host name to use, do not assume that there's any particular
single port number used widely for proxies. Specify it!
@@ -73,16 +56,10 @@ All except file://. Note that some protocols don't do very well over proxy.
.SH EXAMPLE
TODO
.SH AVAILABILITY
-Since 7.14.1 the proxy environment variable names can include the protocol
-scheme.
-
-Since 7.21.7 the proxy string supports the socks protocols as "schemes".
-
-Since 7.50.2, unsupported schemes in proxy strings cause libcurl to return
-error.
+Added in 7.52.0
.SH RETURN VALUE
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
.SH "SEE ALSO"
-.BR CURLOPT_PROXYPORT "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
-.BR CURLOPT_PROXYTYPE "(3)"
+.BR CURLOPT_PROXY "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
+
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_SOCKS_PROXYTYPE.3
deleted file mode 100644
index 210024067..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKS_PROXYTYPE.3
+++ /dev/null
@@ -1,55 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
-.\" *
-.\" * This software is licensed as described in the file COPYING, which
-.\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
-.\" *
-.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
-.\" * copies of the Software, and permit persons to whom the Software is
-.\" * furnished to do so, under the terms of the COPYING file.
-.\" *
-.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-.\" * KIND, either express or implied.
-.\" *
-.\" **************************************************************************
-.\"
-.TH CURLOPT_SOCKS_PROXYTYPE 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt options"
-.SH NAME
-CURLOPT_SOCKS_PROXYTYPE \- socks proxy protocol type
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS_PROXYTYPE, long type);
-.SH DESCRIPTION
-TODO: Make this text specific to HTTPS proxy. (Added in 7.XXX)
-Pass a long with this option to set type of the proxy. Available options for
-this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_HTTP_1_0\fP
-\fICURLPROXY_SOCKS4\fP, \fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP and
-\fICURLPROXY_SOCKS5_HOSTNAME\fP. The HTTP type is default.
-
-If you set \fICURLOPT_PROXYTYPE(3)\fP to \fICURLPROXY_HTTP_1_0\fP, it will
-only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP
-version used for "regular" HTTP requests is instead controlled with
-\fICURLOPT_HTTP_VERSION(3)\fP.
-
-Often it is more convenient to specify the proxy type with the scheme part of
-the \fICURLOPT_PROXY(3)\fP string.
-.SH DEFAULT
-CURLPROXY_HTTP
-.SH PROTOCOLS
-Most
-.SH EXAMPLE
-TODO
-.SH AVAILABILITY
-Always
-.SH RETURN VALUE
-Returns CURLE_OK
-.SH "SEE ALSO"
-.BR CURLOPT_PROXY "(3), " CURLOPT_PROXYPORT "(3), "
diff --git a/docs/libcurl/opts/Makefile.am b/docs/libcurl/opts/Makefile.am
index 9dbecc3d7..9a9cba1d8 100644
--- a/docs/libcurl/opts/Makefile.am
+++ b/docs/libcurl/opts/Makefile.am
@@ -270,7 +270,6 @@ man_MANS = \
CURLOPT_SOCKS5_GSSAPI_NEC.3 \
CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \
CURLOPT_SOCKS_PROXY.3 \
- CURLOPT_SOCKS_PROXYTYPE.3 \
CURLOPT_SSH_AUTH_TYPES.3 \
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \
CURLOPT_SSH_KEYDATA.3 \
@@ -581,7 +580,6 @@ HTMLPAGES = \
CURLOPT_SOCKS5_GSSAPI_NEC.html \
CURLOPT_SOCKS5_GSSAPI_SERVICE.html \
CURLOPT_SOCKS_PROXY.html \
- CURLOPT_SOCKS_PROXYTYPE.html \
CURLOPT_SSH_AUTH_TYPES.html \
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html \
CURLOPT_SSH_KEYDATA.html \
@@ -892,7 +890,6 @@ PDFPAGES = \
CURLOPT_SOCKS5_GSSAPI_NEC.pdf \
CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf \
CURLOPT_SOCKS_PROXY.pdf \
- CURLOPT_SOCKS_PROXYTYPE.pdf \
CURLOPT_SSH_AUTH_TYPES.pdf \
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf \
CURLOPT_SSH_KEYDATA.pdf \
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 06bb7cb9b..f5dd65d49 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -1766,13 +1766,9 @@ typedef enum {
/* Name of socks proxy to use. */
CINIT(SOCKS_PROXY, STRINGPOINT, 262),
- /* indicates type of proxy. accepted values are CURLPROXY_SOCKS4,
- CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */
- CINIT(SOCKS_PROXYTYPE, LONG, 263),
-
/* The public key in DER form used to validate the proxy public key
this option is used only if PROXY_SSL_VERIFYPEER is true */
- CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 264),
+ CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 263),
CURLOPT_LASTENTRY /* the last unused */
} CURLoption;
diff --git a/lib/url.c b/lib/url.c
index 45262d897..f975b0d69 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1490,13 +1490,6 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
data->set.proxytype = (curl_proxytype)va_arg(param, long);
break;
- case CURLOPT_SOCKS_PROXYTYPE:
- /*
- * Set proxy type. SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME
- */
- data->set.socks_proxytype = (curl_proxytype)va_arg(param, long);
- break;
-
case CURLOPT_PROXY_TRANSFER_MODE:
/*
* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy
@@ -4109,7 +4102,7 @@ static struct connectdata *allocate_conn(struct Curl_easy *data)
and the Curl_easy */
conn->http_proxy.proxytype = data->set.proxytype;
- conn->socks_proxy.proxytype = data->set.socks_proxytype;
+ conn->socks_proxy.proxytype = CURLPROXY_SOCKS4;
#ifdef CURL_DISABLE_PROXY
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 2c9b4465a..504c20769 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -867,11 +867,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
if(config->proxy)
my_setopt_enum(curl, CURLOPT_PROXYTYPE, (long)config->proxyver);
- /* new in libcurl 7.10 */
+ /* new in libcurl 7.52.0 */
if(config->socksproxy) {
my_setopt_str(curl, CURLOPT_SOCKS_PROXY, config->socksproxy);
- my_setopt_enum(curl, CURLOPT_SOCKS_PROXYTYPE,
- (long)config->socksver);
}
/* new in libcurl 7.10.6 */