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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 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 76</features> 77 <name> 78HTTP POST with --proxy-anyauth, picking NTLM 79 </name> 80 <setenv> 81# we force our own host name, in order to make the test machine independent 82CURL_GETHOSTNAME=curlhost 83# we try to use the LD_PRELOAD hack, if not a debug build 84LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 85 </setenv> 86 <command> 87http://%HOSTIP:%HTTPPORT/243 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-anyauth -d "postit" 88</command> 89<precheck> 90chkhostname curlhost 91</precheck> 92</client> 93 94# Verify data after the test has been "shot" 95<verify> 96<strip> 97^User-Agent: curl/.* 98</strip> 99<protocol nonewline="yes"> 100POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1 101User-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 102Host: %HOSTIP:%HTTPPORT 103Accept: */* 104Proxy-Connection: Keep-Alive 105Content-Length: 6 106Content-Type: application/x-www-form-urlencoded 107 108postitPOST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1 109Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 110User-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 111Host: %HOSTIP:%HTTPPORT 112Accept: */* 113Proxy-Connection: Keep-Alive 114Content-Length: 0 115Content-Type: application/x-www-form-urlencoded 116 117POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1 118Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q= 119User-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 120Host: %HOSTIP:%HTTPPORT 121Accept: */* 122Proxy-Connection: Keep-Alive 123Content-Length: 6 124Content-Type: application/x-www-form-urlencoded 125 126postit 127</protocol> 128</verify> 129</testcase> 130