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