1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP POST 6HTTP NTLM auth 7</keywords> 8</info> 9# Server-side 10<reply> 11 12<data> 13HTTP/1.1 200 Thanks for this! swsclose 14Content-Length: 25 15 16This is the final page ! 17</data> 18 19<data1001> 20HTTP/1.1 401 Now gimme that second request of crap 21Server: Microsoft-IIS/5.0 22Content-Type: text/html; charset=iso-8859-1 23Content-Length: 34 24WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 25 26This is not the real page either! 27</data1001> 28 29# This is supposed to be returned when the server gets the second 30# Authorization: NTLM line passed-in from the client 31<data1002> 32HTTP/1.1 302 Thanks for this, but we want to redir you! 33Server: Microsoft-IIS/5.0 34Content-Type: text/html; charset=iso-8859-1 35Location: /1100 36Content-Length: 34 37 38This is not the real page either! 39</data1002> 40 41<datacheck> 42HTTP/1.1 401 Now gimme that second request of crap 43Server: Microsoft-IIS/5.0 44Content-Type: text/html; charset=iso-8859-1 45Content-Length: 34 46WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 47 48HTTP/1.1 302 Thanks for this, but we want to redir you! 49Server: Microsoft-IIS/5.0 50Content-Type: text/html; charset=iso-8859-1 51Location: /1100 52Content-Length: 34 53 54HTTP/1.1 200 Thanks for this! swsclose 55Content-Length: 25 56 57This is the final page ! 58</datacheck> 59 60</reply> 61 62# Client-side 63<client> 64<features> 65NTLM 66!SSPI 67debug 68</features> 69<server> 70http 71</server> 72 <name> 73HTTP POST with NTLM authorization and following a 302 redirect 74 </name> 75 <setenv> 76# we force our own host name, in order to make the test machine independent 77CURL_GETHOSTNAME=curlhost 78# we try to use the LD_PRELOAD hack, if not a debug build 79LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 80 </setenv> 81 <command> 82http://%HOSTIP:%HTTPPORT/1100 -u testuser:testpass --ntlm -L -d "stuff to send away" 83</command> 84<precheck> 85chkhostname curlhost 86</precheck> 87</client> 88 89# Verify data after the test has been "shot" 90<verify> 91<strip> 92^User-Agent:.* 93</strip> 94<protocol> 95POST /1100 HTTP/1.1 96Host: %HOSTIP:%HTTPPORT 97Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 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 99Accept: */* 100Content-Length: 0 101Content-Type: application/x-www-form-urlencoded 102 103POST /1100 HTTP/1.1 104Host: %HOSTIP:%HTTPPORT 105Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 106User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 107Accept: */* 108Content-Length: 18 109Content-Type: application/x-www-form-urlencoded 110 111stuff to send awayGET /1100 HTTP/1.1 112Host: %HOSTIP:%HTTPPORT 113User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS GnuTLS/2.6.6 zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.14 libssh2/1.1 114Accept: */* 115 116</protocol> 117</verify> 118</testcase> 119