diff --git a/src/main.c b/src/main.c index 3ddbf0029..439db9b77 100644 --- a/src/main.c +++ b/src/main.c @@ -346,6 +346,7 @@ static void help(void) " -o/--output Write output to 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-digest Enable Digest authentication on the proxy (H)", " --proxy-ntlm Enable NTLM authentication on the proxy (H)", " -P/--ftp-port
Use PORT with address instead of PASV (F)", " -q If used as the first parameter disables .curlrc", @@ -469,6 +470,7 @@ struct Configurable { bool create_dirs; bool ftp_create_dirs; bool proxyntlm; + bool proxydigest; char *writeout; /* %-styled format string to output */ bool writeenv; /* write results to environment, if available */ @@ -1139,6 +1141,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ {"$b", "ftp-pasv", FALSE}, {"$c", "socks5", TRUE}, {"$d", "tcp-nodelay",FALSE}, + {"$e", "proxy-digest", FALSE}, {"0", "http1.0", FALSE}, {"1", "tlsv1", FALSE}, {"2", "sslv2", FALSE}, @@ -1468,6 +1471,9 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ case 'd': /* --tcp-nodelay option */ config->tcp_nodelay ^= TRUE; break; + case 'e': /* --proxy-digest */ + config->proxydigest ^= TRUE; + break; } break; case '#': /* added 19990617 larsa */ @@ -3352,6 +3358,8 @@ operate(struct Configurable *config, int argc, char *argv[]) config->ftp_create_dirs); if(config->proxyntlm) curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM); + else if(config->proxydigest) + curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST); /* new in curl 7.10.8 */ if(config->max_filesize)