1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP POST 6HTTP NTLM auth 7</keywords> 8</info> 9# Server-side 10<reply> 11 12<!-- no <data> in this test since we have NTLM from the start 13 14This is supposed to be returned when the server gets a first 15Authorization: NTLM line passed-in from the client --> 16 17<data1001> 18HTTP/1.1 401 Now gimme that second request of crap 19Server: Microsoft-IIS/5.0 20Content-Type: text/html; charset=iso-8859-1 21Content-Length: 34 22WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 23 24This is not the real page either! 25</data1001> 26 27# This is supposed to be returned when the server gets the second 28# Authorization: NTLM line passed-in from the client 29<data1002> 30HTTP/1.1 200 Things are fine in server land swsclose 31Server: Microsoft-IIS/5.0 32Content-Type: text/html; charset=iso-8859-1 33Content-Length: 32 34 35Finally, this is the real page! 36</data1002> 37 38<datacheck> 39HTTP/1.1 401 Now gimme that second request of crap 40Server: Microsoft-IIS/5.0 41Content-Type: text/html; charset=iso-8859-1 42Content-Length: 34 43WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 44 45HTTP/1.1 200 Things are fine in server land swsclose 46Server: Microsoft-IIS/5.0 47Content-Type: text/html; charset=iso-8859-1 48Content-Length: 32 49 50Finally, this is the real page! 51</datacheck> 52 53</reply> 54 55# Client-side 56<client> 57<features> 58NTLM 59!SSPI 60debug 61</features> 62<server> 63http 64</server> 65 <name> 66HTTP POST with NTLM authorization and added custom headers 67 </name> 68 <setenv> 69# we force our own host name, in order to make the test machine independent 70CURL_GETHOSTNAME=curlhost 71# we try to use the LD_PRELOAD hack, if not a debug build 72LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 73 </setenv> 74 <command> 75http://%HOSTIP:%HTTPPORT/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" 76</command> 77<precheck> 78chkhostname curlhost 79</precheck> 80</client> 81 82# Verify data after the test has been "shot" 83<verify> 84<strip> 85^User-Agent:.* 86</strip> 87<protocol nonewline="yes"> 88POST /267 HTTP/1.1 89Host: %HOSTIP:%HTTPPORT 90Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 91User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 92Accept: */* 93Header1: yes 94Header2: no 95Content-Length: 0 96Content-Type: application/x-www-form-urlencoded 97 98POST /267 HTTP/1.1 99Host: %HOSTIP:%HTTPPORT 100Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAADj3hs3u3j0kgJqCrLM+74BmaoNHDfIJjHRlc3R1c2VyY3VybGhvc3Q= 101User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 102Accept: */* 103Header1: yes 104Header2: no 105Content-Length: 4 106Content-Type: application/x-www-form-urlencoded 107 108data 109</protocol> 110</verify> 111</testcase> 112