diff --git a/CHANGES b/CHANGES index cd08f7dd7210717721a2f48da5fd9eb4f42fb907..1528e61f2637eb2f870835a30a09a8fb2145260d 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,15 @@ 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 diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index beb3a5c5707b7b07cdcfe46a77aed61524d6cc3e..5c9426b4029102088a4dc13b7774e5d7942992cb 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -59,7 +59,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ 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; \ diff --git a/tests/data/test1087 b/tests/data/test1087 new file mode 100644 index 0000000000000000000000000000000000000000..d3bec0c84d73024c1f53166bc448e275d1216b50 --- /dev/null +++ b/tests/data/test1087 @@ -0,0 +1,110 @@ +<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 +WWW-Authenticate: Basic +Content-Type: text/plain +Content-Length: 0 + +</data1000> +<data1001 nocheck="yes"> +HTTP/1.1 302 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Location: http://goto.second.host.now/10871002 +Content-Length: 0 +Connection: close + +</data1001> +<data1002 nocheck="yes"> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Content-Length: 9 + +contents +</data1002> + +<datacheck> +HTTP/1.1 401 Authorization Required +WWW-Authenticate: Basic +Content-Type: text/plain +Content-Length: 0 + +HTTP/1.1 302 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Location: http://goto.second.host.now/10871002 +Content-Length: 0 +Connection: close + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Content-Length: 9 + +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 +Host: first.host.it.is +Accept: */* +Proxy-Connection: Keep-Alive + +GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1 +Authorization: Basic aWFtOm15c2VsZg== +Host: first.host.it.is +Accept: */* +Proxy-Connection: Keep-Alive + +GET http://goto.second.host.now/10871002 HTTP/1.1 +Host: goto.second.host.now +Accept: */* +Proxy-Connection: Keep-Alive + +</protocol> +</verify> +</testcase> diff --git a/tests/data/test1088 b/tests/data/test1088 new file mode 100644 index 0000000000000000000000000000000000000000..13e7d03cb4e68ed1902f8134b15295180bfa4785 --- /dev/null +++ b/tests/data/test1088 @@ -0,0 +1,112 @@ +<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 +WWW-Authenticate: Basic +Content-Type: text/plain +Content-Length: 0 + +</data1000> +<data1001 nocheck="yes"> +HTTP/1.1 302 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Location: http://goto.second.host.now/10881002 +Content-Length: 0 +Connection: close + +</data1001> +<data1003 nocheck="yes"> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Content-Length: 9 + +contents +</data1003> + +<datacheck> +HTTP/1.1 401 Authorization Required +WWW-Authenticate: Basic +Content-Type: text/plain +Content-Length: 0 + +HTTP/1.1 302 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Location: http://goto.second.host.now/10881002 +Content-Length: 0 +Connection: close + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake swsclose +Content-Type: text/plain +Funny-head: yesyes +Content-Length: 9 + +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 +Host: first.host.it.is +Accept: */* +Proxy-Connection: Keep-Alive + +GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1 +Authorization: Basic aWFtOm15c2VsZg== +Host: first.host.it.is +Accept: */* +Proxy-Connection: Keep-Alive + +GET http://goto.second.host.now/10881002 HTTP/1.1 +Authorization: Basic aWFtOm15c2VsZg== +Host: goto.second.host.now +Accept: */* +Proxy-Connection: Keep-Alive + +</protocol> +</verify> +</testcase> diff --git a/tests/data/test234 b/tests/data/test234 index 1f4f35d3c0b1d03befe76a0e0fd2475ed0764a94..d8c708109138b622fb25f085a8b1e0c531ebba7a 100644 --- a/tests/data/test234 +++ b/tests/data/test234 @@ -6,6 +6,7 @@ HTTP GET HTTP proxy HTTP proxy Basic auth followlocation +--location-trusted </keywords> </info>