1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP GET 6HTTP CONNECT 7HTTP proxy 8HTTP proxy NTLM auth 9NTLM 10</keywords> 11</info> 12 13# Server-side 14<reply> 15 16# this is returned first since we get no proxy-auth 17<connect1001> 18HTTP/1.1 407 Authorization Required to proxy me my dear 19Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 20Content-Length: 33 21 22And you should ignore this data. 23</connect1001> 24 25# This is supposed to be returned when the server gets the second 26# Authorization: NTLM line passed-in from the client 27<connect1002> 28HTTP/1.1 200 Things are fine in proxy land 29Server: Microsoft-IIS/5.0 30Content-Type: text/html; charset=iso-8859-1 31 32</connect1002> 33 34# this is returned when we get a GET! 35<data2> 36HTTP/1.1 200 OK 37Date: Tue, 09 Nov 2010 14:49:00 GMT 38Content-Length: 7 39Connection: close 40Content-Type: text/html 41Funny-head: yesyes 42 43daniel 44</data2> 45 46# then this is returned when we get proxy-auth 47<data1000> 48HTTP/1.1 200 OK swsbounce 49Server: no 50 51Nice proxy auth sir! 52</data1000> 53 54<datacheck> 55HTTP/1.1 407 Authorization Required to proxy me my dear 56Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 57Content-Length: 33 58 59HTTP/1.1 200 Things are fine in proxy land 60Server: Microsoft-IIS/5.0 61Content-Type: text/html; charset=iso-8859-1 62 63HTTP/1.1 200 OK 64Date: Tue, 09 Nov 2010 14:49:00 GMT 65Content-Length: 7 66Connection: close 67Content-Type: text/html 68Funny-head: yesyes 69 70daniel 71</datacheck> 72</reply> 73 74# Client-side 75<client> 76<server> 77http 78</server> 79<features> 80NTLM 81SSL 82!SSPI 83proxy 84</features> 85<name> 86HTTP proxy CONNECT auth NTLM 87</name> 88<command> 89http://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel 90</command> 91</client> 92 93# Verify data after the test has been "shot" 94<verify> 95<protocol> 96CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 97Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT 98Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 99User-Agent: curl/%VERSION 100Proxy-Connection: Keep-Alive 101 102CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 103Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT 104Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 105User-Agent: curl/%VERSION 106Proxy-Connection: Keep-Alive 107 108GET /path/%TESTNUMBER0002 HTTP/1.1 109Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT 110User-Agent: curl/%VERSION 111Accept: */* 112 113</protocol> 114</verify> 115</testcase> 116