1<testcase> 2# Authorization is used to force curl to realize that the server is 3# speaking HTTP 1.0. The request must be resent with the correct 4# authorization header, but using HTTP 1.0, not 1.1. 5<info> 6<keywords> 7HTTP 8HTTP PUT 9HTTP Digest auth 10--anyauth 11HTTP/1.0 12</keywords> 13</info> 14 15# Server-side 16<reply> 17<data> 18HTTP/1.0 401 Authorization Required swsclose 19Server: testcurl 20WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 21WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 22WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344" 23Content-Type: text/plain 24Content-Length: 35 25Connection: close 26 27Try again on this HTTP 1.0 server! 28</data> 29 30# This is supposed to be returned when the server gets a 31# Authorization: Digest line passed-in from the client 32<data1000> 33HTTP/1.0 200 OK swsclose 34Server: testcurl 35Content-Type: text/plain 36Content-Length: 23 37Connection: close 38 39This IS the real page! 40</data1000> 41 42<datacheck> 43HTTP/1.0 401 Authorization Required swsclose 44Server: testcurl 45WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 46WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 47WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344" 48Content-Type: text/plain 49Content-Length: 35 50Connection: close 51 52HTTP/1.0 200 OK swsclose 53Server: testcurl 54Content-Type: text/plain 55Content-Length: 23 56Connection: close 57 58This IS the real page! 59</datacheck> 60 61</reply> 62 63# Client-side 64<client> 65<server> 66http 67</server> 68<features> 69crypto 70</features> 71 <name> 72Downgraded HTTP PUT to HTTP 1.0 with authorization 73 </name> 74 <command> 75http://%HOSTIP:%HTTPPORT/1071 -T log/put1071 -u testuser:testpass --anyauth 76</command> 77<file name="log/put1071"> 78This is data we upload with PUT 79a second line 80line three 81four is the number of lines 82</file> 83</client> 84 85# Verify data after the test has been "shot" 86<verify> 87<strip> 88^User-Agent:.* 89</strip> 90<protocol> 91PUT /1071 HTTP/1.1 92Host: %HOSTIP:%HTTPPORT 93Accept: */* 94Content-Length: 85 95Expect: 100-continue 96 97This is data we upload with PUT 98a second line 99line three 100four is the number of lines 101PUT /1071 HTTP/1.0 102Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1071", response="df4cef6b52a30e65d472dd848d2055a1" 103Host: %HOSTIP:%HTTPPORT 104Accept: */* 105Content-Length: 85 106 107This is data we upload with PUT 108a second line 109line three 110four is the number of lines 111</protocol> 112</verify> 113</testcase> 114