1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP GET 6HTTP NTLM auth 7</keywords> 8</info> 9# Server-side 10<reply> 11 12<!-- no <data> in this test since we have NTLM from the start 13 14This is supposed to be returned when the server gets a first 15Authorization: NTLM line passed-in from the client --> 16 17<data1001> 18HTTP/1.1 401 Now gimme that second request of crap 19Server: Microsoft-IIS/5.0 20Content-Type: text/html; charset=iso-8859-1 21Content-Length: 34 22WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 23 24This is not the real page either! 25</data1001> 26 27# This is supposed to be returned when the server gets the second 28# Authorization: NTLM line passed-in from the client 29<data1002> 30HTTP/1.1 200 Things are fine in server land swsclose 31Server: Microsoft-IIS/5.0 32Content-Type: text/html; charset=iso-8859-1 33Content-Length: 32 34 35Finally, this is the real page! 36</data1002> 37 38<datacheck> 39HTTP/1.1 401 Now gimme that second request of crap 40Server: Microsoft-IIS/5.0 41Content-Type: text/html; charset=iso-8859-1 42Content-Length: 34 43WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 44 45HTTP/1.1 200 Things are fine in server land swsclose 46Server: Microsoft-IIS/5.0 47Content-Type: text/html; charset=iso-8859-1 48Content-Length: 32 49 50Finally, this is the real page! 51</datacheck> 52 53</reply> 54 55# Client-side 56<client> 57<features> 58NTLM_WB 59debug 60</features> 61<server> 62http 63</server> 64<name> 65HTTP with NTLM delegation to winbind helper 66</name> 67 <setenv> 68# we force our own host name, in order to make the test machine independent 69CURL_GETHOSTNAME=curlhost 70# we try to use the LD_PRELOAD hack, if not a debug build 71LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 72# set path to fake_auth instead of real ntlm_auth to generate NTLM type1 and type 3 messages 73CURL_NTLM_WB_FILE=%PWD/server/fake_ntlm 74# set source directory so fake_ntlm can find the test files 75CURL_NTLM_AUTH_SRCDIR=%SRCDIR 76# set source directory so fake_ntlm can find the test and log files 77CURL_NTLM_LOGDIR=%LOGDIR 78# set the test number 79CURL_NTLM_AUTH_TESTNUM=%TESTNUMBER 80 </setenv> 81<command> 82http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:anypasswd --ntlm-wb 83</command> 84<precheck> 85chkhostname curlhost 86</precheck> 87</client> 88 89# Verify data after the test has been "shot" 90<verify> 91<protocol> 92GET /%TESTNUMBER HTTP/1.1 93Host: %HOSTIP:%HTTPPORT 94Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA 95User-Agent: curl/%VERSION 96Accept: */* 97 98GET /%TESTNUMBER HTTP/1.1 99Host: %HOSTIP:%HTTPPORT 100Authorization: NTLM TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ== 101User-Agent: curl/%VERSION 102Accept: */* 103 104</protocol> 105</verify> 106# Input and output (type 1 message) for fake_ntlm 107<ntlm_auth_type1> 108<input> 109YR 110</input> 111<output> 112YR TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA 113</output> 114</ntlm_auth_type1> 115# Input and output (type 3 message) for fake_ntlm 116<ntlm_auth_type3> 117<input> 118TT TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 119</input> 120<output> 121KK TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ== 122</output> 123</ntlm_auth_type3> 124</testcase> 125