1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP GET
6HTTP proxy
7HTTP proxy NTLM auth
8</keywords>
9</info>
10
11# Server-side
12<reply>
13
14# This is supposed to be returned when the server gets a first
15# Authorization: NTLM line passed-in from the client
16<data1001>
17HTTP/1.1 407 Now gimme that second request of crap
18Server: Microsoft-IIS/5.0
19Content-Type: text/html; charset=iso-8859-1
20Content-Length: 34
21Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
22
23This is not the real page either!
24</data1001>
25
26# This is supposed to be returned when the server gets the second
27# Authorization: NTLM line passed-in from the client
28<data1002>
29HTTP/1.1 200 Things are fine in server land swsclose
30Server: Microsoft-IIS/5.0
31Content-Type: text/html; charset=iso-8859-1
32Content-Length: 32
33
34Finally, this is the real page!
35</data1002>
36
37<datacheck>
38HTTP/1.1 407 Now gimme that second request of crap
39Server: Microsoft-IIS/5.0
40Content-Type: text/html; charset=iso-8859-1
41Content-Length: 34
42Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
43
44HTTP/1.1 200 Things are fine in server land swsclose
45Server: Microsoft-IIS/5.0
46Content-Type: text/html; charset=iso-8859-1
47Content-Length: 32
48
49Finally, this is the real page!
50</datacheck>
51
52</reply>
53
54# Client-side
55<client>
56<features>
57NTLM
58</features>
59<server>
60http
61</server>
62 <name>
63HTTP with proxy using NTLM authorization
64 </name>
65 <setenv>
66# we force our own host name, in order to make the test machine independent
67CURL_GETHOSTNAME=curlhost
68# we try to use the LD_PRELOAD hack, if not a debug build
69LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
70 </setenv>
71 <command>
72http://%HOSTIP:%HTTPPORT/81 --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT --proxy-ntlm
73</command>
74<precheck>
75chkhostname curlhost
76</precheck>
77</client>
78
79# Verify data after the test has been "shot"
80<verify>
81<strip>
82^User-Agent:.*
83</strip>
84<protocol>
85GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
86Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
87User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
88Host: %HOSTIP:%HTTPPORT
89Accept: */*
90Proxy-Connection: Keep-Alive
91
92GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
93Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoKBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyY3VybGhvc3Q=
94User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
95Host: %HOSTIP:%HTTPPORT
96Accept: */*
97Proxy-Connection: Keep-Alive
98
99</protocol>
100</verify>
101</testcase>
102