<testcase> <info> <keywords> HTTP HTTP POST HTTP Digest auth </keywords> </info> # Server-side <reply> <data> HTTP/1.1 401 authentication please swsbounce Server: Microsoft-IIS/6.0 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256", userhash=true Content-Type: text/html; charset=iso-8859-1 Content-Length: 0 </data> <data1000> HTTP/1.1 200 A OK Server: Microsoft-IIS/6.0 Content-Type: text/html; charset=iso-8859-1 Content-Length: 3 ok </data1000> <datacheck> HTTP/1.1 401 authentication please swsbounce Server: Microsoft-IIS/6.0 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256", userhash=true Content-Type: text/html; charset=iso-8859-1 Content-Length: 0 HTTP/1.1 200 A OK Server: Microsoft-IIS/6.0 Content-Type: text/html; charset=iso-8859-1 Content-Length: 3 ok </datacheck> </reply> # Client-side <client> # <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST --digest with SHA-512-256, userhash=true and user-specified Content-Length header </name> # This test is to ensure 'Content-Length: 0' is sent while negotiating auth # even when there is a user-specified Content-Length header. # https://github.com/curl/curl/pull/1242 <command> -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/2069 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol nonewline="yes"> POST /2069 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Content-Length: 0 Content-Type: application/x-www-form-urlencoded POST /2069 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="fddc3bc7b753b73ab0848fd83cb20cbbca971258eb8d20c941dd5e0b010d66be", realm="testrealm", nonce="1053604144", uri="/2069", response="ff13d977110a471f30de75e747976e4de78d7a3d2425cd23ff46e67f4bc9ead7", algorithm="SHA-512-256", userhash=true Accept: */* Content-Length: 11 Content-Type: application/x-www-form-urlencoded junkelijunk </protocol> </verify> </testcase>