1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP GET 6 HTTP proxy 7 HTTP proxy Digest auth 8 HTTP Digest auth 9 </keywords> 10 </info> 11 12 # Server-side 13 <reply> 14 15 # this is returned first since we get no proxy-auth 16 <data> 17 HTTP/1.1 407 Authorization Required to proxy me my dear swsclose 18 Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" 19 20 And you should ignore this data. 21 </data> 22 23 # then this is returned since we get no server-auth 24 <data1000> 25 HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose 26 WWW-Authenticate: Digest realm="realmweirdo", nonce="123456" 27 28 you should ignore this data too 29 </data1000> 30 31 <data1001> 32 HTTP/1.1 200 OK swsclose 33 Server: no 34 Content-Length: 15 35 36 Nice auth sir! 37 </data1001> 38 39 <datacheck> 40 HTTP/1.1 407 Authorization Required to proxy me my dear swsclose 41 Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" 42 43 HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose 44 WWW-Authenticate: Digest realm="realmweirdo", nonce="123456" 45 46 HTTP/1.1 200 OK swsclose 47 Server: no 48 Content-Length: 15 49 50 Nice auth sir! 51 </datacheck> 52 </reply> 53 54 # Client-side 55 <client> 56 <server> 57 http 58 </server> 59 <features> 60 !SSPI 61 crypto 62 </features> 63 <name> 64 HTTP with proxy-requiring-Digest to site-requiring-Digest 65 </name> 66 <command> 67 http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot 68 </command> 69 </client> 70 71 # Verify data after the test has been "shot" 72 <verify> 73 <strip> 74 ^User-Agent: curl/.* 75 </strip> 76 <protocol> 77 GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 78 Host: data.from.server.requiring.digest.hohoho.com 79 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 80 Accept: */* 81 82 GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 83 Host: data.from.server.requiring.digest.hohoho.com 84 Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976" 85 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 86 Accept: */* 87 88 GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 89 Host: data.from.server.requiring.digest.hohoho.com 90 Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976" 91 Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/168", response="ca87f2d768a231e2d637a55698d5c416" 92 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 93 Accept: */* 94 95 </protocol> 96 </verify> 97 </testcase> 98