1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP PUT 6HTTP NTLM auth 7</keywords> 8</info> 9 10# Server-side 11<reply> 12<servercmd> 13auth_required 14</servercmd> 15<data> 16HTTP/1.1 401 NTLM Authorization Required swsclose 17Server: Apache/1.3.27 (Darwin) PHP/4.1.2 18WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 19WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 20WWW-Authenticate: NTLM 21Content-Type: text/html; charset=iso-8859-1 22Connection: close 23 24moo 25</data> 26 27# This is supposed to be returned when the server gets a first 28# Authorization: NTLM line passed-in from the client 29<data1001> 30HTTP/1.1 401 Type-1 received, send back type-2 31Server: Microsoft-IIS/5.0 32Content-Length: 34 33Content-Type: text/html; charset=iso-8859-1 34WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 35 36This is not the real page either! 37</data1001> 38 39# This is supposed to be returned when the server gets the second 40# Authorization: NTLM line passed-in from the client 41<data1002> 42HTTP/1.1 200 Type-3 Received and all Things are fine swsclose 43Server: Microsoft-IIS/5.0 44Content-Type: text/html; charset=iso-8859-1 45Content-Length: 32 46 47Finally, this is the real page! 48</data1002> 49 50<datacheck> 51HTTP/1.1 401 NTLM Authorization Required swsclose 52Server: Apache/1.3.27 (Darwin) PHP/4.1.2 53WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 54WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 55WWW-Authenticate: NTLM 56Content-Type: text/html; charset=iso-8859-1 57Connection: close 58 59HTTP/1.1 401 Type-1 received, send back type-2 60Server: Microsoft-IIS/5.0 61Content-Length: 34 62Content-Type: text/html; charset=iso-8859-1 63WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 64 65HTTP/1.1 200 Type-3 Received and all Things are fine swsclose 66Server: Microsoft-IIS/5.0 67Content-Type: text/html; charset=iso-8859-1 68Content-Length: 32 69 70Finally, this is the real page! 71</datacheck> 72 73</reply> 74 75# Client-side 76<client> 77<features> 78NTLM 79SSL 80!SSPI 81debug 82</features> 83<server> 84http 85</server> 86 <name> 87HTTP PUT with --anyauth authorization (picking NTLM) 88 </name> 89 <setenv> 90# we force our own host name, in order to make the test machine independent 91CURL_GETHOSTNAME=curlhost 92# we try to use the LD_PRELOAD hack, if not a debug build 93LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 94 </setenv> 95 <command> 96http://%HOSTIP:%HTTPPORT/155 -T log/put155 -u testuser:testpass --anyauth 97</command> 98<precheck> 99chkhostname curlhost 100</precheck> 101<file name="log/put155"> 102This is data we upload with PUT 103a second line 104line three 105four is the number of lines 106</file> 107</client> 108 109# Verify data after the test has been "shot" 110<verify> 111<protocol> 112PUT /155 HTTP/1.1 113Host: %HOSTIP:%HTTPPORT 114User-Agent: curl/%VERSION 115Accept: */* 116Content-Length: 85 117Expect: 100-continue 118 119PUT /155 HTTP/1.1 120Host: %HOSTIP:%HTTPPORT 121Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 122User-Agent: curl/%VERSION 123Accept: */* 124Content-Length: 0 125 126PUT /155 HTTP/1.1 127Host: %HOSTIP:%HTTPPORT 128Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAADj3hs3u3j0kgJqCrLM+74BmaoNHDfIJjHRlc3R1c2VyY3VybGhvc3Q= 129User-Agent: curl/%VERSION 130Accept: */* 131Content-Length: 85 132Expect: 100-continue 133 134This is data we upload with PUT 135a second line 136line three 137four is the number of lines 138</protocol> 139</verify> 140</testcase> 141