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