1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP POST 6HTTP proxy 7HTTP proxy NTLM auth 8</keywords> 9</info> 10 11# Server-side 12<reply> 13 14<data> 15HTTP/1.1 407 Authorization Required swsclose 16Server: Apache/1.3.27 (Darwin) PHP/4.1.2 17Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 18Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 19Proxy-Authenticate: NTLM 20Content-Type: text/html; charset=iso-8859-1 21Connection: close 22 23This is not the real page 24</data> 25 26# this is returned first since we get no proxy-auth 27<data1001> 28HTTP/1.1 407 Authorization Required to proxy me my dear 29Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 30Content-Length: 34 31 32Hey you, authenticate or go away! 33</data1001> 34 35# This is supposed to be returned when the server gets the second 36# Authorization: NTLM line passed-in from the client 37<data1002> 38HTTP/1.1 200 Things are fine in proxy land swsclose 39Server: Microsoft-IIS/5.0 40Content-Type: text/html; charset=iso-8859-1 41Content-Length: 42 42 43Contents of that page you requested, sir. 44</data1002> 45 46<datacheck> 47HTTP/1.1 407 Authorization Required swsclose 48Server: Apache/1.3.27 (Darwin) PHP/4.1.2 49Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 50Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 51Proxy-Authenticate: NTLM 52Content-Type: text/html; charset=iso-8859-1 53Connection: close 54 55HTTP/1.1 407 Authorization Required to proxy me my dear 56Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 57Content-Length: 34 58 59HTTP/1.1 200 Things are fine in proxy land swsclose 60Server: Microsoft-IIS/5.0 61Content-Type: text/html; charset=iso-8859-1 62Content-Length: 42 63 64Contents of that page you requested, sir. 65</datacheck> 66</reply> 67 68# Client-side 69<client> 70<server> 71http 72</server> 73# tool to use 74<tool> 75lib548 76</tool> 77<features> 78NTLM 79!SSPI 80</features> 81 <name> 82HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS 83 </name> 84 <setenv> 85# we force our own host name, in order to make the test machine independent 86CURL_GETHOSTNAME=curlhost 87# we try to use the LD_PRELOAD hack, if not a debug build 88LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 89 </setenv> 90 <command> 91http://test.remote.example.com/path/548 http://%HOSTIP:%HTTPPORT testuser:testpass 92</command> 93<precheck> 94chkhostname curlhost 95</precheck> 96</client> 97 98# Verify data after the test has been "shot" 99<verify> 100<strip> 101^User-Agent: curl/.* 102</strip> 103<protocol> 104POST http://test.remote.example.com/path/548 HTTP/1.1 105User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 106Host: test.remote.example.com 107Accept: */* 108Proxy-Connection: Keep-Alive 109Content-Length: 36 110Content-Type: application/x-www-form-urlencoded 111 112this is the blurb we want to upload 113POST http://test.remote.example.com/path/548 HTTP/1.1 114Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 115User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 116Host: test.remote.example.com 117Accept: */* 118Proxy-Connection: Keep-Alive 119Content-Length: 0 120Content-Type: application/x-www-form-urlencoded 121 122POST http://test.remote.example.com/path/548 HTTP/1.1 123Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAFuu0VIvKeMdPwjDPk7eAnwxMjM0NTY3OC1uDhL9DbZXt27JqdXMDkABAQAAAAAAAACAPtXesZ0BMTIzNDU2NzgAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 124User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 125Host: test.remote.example.com 126Accept: */* 127Proxy-Connection: Keep-Alive 128Content-Length: 36 129Content-Type: application/x-www-form-urlencoded 130 131this is the blurb we want to upload 132</protocol> 133</verify> 134</testcase> 135