Changelog
+Daniel Fandrich (25 Nov 2008)
+- If a HTTP request is Basic and num is already >=1000, the HTTP test
+ server adds 1 to num to get the data section to return. This allows
+ testing authentication negotiations using the Basic authentication
+ method.
+
+- Added tests 1087 and 1088 to test Basic authentication on a redirect
+ with and without --location-trusted
+
Daniel Stenberg (24 Nov 2008)
- Based on a patch by Vlad Grachov, libcurl now uses a new libssh2 0.19
function when built to support SCP and SFTP that helps the library to know
test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \
test1080 test1081 test1082 test1083 test1084 test1085 test633 test634 \
- test635 test636 test637 test558 test559 test1086
+ test635 test636 test637 test558 test559 test1086 test1087 test1088
filecheck:
@mkdir test-place; \
--- /dev/null
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP proxy
+HTTP Basic auth
+HTTP proxy Basic auth
+followlocation
+--anyauth
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data1000 nocheck="yes">
+HTTP/1.1 401 Authorization Required\r
+WWW-Authenticate: Basic\r
+Content-Type: text/plain\r
+Content-Length: 0\r
+\r
+</data1000>
+<data1001 nocheck="yes">
+HTTP/1.1 302 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Location: http://goto.second.host.now/10871002\r
+Content-Length: 0\r
+Connection: close\r
+\r
+</data1001>
+<data1002 nocheck="yes">
+HTTP/1.1 200 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Content-Length: 9\r
+\r
+contents
+</data1002>
+
+<datacheck>
+HTTP/1.1 401 Authorization Required\r
+WWW-Authenticate: Basic\r
+Content-Type: text/plain\r
+Content-Length: 0\r
+\r
+HTTP/1.1 302 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Location: http://goto.second.host.now/10871002\r
+Content-Length: 0\r
+Connection: close\r
+\r
+HTTP/1.1 200 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Content-Length: 9\r
+\r
+contents
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP, proxy with --anyauth and Location: to new host
+ </name>
+ <command>
+http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth
+</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/10871000 HTTP/1.1\r
+Host: first.host.it.is\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1\r
+Authorization: Basic aWFtOm15c2VsZg==\r
+Host: first.host.it.is\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+GET http://goto.second.host.now/10871002 HTTP/1.1\r
+Host: goto.second.host.now\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+</protocol>
+</verify>
+</testcase>
--- /dev/null
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP proxy
+HTTP Basic auth
+HTTP proxy Basic auth
+followlocation
+--anyauth
+--location-trusted
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data1000 nocheck="yes">
+HTTP/1.1 401 Authorization Required\r
+WWW-Authenticate: Basic\r
+Content-Type: text/plain\r
+Content-Length: 0\r
+\r
+</data1000>
+<data1001 nocheck="yes">
+HTTP/1.1 302 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Location: http://goto.second.host.now/10881002\r
+Content-Length: 0\r
+Connection: close\r
+\r
+</data1001>
+<data1003 nocheck="yes">
+HTTP/1.1 200 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Content-Length: 9\r
+\r
+contents
+</data1003>
+
+<datacheck>
+HTTP/1.1 401 Authorization Required\r
+WWW-Authenticate: Basic\r
+Content-Type: text/plain\r
+Content-Length: 0\r
+\r
+HTTP/1.1 302 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Location: http://goto.second.host.now/10881002\r
+Content-Length: 0\r
+Connection: close\r
+\r
+HTTP/1.1 200 OK\r
+Date: Thu, 09 Nov 2010 14:49:00 GMT\r
+Server: test-server/fake swsclose\r
+Content-Type: text/plain\r
+Funny-head: yesyes\r
+Content-Length: 9\r
+\r
+contents
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP, proxy with --anyauth and Location: to new host using location-trusted
+ </name>
+ <command>
+http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth
+</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/10881000 HTTP/1.1\r
+Host: first.host.it.is\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1\r
+Authorization: Basic aWFtOm15c2VsZg==\r
+Host: first.host.it.is\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+GET http://goto.second.host.now/10881002 HTTP/1.1\r
+Authorization: Basic aWFtOm15c2VsZg==\r
+Host: goto.second.host.now\r
+Accept: */*\r
+Proxy-Connection: Keep-Alive\r
+\r
+</protocol>
+</verify>
+</testcase>
HTTP proxy
HTTP proxy Basic auth
followlocation
+--location-trusted
</keywords>
</info>