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 77SSL 78!SSPI 79debug 80proxy 81</features> 82 <name> 83HTTP proxy offers Negotiate+NTLM, use only NTLM 84 </name> 85 <setenv> 86# we force our own host name, in order to make the test machine independent 87CURL_GETHOSTNAME=curlhost 88# we try to use the LD_PRELOAD hack, if not a debug build 89LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 90 </setenv> 91 <command> 92http://test.remote.example.com/path/590 http://%HOSTIP:%HTTPPORT 93</command> 94<precheck> 95chkhostname curlhost 96</precheck> 97</client> 98 99# Verify data after the test has been "shot" 100<verify> 101 102<protocol> 103GET http://test.remote.example.com/path/590 HTTP/1.1 104Host: test.remote.example.com 105Accept: */* 106Proxy-Connection: Keep-Alive 107 108GET http://test.remote.example.com/path/590 HTTP/1.1 109Host: test.remote.example.com 110Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 111Accept: */* 112Proxy-Connection: Keep-Alive 113 114GET http://test.remote.example.com/path/590 HTTP/1.1 115Host: test.remote.example.com 116Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAgACAHAAAAAIAAgAcgAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAAIWYOdZV0iKA8ytf+dU+Bz9TpMJ4mBKu221lY3VybGhvc3Q= 117Accept: */* 118Proxy-Connection: Keep-Alive 119 120</protocol> 121</verify> 122</testcase> 123