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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 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 Recevied 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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 64 65HTTP/1.1 200 Type-3 Recevied 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 79!SSPI 80debug 81</features> 82<server> 83http 84</server> 85 <name> 86HTTP PUT with --anyauth authorization (picking NTLM) 87 </name> 88 <setenv> 89# we force our own host name, in order to make the test machine independent 90CURL_GETHOSTNAME=curlhost 91# we try to use the LD_PRELOAD hack, if not a debug build 92LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 93 </setenv> 94 <command> 95http://%HOSTIP:%HTTPPORT/155 -T log/put155 -u testuser:testpass --anyauth 96</command> 97<precheck> 98chkhostname curlhost 99</precheck> 100<file name="log/put155"> 101This is data we upload with PUT 102a second line 103line three 104four is the number of lines 105</file> 106</client> 107 108# Verify data after the test has been "shot" 109<verify> 110<strip> 111^User-Agent:.* 112</strip> 113<protocol> 114PUT /155 HTTP/1.1 115Host: %HOSTIP:%HTTPPORT 116Accept: */* 117Content-Length: 85 118Expect: 100-continue 119 120PUT /155 HTTP/1.1 121Host: %HOSTIP:%HTTPPORT 122Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 123Accept: */* 124Content-Length: 0 125 126PUT /155 HTTP/1.1 127Host: %HOSTIP:%HTTPPORT 128Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 129User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3 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