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 the test number
77CURL_NTLM_AUTH_TESTNUM=1310
78 </setenv>
79 <command>
80http://%HOSTIP:%HTTPPORT/1310 -u testuser:anypasswd --ntlm-wb
81</command>
82<precheck>
83chkhostname curlhost
84</precheck>
85</client>
86
87# Verify data after the test has been "shot"
88<verify>
89<protocol>
90GET /1310 HTTP/1.1
91Host: %HOSTIP:%HTTPPORT
92Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA
93User-Agent: curl/%VERSION
94Accept: */*
95
96GET /1310 HTTP/1.1
97Host: %HOSTIP:%HTTPPORT
98Authorization: NTLM TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ==
99User-Agent: curl/%VERSION
100Accept: */*
101
102</protocol>
103</verify>
104# Input and output (type 1 message) for fake_ntlm
105<ntlm_auth_type1>
106<input>
107YR
108</input>
109<output>
110YR TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA
111</output>
112</ntlm_auth_type1>
113# Input and output (type 3 message) for fake_ntlm
114<ntlm_auth_type3>
115<input>
116TT TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
117</input>
118<output>
119KK TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ==
120</output>
121</ntlm_auth_type3>
122</testcase>
123