1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP GET 6HTTP proxy 7HTTP proxy NTLM auth 8--proxy-anyauth 9</keywords> 10</info> 11 12# Server-side 13<reply> 14 15<data> 16HTTP/1.1 407 Authorization Required swsclose 17Server: Apache/1.3.27 (Darwin) PHP/4.1.2 18Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 19Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 20Proxy-Authenticate: NTLM 21Content-Type: text/html; charset=iso-8859-1 22Connection: close 23 24This is not the real page 25</data> 26 27# this is returned first since we get no proxy-auth 28<data1001> 29HTTP/1.1 407 Authorization Required to proxy me my dear 30Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 31Content-Length: 34 32 33Hey you, authenticate or go away! 34</data1001> 35 36# This is supposed to be returned when the server gets the second 37# Authorization: NTLM line passed-in from the client 38<data1002> 39HTTP/1.1 200 Things are fine in proxy land swsclose 40Server: Microsoft-IIS/5.0 41Content-Type: text/html; charset=iso-8859-1 42Content-Length: 42 43 44Contents of that page you requested, sir. 45</data1002> 46 47<datacheck> 48HTTP/1.1 407 Authorization Required swsclose 49Server: Apache/1.3.27 (Darwin) PHP/4.1.2 50Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 51Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 52Proxy-Authenticate: NTLM 53Content-Type: text/html; charset=iso-8859-1 54Connection: close 55 56HTTP/1.1 407 Authorization Required to proxy me my dear 57Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 58Content-Length: 34 59 60HTTP/1.1 200 Things are fine in proxy land swsclose 61Server: Microsoft-IIS/5.0 62Content-Type: text/html; charset=iso-8859-1 63Content-Length: 42 64 65Contents of that page you requested, sir. 66</datacheck> 67</reply> 68 69# Client-side 70<client> 71<server> 72http 73</server> 74<features> 75NTLM 76SSL 77!SSPI 78debug 79proxy 80</features> 81 <name> 82HTTP POST with --proxy-anyauth, picking 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://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-anyauth -d "postit" 92</command> 93<precheck> 94chkhostname curlhost 95</precheck> 96</client> 97 98# Verify data after the test has been "shot" 99<verify> 100<protocol nonewline="yes"> 101POST http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1 102Host: %HOSTIP:%HTTPPORT 103User-Agent: curl/%VERSION 104Accept: */* 105Proxy-Connection: Keep-Alive 106Content-Length: 6 107Content-Type: application/x-www-form-urlencoded 108 109postitPOST http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1 110Host: %HOSTIP:%HTTPPORT 111Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 112User-Agent: curl/%VERSION 113Accept: */* 114Proxy-Connection: Keep-Alive 115Content-Length: 0 116Content-Type: application/x-www-form-urlencoded 117 118POST http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1 119Host: %HOSTIP:%HTTPPORT 120Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyY3VybGhvc3Q= 121User-Agent: curl/%VERSION 122Accept: */* 123Proxy-Connection: Keep-Alive 124Content-Length: 6 125Content-Type: application/x-www-form-urlencoded 126 127postit 128</protocol> 129</verify> 130</testcase> 131