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-256", userhash=true 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-256", userhash=true 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-256, userhash=true 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/%TESTNUMBER 64</command> 65</client> 66 67# Verify data after the test has been "shot" 68<verify> 69<protocol nonewline="yes"> 70POST /%TESTNUMBER HTTP/1.1 71Host: %HOSTIP:%HTTPPORT 72User-Agent: curl/%VERSION 73Accept: */* 74Content-Length: 0 75Content-Type: application/x-www-form-urlencoded 76 77POST /%TESTNUMBER HTTP/1.1 78Host: %HOSTIP:%HTTPPORT 79Authorization: Digest username="fddc3bc7b753b73ab0848fd83cb20cbbca971258eb8d20c941dd5e0b010d66be", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER", response="9a29f1dab407e62daa7121185f9f12db6177415e03f35d9a881550095a83378d", algorithm=SHA-256, userhash=true 80User-Agent: curl/%VERSION 81Accept: */* 82Content-Length: 11 83Content-Type: application/x-www-form-urlencoded 84 85junkelijunk 86</protocol> 87</verify> 88</testcase> 89