1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP POST 6HTTP Digest auth 7</keywords> 8</info> 9 10# Server-side 11<reply> 12<data> 13HTTP/1.1 401 authentication please swsbounce 14Server: Microsoft-IIS/6.0 15WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256" 16Content-Type: text/html; charset=iso-8859-1 17Content-Length: 0 18 19</data> 20<data1000> 21HTTP/1.1 200 A OK 22Server: Microsoft-IIS/6.0 23Content-Type: text/html; charset=iso-8859-1 24Content-Length: 3 25 26ok 27</data1000> 28 29<datacheck> 30HTTP/1.1 401 authentication please swsbounce 31Server: Microsoft-IIS/6.0 32WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256" 33Content-Type: text/html; charset=iso-8859-1 34Content-Length: 0 35 36HTTP/1.1 200 A OK 37Server: Microsoft-IIS/6.0 38Content-Type: text/html; charset=iso-8859-1 39Content-Length: 3 40 41ok 42</datacheck> 43 44</reply> 45 46# Client-side 47<client> 48# 49<server> 50http 51</server> 52<features> 53!SSPI 54crypto 55</features> 56<name> 57HTTP POST --digest with SHA-512-256, userhash=false and user-specified Content-Length header 58</name> 59# This test is to ensure 'Content-Length: 0' is sent while negotiating auth 60# even when there is a user-specified Content-Length header. 61# https://github.com/curl/curl/pull/1242 62<command> 63-H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/2068 64</command> 65</client> 66 67# Verify data after the test has been "shot" 68<verify> 69<strip> 70^User-Agent:.* 71</strip> 72<protocol nonewline="yes"> 73POST /2068 HTTP/1.1 74Host: %HOSTIP:%HTTPPORT 75Accept: */* 76Content-Length: 0 77Content-Type: application/x-www-form-urlencoded 78 79POST /2068 HTTP/1.1 80Host: %HOSTIP:%HTTPPORT 81Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/2068", response="4bc9c97a72f1856bcec9b0e1518c6b7ee28773f91357d56840bdc30bd89ca68f", algorithm="SHA-512-256" 82Accept: */* 83Content-Length: 11 84Content-Type: application/x-www-form-urlencoded 85 86junkelijunk 87</protocol> 88</verify> 89</testcase> 90