aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/curl.17
-rw-r--r--src/main.c10
2 files changed, 16 insertions, 1 deletions
diff --git a/docs/curl.1 b/docs/curl.1
index 825e6fef5..f0f0b1a27 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -609,6 +609,13 @@ You may use this option as many times as you have number of URLs.
(SSL) Pass phrase for the private key
If this option is used several times, the last one will be used.
+.IP "--proxy-basic"
+Tells curl to use HTTP Basic authentication when communicating with the given
+proxy. Use \fI--basic\fP for enabling HTTP Basic with a remote host. Basic is
+the default authentication method curl uses with proxies.
+
+If this option is used twice, the second will again disable proxy HTTP Basic
+authentication.
.IP "--proxy-digest"
Tells curl to use HTTP Digest authentication when communicating with the given
proxy. Use \fI--digest\fP for enabling HTTP Digest with a remote host.
diff --git a/src/main.c b/src/main.c
index 0c7e964f7..25fcec519 100644
--- a/src/main.c
+++ b/src/main.c
@@ -349,6 +349,7 @@ static void help(void)
" -o/--output <file> Write output to <file> instead of stdout",
" -O/--remote-name Write output to a file named as the remote file",
" -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)",
+ " --proxy-basic Enable Basic authentication on the proxy (H)",
" --proxy-digest Enable Digest authentication on the proxy (H)",
" --proxy-ntlm Enable NTLM authentication on the proxy (H)",
" -P/--ftp-port <address> Use PORT with address instead of PASV (F)",
@@ -474,6 +475,7 @@ struct Configurable {
bool ftp_create_dirs;
bool proxyntlm;
bool proxydigest;
+ bool proxybasic;
char *writeout; /* %-styled format string to output */
bool writeenv; /* write results to environment, if available */
@@ -1166,7 +1168,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
{"$b", "ftp-pasv", FALSE},
{"$c", "socks5", TRUE},
{"$d", "tcp-nodelay",FALSE},
- {"$e", "proxy-digest", FALSE},
+ {"$e", "proxy-digest", FALSE},
+ {"$f", "proxy-basic", FALSE},
{"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE},
@@ -1499,6 +1502,9 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
case 'e': /* --proxy-digest */
config->proxydigest ^= TRUE;
break;
+ case 'f': /* --proxy-basic */
+ config->proxybasic ^= TRUE;
+ break;
}
break;
case '#': /* added 19990617 larsa */
@@ -3393,6 +3399,8 @@ operate(struct Configurable *config, int argc, char *argv[])
curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
else if(config->proxydigest)
curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST);
+ else if(config->proxybasic)
+ curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
/* new in curl 7.10.8 */
if(config->max_filesize)