1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP POST 6POST callback 7HTTP proxy 8HTTP proxy NTLM auth 9</keywords> 10</info> 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: Negotiate 18Proxy-Authenticate: NTLM 19Content-Type: text/html; charset=iso-8859-1 20Connection: close 21 22This is not the real page 23</data> 24 25# this is returned first since we get no proxy-auth 26<data1001> 27HTTP/1.1 407 Authorization Required to proxy me my dear 28Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 29Content-Length: 34 30 31Hey you, authenticate or go away! 32</data1001> 33 34# This is supposed to be returned when the server gets the second 35# Authorization: NTLM line passed-in from the client 36<data1002> 37HTTP/1.1 200 Things are fine in proxy land swsclose 38Server: Microsoft-IIS/5.0 39Content-Type: text/html; charset=iso-8859-1 40Content-Length: 42 41 42Contents of that page you requested, sir. 43</data1002> 44 45<datacheck> 46HTTP/1.1 407 Authorization Required swsclose 47Server: Apache/1.3.27 (Darwin) PHP/4.1.2 48Proxy-Authenticate: Negotiate 49Proxy-Authenticate: NTLM 50Content-Type: text/html; charset=iso-8859-1 51Connection: close 52 53HTTP/1.1 407 Authorization Required to proxy me my dear 54Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 55Content-Length: 34 56 57HTTP/1.1 200 Things are fine in proxy land swsclose 58Server: Microsoft-IIS/5.0 59Content-Type: text/html; charset=iso-8859-1 60Content-Length: 42 61 62Contents of that page you requested, sir. 63</datacheck> 64</reply> 65 66# Client-side 67<client> 68<server> 69http 70</server> 71# tool to use 72<tool> 73lib590 74</tool> 75<features> 76NTLM 77!SSPI 78debug 79proxy 80</features> 81 <name> 82HTTP proxy offers Negotiate+NTLM, use only NTLM 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/590 http://%HOSTIP:%HTTPPORT 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> 104GET http://test.remote.example.com/path/590 HTTP/1.1 105Host: test.remote.example.com 106User-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 107Accept: */* 108Proxy-Connection: Keep-Alive 109 110GET http://test.remote.example.com/path/590 HTTP/1.1 111Host: test.remote.example.com 112Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 113User-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 114Accept: */* 115Proxy-Connection: Keep-Alive 116 117GET http://test.remote.example.com/path/590 HTTP/1.1 118Host: test.remote.example.com 119Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAgACAHAAAAAIAAgAcgAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAAIWYOdZV0iKA8ytf+dU+Bz9TpMJ4mBKu221lY3VybGhvc3Q= 120User-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 121Accept: */* 122Proxy-Connection: Keep-Alive 123 124</protocol> 125</verify> 126</testcase> 127