mirror of
https://github.com/curl/curl.git
synced 2024-12-03 06:20:31 +08:00
5ba188ab2d
requested data from a host and then followed a redirect to another host. libcurl then didn't use the proxy-auth properly in the second request, due to the host-only check for original host name wrongly being extended to the proxy auth as well. Added test case 233 to verify the flaw and that the fix removed the problem.
82 lines
1.5 KiB
Plaintext
82 lines
1.5 KiB
Plaintext
#
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
HTTP/1.1 302 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Location: http://goto.second.host.now/2330002
|
|
Content-Length: 8
|
|
Connection: close
|
|
|
|
contents
|
|
</data>
|
|
<data2>
|
|
HTTP/1.1 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
|
|
contents
|
|
</data2>
|
|
|
|
<datacheck>
|
|
HTTP/1.1 302 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Location: http://goto.second.host.now/2330002
|
|
Content-Length: 8
|
|
Connection: close
|
|
|
|
HTTP/1.1 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
|
|
contents
|
|
</datacheck>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP, proxy, site+proxy auth and Location: to new host
|
|
</name>
|
|
<command>
|
|
http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<protocol>
|
|
GET http://first.host.it.is/we/want/that/page/233 HTTP/1.1
|
|
Proxy-Authorization: Basic dGVzdGluZzp0aGlz
|
|
Authorization: Basic aWFtOm15c2VsZg==
|
|
Host: first.host.it.is
|
|
Pragma: no-cache
|
|
Accept: */*
|
|
|
|
GET http://goto.second.host.now/2330002 HTTP/1.1
|
|
Proxy-Authorization: Basic dGVzdGluZzp0aGlz
|
|
Host: goto.second.host.now
|
|
Pragma: no-cache
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
</verify>
|