diff options
-rw-r--r-- | CHANGES | 9 | ||||
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test1087 | 110 | ||||
-rw-r--r-- | tests/data/test1088 | 112 | ||||
-rw-r--r-- | tests/data/test234 | 1 |
5 files changed, 233 insertions, 1 deletions
@@ -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 beb3a5c57..5c9426b40 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 000000000..d3bec0c84 --- /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 000000000..13e7d03cb --- /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 1f4f35d3c..d8c708109 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> |