- Craig A West brought us: libcurl now defaults to do CONNECT with HTTP
version 1.1 instead of 1.0 like before. This change also introduces the new proxy type for libcurl called 'CURLPROXY_HTTP_1_0' that then allows apps to switch (back) to CONNECT 1.0 requests. The curl tool also got a --proxy1.0 option that works exactly like --proxy but sets CURLPROXY_HTTP_1_0. I updated all test cases cases that use CONNECT and I tried to do some using --proxy1.0 and some updated to do CONNECT 1.1 to get both versions run.
This commit is contained in:
parent
dcf92bffd2
commit
bdd4294e79
10
CHANGES
10
CHANGES
@ -6,6 +6,16 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel Stenberg (2 Feb 2009)
|
||||||
|
- Craig A West brought us: libcurl now defaults to do CONNECT with HTTP
|
||||||
|
version 1.1 instead of 1.0 like before. This change also introduces the new
|
||||||
|
proxy type for libcurl called 'CURLPROXY_HTTP_1_0' that then allows apps to
|
||||||
|
switch (back) to CONNECT 1.0 requests. The curl tool also got a --proxy1.0
|
||||||
|
option that works exactly like --proxy but sets CURLPROXY_HTTP_1_0.
|
||||||
|
|
||||||
|
I updated all test cases cases that use CONNECT and I tried to do some using
|
||||||
|
--proxy1.0 and some updated to do CONNECT 1.1 to get both versions run.
|
||||||
|
|
||||||
Daniel Stenberg (31 Jan 2009)
|
Daniel Stenberg (31 Jan 2009)
|
||||||
- When building with c-ares 1.6.1 (not yet released) or later and IPv6 support
|
- When building with c-ares 1.6.1 (not yet released) or later and IPv6 support
|
||||||
enabled, we can now take advantage of its brand new AF_UNSPEC support in
|
enabled, we can now take advantage of its brand new AF_UNSPEC support in
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Curl and libcurl 7.19.4
|
Curl and libcurl 7.19.4
|
||||||
|
|
||||||
Public curl releases: 110
|
Public curl releases: 110
|
||||||
Command line options: 131
|
Command line options: 132
|
||||||
curl_easy_setopt() options: 161
|
curl_easy_setopt() options: 161
|
||||||
Public functions in libcurl: 58
|
Public functions in libcurl: 58
|
||||||
Known libcurl bindings: 37
|
Known libcurl bindings: 37
|
||||||
@ -17,6 +17,7 @@ This release includes the following changes:
|
|||||||
the corresponding curl options --socks5-gssapi-service and
|
the corresponding curl options --socks5-gssapi-service and
|
||||||
--socks5-gssapi-nec
|
--socks5-gssapi-nec
|
||||||
o Improved IPv6 support when built with with c-ares >= 1.6.1
|
o Improved IPv6 support when built with with c-ares >= 1.6.1
|
||||||
|
o Added CURLPROXY_HTTP_1_0 and --proxy1.0
|
||||||
|
|
||||||
This release includes the following bugfixes:
|
This release includes the following bugfixes:
|
||||||
|
|
||||||
|
@ -141,6 +141,9 @@ PROXY
|
|||||||
|
|
||||||
curl --noproxy localhost,get.this -x my-proxy:888 http://www.get.this/
|
curl --noproxy localhost,get.this -x my-proxy:888 http://www.get.this/
|
||||||
|
|
||||||
|
If the proxy is specified with --proxy1.0 instead of --proxy or -x, then
|
||||||
|
curl will use HTTP/1.0 instead of HTTP/1.1 for any CONNECT attempts.
|
||||||
|
|
||||||
curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.
|
curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.
|
||||||
|
|
||||||
See also the environment variables Curl support that offer further proxy
|
See also the environment variables Curl support that offer further proxy
|
||||||
|
@ -903,6 +903,13 @@ with a remote host. (Added in 7.17.1)
|
|||||||
.IP "--proxy-ntlm"
|
.IP "--proxy-ntlm"
|
||||||
Tells curl to use HTTP NTLM authentication when communicating with the given
|
Tells curl to use HTTP NTLM authentication when communicating with the given
|
||||||
proxy. Use \fI--ntlm\fP for enabling NTLM with a remote host.
|
proxy. Use \fI--ntlm\fP for enabling NTLM with a remote host.
|
||||||
|
.IP "--proxy1.0 <proxyhost[:port]>"
|
||||||
|
Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
|
||||||
|
assumed at port 1080.
|
||||||
|
|
||||||
|
The only difference between this and the HTTP proxy option (\fI-x/--proxy\fP),
|
||||||
|
is that attempts to use CONNECT through the proxy will specify an HTTP 1.0
|
||||||
|
protocol instead of the default HTTP 1.1.
|
||||||
.IP "-p/--proxytunnel"
|
.IP "-p/--proxytunnel"
|
||||||
When an HTTP proxy is used (\fI-x/--proxy\fP), this option will cause non-HTTP
|
When an HTTP proxy is used (\fI-x/--proxy\fP), this option will cause non-HTTP
|
||||||
protocols to attempt to tunnel through the proxy instead of merely using it to
|
protocols to attempt to tunnel through the proxy instead of merely using it to
|
||||||
|
@ -470,10 +470,10 @@ Pass a long with this option to set the proxy port to connect to unless it is
|
|||||||
specified in the proxy string \fICURLOPT_PROXY\fP.
|
specified in the proxy string \fICURLOPT_PROXY\fP.
|
||||||
.IP CURLOPT_PROXYTYPE
|
.IP CURLOPT_PROXYTYPE
|
||||||
Pass a long with this option to set type of the proxy. Available options for
|
Pass a long with this option to set type of the proxy. Available options for
|
||||||
this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_SOCKS4\fP (added in 7.15.2),
|
this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_HTTP_1_0\fP (added in 7.19.4),
|
||||||
\fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP (added in 7.18.0) and
|
\fICURLPROXY_SOCKS4\fP (added in 7.15.2), \fICURLPROXY_SOCKS5\fP,
|
||||||
\fICURLPROXY_SOCKS5_HOSTNAME\fP (added in 7.18.0). The HTTP type is
|
\fICURLPROXY_SOCKS4A\fP (added in 7.18.0) and \fICURLPROXY_SOCKS5_HOSTNAME\fP
|
||||||
default. (Added in 7.10)
|
(added in 7.18.0). The HTTP type is default. (Added in 7.10)
|
||||||
.IP CURLOPT_NOPROXY
|
.IP CURLOPT_NOPROXY
|
||||||
Pass a pointer to a zero terminated string. The should be a comma- separated
|
Pass a pointer to a zero terminated string. The should be a comma- separated
|
||||||
list of hosts which do not use a proxy, if one is specified. The only
|
list of hosts which do not use a proxy, if one is specified. The only
|
||||||
|
@ -459,7 +459,10 @@ typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */
|
|||||||
void *userptr);
|
void *userptr);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
CURLPROXY_HTTP = 0, /* added in 7.10 */
|
CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use
|
||||||
|
CONNECT HTTP/1.1 */
|
||||||
|
CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT
|
||||||
|
HTTP/1.0 */
|
||||||
CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
|
CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
|
||||||
in 7.10 */
|
in 7.10 */
|
||||||
CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
|
CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
|
||||||
|
@ -1894,6 +1894,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
|
|||||||
break;
|
break;
|
||||||
#endif /* CURL_DISABLE_PROXY */
|
#endif /* CURL_DISABLE_PROXY */
|
||||||
case CURLPROXY_HTTP:
|
case CURLPROXY_HTTP:
|
||||||
|
case CURLPROXY_HTTP_1_0:
|
||||||
/* do nothing here. handled later. */
|
/* do nothing here. handled later. */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -1343,6 +1343,8 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
|
|||||||
char *host=(char *)"";
|
char *host=(char *)"";
|
||||||
const char *proxyconn="";
|
const char *proxyconn="";
|
||||||
const char *useragent="";
|
const char *useragent="";
|
||||||
|
const char *http = (conn->proxytype == CURLPROXY_HTTP_1_0) ?
|
||||||
|
"1.0" : "1.1";
|
||||||
|
|
||||||
if(!checkheaders(data, "Host:")) {
|
if(!checkheaders(data, "Host:")) {
|
||||||
host = aprintf("Host: %s\r\n", host_port);
|
host = aprintf("Host: %s\r\n", host_port);
|
||||||
@ -1363,12 +1365,12 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
|
|||||||
/* BLOCKING */
|
/* BLOCKING */
|
||||||
result =
|
result =
|
||||||
add_bufferf(req_buffer,
|
add_bufferf(req_buffer,
|
||||||
"CONNECT %s:%d HTTP/1.0\r\n"
|
"CONNECT %s:%d HTTP/%s\r\n"
|
||||||
"%s" /* Host: */
|
"%s" /* Host: */
|
||||||
"%s" /* Proxy-Authorization */
|
"%s" /* Proxy-Authorization */
|
||||||
"%s" /* User-Agent */
|
"%s" /* User-Agent */
|
||||||
"%s", /* Proxy-Connection */
|
"%s", /* Proxy-Connection */
|
||||||
hostname, remote_port,
|
hostname, remote_port, http,
|
||||||
host,
|
host,
|
||||||
conn->allocptr.proxyuserpwd?
|
conn->allocptr.proxyuserpwd?
|
||||||
conn->allocptr.proxyuserpwd:"",
|
conn->allocptr.proxyuserpwd:"",
|
||||||
|
14
lib/url.c
14
lib/url.c
@ -1453,7 +1453,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
|
|||||||
|
|
||||||
case CURLOPT_PROXYTYPE:
|
case CURLOPT_PROXYTYPE:
|
||||||
/*
|
/*
|
||||||
* Set proxy type. HTTP/SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME
|
* Set proxy type. HTTP/HTTP_1_0/SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME
|
||||||
*/
|
*/
|
||||||
data->set.proxytype = (curl_proxytype)va_arg(param, long);
|
data->set.proxytype = (curl_proxytype)va_arg(param, long);
|
||||||
break;
|
break;
|
||||||
@ -2857,6 +2857,7 @@ static CURLcode ConnectPlease(struct SessionHandle *data,
|
|||||||
break;
|
break;
|
||||||
#endif /* CURL_DISABLE_PROXY */
|
#endif /* CURL_DISABLE_PROXY */
|
||||||
case CURLPROXY_HTTP:
|
case CURLPROXY_HTTP:
|
||||||
|
case CURLPROXY_HTTP_1_0:
|
||||||
/* do nothing here. handled later. */
|
/* do nothing here. handled later. */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -4214,9 +4215,11 @@ static CURLcode create_conn(struct SessionHandle *data,
|
|||||||
|
|
||||||
conn->bits.proxy = (bool)(data->set.str[STRING_PROXY] &&
|
conn->bits.proxy = (bool)(data->set.str[STRING_PROXY] &&
|
||||||
*data->set.str[STRING_PROXY]);
|
*data->set.str[STRING_PROXY]);
|
||||||
conn->bits.httpproxy = (bool)(conn->bits.proxy
|
conn->bits.httpproxy = (bool)(conn->bits.proxy &&
|
||||||
&& (conn->proxytype == CURLPROXY_HTTP));
|
(conn->proxytype == CURLPROXY_HTTP ||
|
||||||
conn->bits.proxy_user_passwd = (bool)(NULL != data->set.str[STRING_PROXYUSERNAME]);
|
conn->proxytype == CURLPROXY_HTTP_1_0));
|
||||||
|
conn->bits.proxy_user_passwd =
|
||||||
|
(bool)(NULL != data->set.str[STRING_PROXYUSERNAME]);
|
||||||
conn->bits.tunnel_proxy = data->set.tunnel_thru_httpproxy;
|
conn->bits.tunnel_proxy = data->set.tunnel_thru_httpproxy;
|
||||||
|
|
||||||
#endif /* CURL_DISABLE_PROXY */
|
#endif /* CURL_DISABLE_PROXY */
|
||||||
@ -4315,7 +4318,8 @@ static CURLcode create_conn(struct SessionHandle *data,
|
|||||||
if(proxy && *proxy) {
|
if(proxy && *proxy) {
|
||||||
long bits = conn->protocol & (PROT_HTTPS|PROT_SSL|PROT_MISSING);
|
long bits = conn->protocol & (PROT_HTTPS|PROT_SSL|PROT_MISSING);
|
||||||
|
|
||||||
if(conn->proxytype == CURLPROXY_HTTP) {
|
if((conn->proxytype == CURLPROXY_HTTP) ||
|
||||||
|
(conn->proxytype == CURLPROXY_HTTP_1_0)) {
|
||||||
/* force this connection's protocol to become HTTP */
|
/* force this connection's protocol to become HTTP */
|
||||||
conn->protocol = PROT_HTTP | bits;
|
conn->protocol = PROT_HTTP | bits;
|
||||||
conn->bits.httpproxy = TRUE;
|
conn->bits.httpproxy = TRUE;
|
||||||
|
11
src/main.c
11
src/main.c
@ -448,6 +448,7 @@ struct Configurable {
|
|||||||
char *userpwd;
|
char *userpwd;
|
||||||
char *proxyuserpwd;
|
char *proxyuserpwd;
|
||||||
char *proxy;
|
char *proxy;
|
||||||
|
int proxyver; /* set to CURLPROXY_HTTP* define */
|
||||||
char *noproxy;
|
char *noproxy;
|
||||||
bool proxytunnel;
|
bool proxytunnel;
|
||||||
bool ftp_append; /* APPE on ftp */
|
bool ftp_append; /* APPE on ftp */
|
||||||
@ -791,6 +792,7 @@ static void help(void)
|
|||||||
" --proxy-negotiate Use Negotiate authentication on the proxy (H)",
|
" --proxy-negotiate Use Negotiate authentication on the proxy (H)",
|
||||||
" --proxy-ntlm Use NTLM authentication on the proxy (H)",
|
" --proxy-ntlm Use NTLM authentication on the proxy (H)",
|
||||||
" -U/--proxy-user <user[:password]> Set proxy user and password",
|
" -U/--proxy-user <user[:password]> Set proxy user and password",
|
||||||
|
" --proxy1.0 <host[:port]> Use HTTP/1.0 proxy on given port",
|
||||||
" -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)",
|
" -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)",
|
||||||
" --pubkey <key> Public key file name (SSH)",
|
" --pubkey <key> Public key file name (SSH)",
|
||||||
" -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)",
|
" -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)",
|
||||||
@ -1681,6 +1683,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
{"$6", "socks5-gssapi-service", TRUE},
|
{"$6", "socks5-gssapi-service", TRUE},
|
||||||
{"$7", "socks5-gssapi-nec", FALSE},
|
{"$7", "socks5-gssapi-nec", FALSE},
|
||||||
#endif
|
#endif
|
||||||
|
{"$8", "proxy1.0", TRUE},
|
||||||
|
|
||||||
{"0", "http1.0", FALSE},
|
{"0", "http1.0", FALSE},
|
||||||
{"1", "tlsv1", FALSE},
|
{"1", "tlsv1", FALSE},
|
||||||
@ -2202,6 +2205,11 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
config->socks5_gssapi_nec = TRUE;
|
config->socks5_gssapi_nec = TRUE;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case '8': /* --proxy1.0 */
|
||||||
|
/* http 1.0 proxy */
|
||||||
|
GetStr(&config->proxy, nextarg);
|
||||||
|
config->proxyver = CURLPROXY_HTTP_1_0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '#': /* --progress-bar */
|
case '#': /* --progress-bar */
|
||||||
@ -2887,6 +2895,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
case 'x':
|
case 'x':
|
||||||
/* proxy */
|
/* proxy */
|
||||||
GetStr(&config->proxy, nextarg);
|
GetStr(&config->proxy, nextarg);
|
||||||
|
config->proxyver = CURLPROXY_HTTP;
|
||||||
break;
|
break;
|
||||||
case 'X':
|
case 'X':
|
||||||
/* set custom request */
|
/* set custom request */
|
||||||
@ -4567,6 +4576,8 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||||||
my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
|
my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
|
||||||
my_setopt(curl, CURLOPT_URL, url); /* what to fetch */
|
my_setopt(curl, CURLOPT_URL, url); /* what to fetch */
|
||||||
my_setopt(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */
|
my_setopt(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */
|
||||||
|
if(config->proxy)
|
||||||
|
my_setopt(curl, CURLOPT_PROXYTYPE, config->proxyver);
|
||||||
my_setopt(curl, CURLOPT_NOPROGRESS, config->noprogress);
|
my_setopt(curl, CURLOPT_NOPROGRESS, config->noprogress);
|
||||||
if(config->no_body) {
|
if(config->no_body) {
|
||||||
my_setopt(curl, CURLOPT_NOBODY, 1);
|
my_setopt(curl, CURLOPT_NOBODY, 1);
|
||||||
|
@ -102,12 +102,12 @@ http://test.remote.server.com:1008/path/10080002 --proxy http://%HOSTIP:%HTTPPOR
|
|||||||
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
||||||
</strippart>
|
</strippart>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:1008 HTTP/1.0
|
CONNECT test.remote.server.com:1008 HTTP/1.1
|
||||||
Host: test.remote.server.com:1008
|
Host: test.remote.server.com:1008
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:1008 HTTP/1.0
|
CONNECT test.remote.server.com:1008 HTTP/1.1
|
||||||
Host: test.remote.server.com:1008
|
Host: test.remote.server.com:1008
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -111,16 +111,16 @@ http://test.remote.server.com:1021/path/10210002 --proxy http://%HOSTIP:%HTTPPOR
|
|||||||
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
||||||
</strippart>
|
</strippart>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:1021 HTTP/1.0
|
CONNECT test.remote.server.com:1021 HTTP/1.1
|
||||||
Host: test.remote.server.com:1021
|
Host: test.remote.server.com:1021
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:1021 HTTP/1.0
|
CONNECT test.remote.server.com:1021 HTTP/1.1
|
||||||
Host: test.remote.server.com:1021
|
Host: test.remote.server.com:1021
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:1021 HTTP/1.0
|
CONNECT test.remote.server.com:1021 HTTP/1.1
|
||||||
Host: test.remote.server.com:1021
|
Host: test.remote.server.com:1021
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -49,7 +49,7 @@ ftp://test-number:1059/wanted/page -p -x %HOSTIP:%HTTPPORT
|
|||||||
^User-Agent:.*
|
^User-Agent:.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test-number:1059 HTTP/1.0
|
CONNECT test-number:1059 HTTP/1.1
|
||||||
Host: test-number:1059
|
Host: test-number:1059
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
|
@ -884,11 +884,11 @@ http://test.remote.server.com:1060/path/10600002 --proxy http://%HOSTIP:%HTTPPOR
|
|||||||
^User-Agent: curl/.*
|
^User-Agent: curl/.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:1060 HTTP/1.0
|
CONNECT test.remote.server.com:1060 HTTP/1.1
|
||||||
Host: test.remote.server.com:1060
|
Host: test.remote.server.com:1060
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:1060 HTTP/1.0
|
CONNECT test.remote.server.com:1060 HTTP/1.1
|
||||||
Host: test.remote.server.com:1060
|
Host: test.remote.server.com:1060
|
||||||
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1060", response="b527d164630481e2cc48c04d18ed2212"
|
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1060", response="b527d164630481e2cc48c04d18ed2212"
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -889,11 +889,11 @@ http://test.remote.server.com:1061/path/10610002 --proxy http://%HOSTIP:%HTTPPOR
|
|||||||
^User-Agent: curl/.*
|
^User-Agent: curl/.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:1061 HTTP/1.0
|
CONNECT test.remote.server.com:1061 HTTP/1.1
|
||||||
Host: test.remote.server.com:1061
|
Host: test.remote.server.com:1061
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:1061 HTTP/1.0
|
CONNECT test.remote.server.com:1061 HTTP/1.1
|
||||||
Host: test.remote.server.com:1061
|
Host: test.remote.server.com:1061
|
||||||
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1061", response="244a8caab5f343a1a20d2425e4d6e951"
|
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1061", response="244a8caab5f343a1a20d2425e4d6e951"
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -33,10 +33,10 @@ contents
|
|||||||
http
|
http
|
||||||
</server>
|
</server>
|
||||||
<name>
|
<name>
|
||||||
HTTP CONNECT with proxytunnel and downgrade to HTTP/1.0
|
HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0
|
||||||
</name>
|
</name>
|
||||||
<command>
|
<command>
|
||||||
-x %HOSTIP:%HTTPPORT -p http://%HOSTIP:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP:%HTTPPORT/we/want/that/page/1078
|
--proxy1.0 %HOSTIP:%HTTPPORT -p http://%HOSTIP:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP:%HTTPPORT/we/want/that/page/1078
|
||||||
</command>
|
</command>
|
||||||
</client>
|
</client>
|
||||||
|
|
||||||
|
@ -81,11 +81,11 @@ http://test.remote.server.com:206/path/2060002 --proxy http://%HOSTIP:%HTTPPORT
|
|||||||
^User-Agent: curl/.*
|
^User-Agent: curl/.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:206 HTTP/1.0
|
CONNECT test.remote.server.com:206 HTTP/1.1
|
||||||
Host: test.remote.server.com:206
|
Host: test.remote.server.com:206
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:206 HTTP/1.0
|
CONNECT test.remote.server.com:206 HTTP/1.1
|
||||||
Host: test.remote.server.com:206
|
Host: test.remote.server.com:206
|
||||||
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:206", response="5059a96c954981ceb94e17d667c8d3f8"
|
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:206", response="5059a96c954981ceb94e17d667c8d3f8"
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -95,12 +95,12 @@ http://test.remote.server.com:209/path/2090002 --proxy http://%HOSTIP:%HTTPPORT
|
|||||||
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
||||||
</strippart>
|
</strippart>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:209 HTTP/1.0
|
CONNECT test.remote.server.com:209 HTTP/1.1
|
||||||
Host: test.remote.server.com:209
|
Host: test.remote.server.com:209
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:209 HTTP/1.0
|
CONNECT test.remote.server.com:209 HTTP/1.1
|
||||||
Host: test.remote.server.com:209
|
Host: test.remote.server.com:209
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -77,10 +77,10 @@ http
|
|||||||
NTLM
|
NTLM
|
||||||
</features>
|
</features>
|
||||||
<name>
|
<name>
|
||||||
HTTP proxy CONNECT auth NTLM and then POST
|
HTTP 1.0 proxy CONNECT auth NTLM and then POST
|
||||||
</name>
|
</name>
|
||||||
<command>
|
<command>
|
||||||
http://test.remote.server.com:213/path/2130002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit"
|
http://test.remote.server.com:213/path/2130002 --proxy1.0 http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit"
|
||||||
</command>
|
</command>
|
||||||
</client>
|
</client>
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ http://test.remote.server.com:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT
|
|||||||
^User-Agent: curl/.*
|
^User-Agent: curl/.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:217 HTTP/1.0
|
CONNECT test.remote.server.com:217 HTTP/1.1
|
||||||
Host: test.remote.server.com:217
|
Host: test.remote.server.com:217
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
|
@ -98,12 +98,12 @@ http://test.remote.server.com:265/path/2650002 --proxy http://%HOSTIP:%HTTPPORT
|
|||||||
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
|
||||||
</strippart>
|
</strippart>
|
||||||
<protocol nonewline="yes">
|
<protocol nonewline="yes">
|
||||||
CONNECT test.remote.server.com:265 HTTP/1.0
|
CONNECT test.remote.server.com:265 HTTP/1.1
|
||||||
Host: test.remote.server.com:265
|
Host: test.remote.server.com:265
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
|
||||||
CONNECT test.remote.server.com:265 HTTP/1.0
|
CONNECT test.remote.server.com:265 HTTP/1.1
|
||||||
Host: test.remote.server.com:265
|
Host: test.remote.server.com:265
|
||||||
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -57,7 +57,7 @@ http://remotesite.com/we/want/that/page/275 -p -x %HOSTIP:%HTTPPORT --user iam:m
|
|||||||
^User-Agent:.*
|
^User-Agent:.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT remotesite.com:80 HTTP/1.0
|
CONNECT remotesite.com:80 HTTP/1.1
|
||||||
Host: remotesite.com:80
|
Host: remotesite.com:80
|
||||||
Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
|
Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
|
||||||
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
||||||
|
@ -36,7 +36,7 @@ http://test.remote.server.com:287/path/287 -H "User-Agent: looser/2007" --proxy
|
|||||||
# Verify data after the test has been "shot"
|
# Verify data after the test has been "shot"
|
||||||
<verify>
|
<verify>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT test.remote.server.com:287 HTTP/1.0
|
CONNECT test.remote.server.com:287 HTTP/1.1
|
||||||
Host: test.remote.server.com:287
|
Host: test.remote.server.com:287
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
User-Agent: looser/2007
|
User-Agent: looser/2007
|
||||||
|
@ -61,7 +61,7 @@ moo
|
|||||||
# Verify data after the test has been "shot"
|
# Verify data after the test has been "shot"
|
||||||
<verify>
|
<verify>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT %HOSTIP:%HTTPSPORT HTTP/1.0
|
CONNECT %HOSTIP:%HTTPSPORT HTTP/1.1
|
||||||
Host: %HOSTIP:%HTTPSPORT
|
Host: %HOSTIP:%HTTPSPORT
|
||||||
Proxy-Authorization: Basic dGVzdDppbmc=
|
Proxy-Authorization: Basic dGVzdDppbmc=
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -45,10 +45,10 @@ contents
|
|||||||
http
|
http
|
||||||
</server>
|
</server>
|
||||||
<name>
|
<name>
|
||||||
HTTP CONNECT with proxytunnel and host Basic authentication
|
HTTP 1.0 CONNECT with proxytunnel and host Basic authentication
|
||||||
</name>
|
</name>
|
||||||
<command>
|
<command>
|
||||||
http://%HOSTIP:%HTTPPORT/we/want/that/page/80 -p -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself
|
http://%HOSTIP:%HTTPPORT/we/want/that/page/80 -p --proxy1.0 %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself
|
||||||
</command>
|
</command>
|
||||||
</client>
|
</client>
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%HTTPPORT --user iam
|
|||||||
^User-Agent:.*
|
^User-Agent:.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol>
|
<protocol>
|
||||||
CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
|
CONNECT %HOSTIP:%HTTPPORT HTTP/1.1
|
||||||
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
||||||
Host: %HOSTIP:%HTTPPORT
|
Host: %HOSTIP:%HTTPPORT
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
@ -31,10 +31,10 @@ http
|
|||||||
SSL
|
SSL
|
||||||
</features>
|
</features>
|
||||||
<name>
|
<name>
|
||||||
HTTPS GET with failed proxy auth
|
HTTPS GET with failed proxy auth (CONNECT 1.0)
|
||||||
</name>
|
</name>
|
||||||
<command>
|
<command>
|
||||||
https://test.anything.really.com:94 -x %HOSTIP:%HTTPPORT
|
https://test.anything.really.com:94 --proxy1.0 %HOSTIP:%HTTPPORT
|
||||||
</command>
|
</command>
|
||||||
</client>
|
</client>
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ http://%HOSTIP:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%HTTPPORT -d "datato
|
|||||||
^User-Agent:.*
|
^User-Agent:.*
|
||||||
</strip>
|
</strip>
|
||||||
<protocol nonewline="yes">
|
<protocol nonewline="yes">
|
||||||
CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
|
CONNECT %HOSTIP:%HTTPPORT HTTP/1.1
|
||||||
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
|
||||||
Host: %HOSTIP:%HTTPPORT
|
Host: %HOSTIP:%HTTPPORT
|
||||||
Proxy-Connection: Keep-Alive
|
Proxy-Connection: Keep-Alive
|
||||||
|
Loading…
x
Reference in New Issue
Block a user