1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP POST 6 HTTP NTLM auth 7 </keywords> 8 </info> 9 # Server-side 10 <reply> 11 12 <data> 13 HTTP/1.1 200 Thanks for this! swsclose 14 Content-Length: 25 15 16 This is the final page ! 17 </data> 18 19 <data1001> 20 HTTP/1.1 401 Now gimme that second request of crap 21 Server: Microsoft-IIS/5.0 22 Content-Type: text/html; charset=iso-8859-1 23 Content-Length: 34 24 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 25 26 This 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> 32 HTTP/1.1 302 Thanks for this, but we want to redir you! 33 Server: Microsoft-IIS/5.0 34 Content-Type: text/html; charset=iso-8859-1 35 Location: /1100 36 Content-Length: 34 37 38 This is not the real page either! 39 </data1002> 40 41 <datacheck> 42 HTTP/1.1 401 Now gimme that second request of crap 43 Server: Microsoft-IIS/5.0 44 Content-Type: text/html; charset=iso-8859-1 45 Content-Length: 34 46 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 47 48 HTTP/1.1 302 Thanks for this, but we want to redir you! 49 Server: Microsoft-IIS/5.0 50 Content-Type: text/html; charset=iso-8859-1 51 Location: /1100 52 Content-Length: 34 53 54 HTTP/1.1 200 Thanks for this! swsclose 55 Content-Length: 25 56 57 This is the final page ! 58 </datacheck> 59 60 </reply> 61 62 # Client-side 63 <client> 64 <features> 65 NTLM 66 !SSPI 67 debug 68 </features> 69 <server> 70 http 71 </server> 72 <name> 73 HTTP 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 77 CURL_GETHOSTNAME=curlhost 78 # we try to use the LD_PRELOAD hack, if not a debug build 79 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 80 </setenv> 81 <command> 82 http://%HOSTIP:%HTTPPORT/1100 -u testuser:testpass --ntlm -L -d "stuff to send away" 83 </command> 84 <precheck> 85 chkhostname 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> 95 POST /1100 HTTP/1.1 96 Host: %HOSTIP:%HTTPPORT 97 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 98 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 99 Accept: */* 100 Content-Length: 0 101 Content-Type: application/x-www-form-urlencoded 102 103 POST /1100 HTTP/1.1 104 Host: %HOSTIP:%HTTPPORT 105 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAMOv20GsURsat8gdH/RfnYI0MzIxNTMyMeCdd8AzFZLZ/N1ujmilmCcBAQAAAAAAAACAPtXesZ0BNDMyMTUzMjEAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 106 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 107 Accept: */* 108 Content-Length: 18 109 Content-Type: application/x-www-form-urlencoded 110 111 stuff to send awayGET /1100 HTTP/1.1 112 Host: %HOSTIP:%HTTPPORT 113 User-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 114 Accept: */* 115 116 </protocol> 117 </verify> 118 </testcase> 119