<testcase> <info> <keywords> HTTP HTTP GET HTTP proxy HTTP proxy Digest auth HTTP Digest auth </keywords> </info> # Server-side <reply> # this is returned first since we get no proxy-auth <data> 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. </data> # then this is returned since we get no server-auth <data1000> 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 </data1000> <data1001> HTTP/1.1 200 OK swsclose Server: no Content-Length: 15 Nice auth sir! </data1001> <datacheck> 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 Content-Length: 15 Nice auth sir! </datacheck> </reply> # Client-side <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP with proxy-requiring-Digest to site-requiring-Digest </name> <command> http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> <protocol> GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 Host: data.from.server.requiring.digest.hohoho.com 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 Accept: */* Proxy-Connection: Keep-Alive GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 Host: data.from.server.requiring.digest.hohoho.com Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976" 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 Accept: */* Proxy-Connection: Keep-Alive GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1 Host: data.from.server.requiring.digest.hohoho.com Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976" 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 Accept: */* Proxy-Connection: Keep-Alive </protocol> </verify> </testcase>