aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 7c36f0599..2d41cab6d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -432,6 +432,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 Perform non-HTTP services through a HTTP proxy",
+ " --proxy-ntlm Use NTLM authentication on the proxy (H)",
" -P/--ftpport <address> Use PORT with address instead of PASV when ftping (F)",
" -q When used as the first parameter disables .curlrc",
" -Q/--quote <cmd> Send QUOTE command to FTP before file transfer (F)",
@@ -546,6 +547,7 @@ struct Configurable {
bool insecure_ok; /* set TRUE to allow insecure SSL connects */
bool create_dirs;
bool ftp_create_dirs;
+ bool proxyntlm;
char *writeout; /* %-styled format string to output */
bool writeenv; /* write results to environment, if available */
@@ -1094,6 +1096,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
{"5q", "ftp-create-dirs", FALSE},
{"5r", "create-dirs", FALSE},
{"5s", "max-redirs", TRUE},
+ {"5t", "proxy-ntlm", FALSE},
{"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE},
@@ -1353,6 +1356,10 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
config->maxredirs = atoi(nextarg);
break;
+ case 't': /* --proxy-ntlm */
+ config->proxyntlm ^= TRUE;
+ break;
+
default: /* the URL! */
{
struct getout *url;
@@ -3109,6 +3116,8 @@ operate(struct Configurable *config, int argc, char *argv[])
/* new in curl 7.10.7 */
curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS,
config->ftp_create_dirs);
+ if(config->proxyntlm)
+ curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
res = curl_easy_perform(curl);