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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 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</features> 60<server> 61http 62</server> 63 <name> 64HTTP POST with NTLM authorization and added custom headers 65 </name> 66 <setenv> 67# we force our own host name, in order to make the test machine independent 68CURL_GETHOSTNAME=curlhost 69# we try to use the LD_PRELOAD hack, if not a debug build 70LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 71 </setenv> 72 <command> 73http://%HOSTIP:%HTTPPORT/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" 74</command> 75<precheck> 76chkhostname curlhost 77</precheck> 78</client> 79 80# Verify data after the test has been "shot" 81<verify> 82<strip> 83^User-Agent:.* 84</strip> 85<protocol nonewline="yes"> 86POST /267 HTTP/1.1 87Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 88User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 89Host: %HOSTIP:%HTTPPORT 90Accept: */* 91Header1: yes 92Header2: no 93Content-Length: 0 94Content-Type: application/x-www-form-urlencoded 95 96POST /267 HTTP/1.1 97Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoKBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyY3VybGhvc3Q= 98User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 99Host: %HOSTIP:%HTTPPORT 100Accept: */* 101Header1: yes 102Header2: no 103Content-Length: 4 104Content-Type: application/x-www-form-urlencoded 105 106data 107</protocol> 108</verify> 109</testcase> 110