From fc6eff13b5414caf6edf22d73a3239e074a04216 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 4 May 2004 07:52:53 +0000 Subject: General HTTP authentication cleanup and fixes --- tests/data/Makefile.am | 41 ++++++++++--------- tests/data/test16 | 2 +- tests/data/test167 | 62 ++++++++++++++++++++++++++++ tests/data/test168 | 82 +++++++++++++++++++++++++++++++++++++ tests/data/test169 | 107 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/data/test503 | 2 +- tests/data/test63 | 2 +- tests/data/test80 | 2 +- tests/data/test82 | 2 +- tests/data/test85 | 2 +- 10 files changed, 278 insertions(+), 26 deletions(-) create mode 100644 tests/data/test167 create mode 100644 tests/data/test168 create mode 100644 tests/data/test169 (limited to 'tests/data') diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 3e3749aad..69d71d388 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -3,26 +3,27 @@ install: test: EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ -test10 test109 test118 test13 test200 test28 test36 test47 test100 \ -test11 test119 test14 test201 test29 test37 test5 test101 test110 \ -test12 test15 test202 test3 test4 test6 test102 test111 test120 test16 \ -test21 test30 test7 test103 test112 test121 test17 test22 test300 \ -test8 test104 test113 test122 test18 test23 test301 test9 test105 \ -test114 test123 test19 test24 test302 test43 test31 test106 test115 \ -test124 test190 test25 test303 test44 test38 test107 test116 test125 \ -test2 test26 test33 test45 test126 test304 test39 test32 test128 \ -test48 test306 test130 test131 test132 test133 test134 test135 test305 \ -test49 test50 test51 test52 test53 test54 test55 test56 test500 \ -test501 test502 test503 test504 test136 test57 test137 test138 test58 \ -test139 test140 test141 test59 test60 test61 test142 test143 test62 \ -test63 test64 test65 test66 test144 test145 test67 test68 test41 \ -test40 test42 test69 test70 test71 test72 test73 test146 test505 \ -test74 test75 test76 test77 test78 test147 test148 test506 test79 \ -test80 test81 test82 test83 test84 test85 test86 test87 test507 \ -test149 test88 test89 test90 test508 test91 test92 test203 test93 \ -test94 test95 test509 test510 test97 test98 test99 test150 test151 \ -test152 test153 test154 test155 test156 test157 test158 test159 test511 \ -test160 test161 test162 test163 test164 test512 test165 test166 + test10 test109 test118 test13 test200 test28 test36 test47 test100 \ + test11 test119 test14 test201 test29 test37 test5 test101 test110 \ + test12 test15 test202 test3 test4 test6 test102 test111 test120 \ + test16 test21 test30 test7 test103 test112 test121 test17 test22 \ + test300 test8 test104 test113 test122 test18 test23 test301 test9 \ + test105 test114 test123 test19 test24 test302 test43 test31 test106 \ + test115 test124 test190 test25 test303 test44 test38 test107 test116 \ + test125 test2 test26 test33 test45 test126 test304 test39 test32 \ + test128 test48 test306 test130 test131 test132 test133 test134 \ + test135 test305 test49 test50 test51 test52 test53 test54 test55 \ + test56 test500 test501 test502 test503 test504 test136 test57 test137 \ + test138 test58 test139 test140 test141 test59 test60 test61 test142 \ + test143 test62 test63 test64 test65 test66 test144 test145 test67 \ + test68 test41 test40 test42 test69 test70 test71 test72 test73 \ + test146 test505 test74 test75 test76 test77 test78 test147 test148 \ + test506 test79 test80 test81 test82 test83 test84 test85 test86 \ + test87 test507 test149 test88 test89 test90 test508 test91 test92 \ + test203 test93 test94 test95 test509 test510 test97 test98 test99 \ + test150 test151 test152 test153 test154 test155 test156 test157 \ + test158 test159 test511 test160 test161 test162 test163 test164 \ + test512 test165 test166 test167 test168 test169 # The following tests have been removed from the dist since they no longer # work. We need to fix the test suite's FTPS server first, then bring them diff --git a/tests/data/test16 b/tests/data/test16 index 9e30ce8bf..4adea4a8d 100644 --- a/tests/data/test16 +++ b/tests/data/test16 @@ -32,7 +32,7 @@ HTTP with proxy athorization GET http://we.want.that.site.com/16 HTTP/1.1 -Proxy-authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw== +Proxy-Authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw== Host: we.want.that.site.com Pragma: no-cache Accept: */* diff --git a/tests/data/test167 b/tests/data/test167 new file mode 100644 index 000000000..5dda8770a --- /dev/null +++ b/tests/data/test167 @@ -0,0 +1,62 @@ +# Server-side + + +HTTP/1.1 401 Authorization Required swsclose +WWW-Authenticate: Digest realm="weirdorealm", nonce="12345" + + + + +HTTP/1.1 200 OK swsclose +Server: no + +Nice auth sir! + + + +HTTP/1.1 401 Authorization Required swsclose +WWW-Authenticate: Digest realm="weirdorealm", nonce="12345" + +HTTP/1.1 200 OK swsclose +Server: no + +Nice auth sir! + + + +# Client-side + + +http + + +HTTP with proxy-requiring-Basic to site-requiring-Digest + + +http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HOSTPORT --proxy-user foo:bar --digest --user digest:alot + + + +# Verify data after the test has been "shot" + + +^User-Agent: curl/.* + + +GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1 +Proxy-Authorization: Basic Zm9vOmJhcg== +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + +GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1 +Proxy-Authorization: Basic Zm9vOmJhcg== +Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/167", response="13c7c02a252cbe1c46d8669898a3be26" +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + + + diff --git a/tests/data/test168 b/tests/data/test168 new file mode 100644 index 000000000..e726b5101 --- /dev/null +++ b/tests/data/test168 @@ -0,0 +1,82 @@ +# Server-side + + +# this is returned first since we get no proxy-auth + +HTTP/1.1 407 Authorization Required to proxy me my dear swsclose +Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" + +And you should ignore this data. + + +# then this is returned since we get no server-auth + +HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose +WWW-Authenticate: Digest realm="realmweirdo", nonce="123456" + +you should ignore this data too + + + +HTTP/1.1 200 OK swsclose +Server: no + +Nice auth sir! + + + +HTTP/1.1 407 Authorization Required to proxy me my dear swsclose +Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" + +HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose +WWW-Authenticate: Digest realm="realmweirdo", nonce="123456" + +HTTP/1.1 200 OK swsclose +Server: no + +Nice auth sir! + + + +# Client-side + + +http + + +HTTP with proxy-requiring-Digest to site-requiring-Digest + + +http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HOSTPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot + + + +# Verify data after the test has been "shot" + + +^User-Agent: curl/.* + + +GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + +GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 +Proxy-Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/168", response="4e79e4fc104ef1f16ab4567e1ad4dede" +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + +GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 +Proxy-Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/168", response="4e79e4fc104ef1f16ab4567e1ad4dede" +Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/168", response="ca87f2d768a231e2d637a55698d5c416" +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + + + diff --git a/tests/data/test169 b/tests/data/test169 new file mode 100644 index 000000000..ddd8e4ce3 --- /dev/null +++ b/tests/data/test169 @@ -0,0 +1,107 @@ +# Server-side + + +# this is returned first since we get no proxy-auth + +HTTP/1.1 407 Authorization Required to proxy me my dear swsclose +Proxy-Authenticate: NTLM + +And you should ignore this data. + + +# then this is returned since we get no server-auth + +HTTP/1.1 200 Authorizated fine +Content-Length: 27 + +Welcome to the end station + + + +HTTP/1.1 407 NTLM type-1 received sending back type-2 +Server: Microsoft-IIS/5.0 +Content-Length: 34 +Content-Type: text/html; charset=iso-8859-1 +Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== + +This is not the real page either! + + +# This is supposed to be returned when the server gets the second +# Authorization: NTLM line passed-in from the client + +HTTP/1.1 401 You now need to authenticate with the host +Server: Microsoft-IIS/5.0 +WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef" +Content-Length: 40 +Content-Type: text/html; charset=iso-8859-1 + +We have not authenticated with the server yet + + + +HTTP/1.1 407 NTLM type-1 received sending back type-2 +Server: Microsoft-IIS/5.0 +Content-Length: 34 +Content-Type: text/html; charset=iso-8859-1 +Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== + +HTTP/1.1 401 You now need to authenticate with the host +Server: Microsoft-IIS/5.0 +WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef" +Content-Length: 40 +Content-Type: text/html; charset=iso-8859-1 + +HTTP/1.1 200 Authorizated fine +Content-Length: 27 + +Welcome to the end station + + + +# Client-side + + +http + +# NTLM only works if we are built with SSL + +SSL + + +HTTP with proxy-requiring-NTLM to site-requiring-Digest + + +http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://%HOSTIP:%HOSTPORT --proxy-user foo:bar --proxy-ntlm --digest --user digest:alot + + + +# Verify data after the test has been "shot" + + +^User-Agent: curl/.* + + +GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1 +Proxy-Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA= +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + +GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1 +Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEMAAAAYABgAWwAAAAAAAABAAAAAAwADAEAAAAAAAAAAQwAAAAAAAABzAAAAAYIAAGZvb4P6B+XVQ6vQsx3DfDXUVhd9436GAxPu0IYcl2Z7LxHmNeOAWQ+vxUmhuCFJBUgXCQ== +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + +GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1 +Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/169", response="95d48591985a03c4b49cb962aa7bd3e6" +User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3 +Host: data.from.server.requiring.digest.hohoho.com +Pragma: no-cache +Accept: */* + + + diff --git a/tests/data/test503 b/tests/data/test503 index 24d55dc55..9f26e2927 100644 --- a/tests/data/test503 +++ b/tests/data/test503 @@ -49,7 +49,7 @@ moo CONNECT 127.0.0.1:8433 HTTP/1.0 -Proxy-authorization: Basic dGVzdDppbmc= +Proxy-Authorization: Basic dGVzdDppbmc= GET /503 HTTP/1.1 Authorization: Basic dGVzdDppbmc= diff --git a/tests/data/test63 b/tests/data/test63 index 3806237e9..ecca6b256 100644 --- a/tests/data/test63 +++ b/tests/data/test63 @@ -32,7 +32,7 @@ http://we.want.that.site.com/63 GET http://we.want.that.site.com/63 HTTP/1.1 -Proxy-authorization: Basic ZmFrZTp1c2Vy +Proxy-Authorization: Basic ZmFrZTp1c2Vy Host: we.want.that.site.com Pragma: no-cache Accept: */* diff --git a/tests/data/test80 b/tests/data/test80 index 21e9bbdac..dd4f0605c 100644 --- a/tests/data/test80 +++ b/tests/data/test80 @@ -45,7 +45,7 @@ http://%HOSTIP:%HOSTPORT/we/want/that/page/80 -p -x %HOSTIP:%HOSTPORT --user iam CONNECT 127.0.0.1:8999 HTTP/1.0 -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 GET /we/want/that/page/80 HTTP/1.1 diff --git a/tests/data/test82 b/tests/data/test82 index fc4e490bd..7b49f89f2 100644 --- a/tests/data/test82 +++ b/tests/data/test82 @@ -35,7 +35,7 @@ http://%HOSTIP:%HOSTPORT/82 --proxy-user testuser:testpass -x http://%HOSTIP:%HO GET http://127.0.0.1:8999/82 HTTP/1.1 -Proxy-authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= +Proxy-Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 Host: 127.0.0.1:8999 Pragma: no-cache diff --git a/tests/data/test85 b/tests/data/test85 index a1fe04365..b5c6e96de 100644 --- a/tests/data/test85 +++ b/tests/data/test85 @@ -34,7 +34,7 @@ http://%HOSTIP:%HOSTPORT/we/want/that/page/85 -x %HOSTIP:%HOSTPORT --user iam:my GET http://127.0.0.1:8999/we/want/that/page/85 HTTP/1.1 -Proxy-authorization: Basic dGVzdGluZzp0aGlz +Proxy-Authorization: Basic dGVzdGluZzp0aGlz Authorization: Basic aWFtOm15c2VsZg== 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: 127.0.0.1:8999 -- cgit v1.2.3