1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6POST callback
7HTTP proxy
8HTTP proxy NTLM auth
9</keywords>
10</info>
11# Server-side
12<reply>
13
14<data>
15HTTP/1.1 407 Authorization Required swsclose
16Server: Apache/1.3.27 (Darwin) PHP/4.1.2
17Proxy-Authenticate: Negotiate
18Proxy-Authenticate: NTLM
19Content-Type: text/html; charset=iso-8859-1
20Connection: close
21
22This is not the real page
23</data>
24
25# this is returned first since we get no proxy-auth
26<data1001>
27HTTP/1.1 407 Authorization Required to proxy me my dear
28Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
29Content-Length: 34
30
31Hey you, authenticate or go away!
32</data1001>
33
34# This is supposed to be returned when the server gets the second
35# Authorization: NTLM line passed-in from the client
36<data1002>
37HTTP/1.1 200 Things are fine in proxy land swsclose
38Server: Microsoft-IIS/5.0
39Content-Type: text/html; charset=iso-8859-1
40Content-Length: 42
41
42Contents of that page you requested, sir.
43</data1002>
44
45<datacheck>
46HTTP/1.1 407 Authorization Required swsclose
47Server: Apache/1.3.27 (Darwin) PHP/4.1.2
48Proxy-Authenticate: Negotiate
49Proxy-Authenticate: NTLM
50Content-Type: text/html; charset=iso-8859-1
51Connection: close
52
53HTTP/1.1 407 Authorization Required to proxy me my dear
54Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
55Content-Length: 34
56
57HTTP/1.1 200 Things are fine in proxy land swsclose
58Server: Microsoft-IIS/5.0
59Content-Type: text/html; charset=iso-8859-1
60Content-Length: 42
61
62Contents of that page you requested, sir.
63</datacheck>
64</reply>
65
66# Client-side
67<client>
68<server>
69http
70</server>
71# tool to use
72<tool>
73lib590
74</tool>
75<features>
76NTLM
77!SSPI
78debug
79</features>
80 <name>
81HTTP proxy offers Negotiate+NTLM, use only NTLM
82 </name>
83 <setenv>
84# we force our own host name, in order to make the test machine independent
85CURL_GETHOSTNAME=curlhost
86# we try to use the LD_PRELOAD hack, if not a debug build
87LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
88 </setenv>
89 <command>
90http://test.remote.example.com/path/590 http://%HOSTIP:%HTTPPORT
91</command>
92<precheck>
93chkhostname curlhost
94</precheck>
95</client>
96
97# Verify data after the test has been "shot"
98<verify>
99<strip>
100^User-Agent: curl/.*
101</strip>
102<protocol>
103GET http://test.remote.example.com/path/590 HTTP/1.1
104Host: test.remote.example.com
105User-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
106Accept: */*
107Proxy-Connection: Keep-Alive
108
109GET http://test.remote.example.com/path/590 HTTP/1.1
110Host: test.remote.example.com
111Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
112User-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
113Accept: */*
114Proxy-Connection: Keep-Alive
115
116GET http://test.remote.example.com/path/590 HTTP/1.1
117Host: test.remote.example.com
118Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAgACAHAAAAAIAAgAcgAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAAIWYOdZV0iKA8ytf+dU+Bz9TpMJ4mBKu221lY3VybGhvc3Q=
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
120Accept: */*
121Proxy-Connection: Keep-Alive
122
123</protocol>
124</verify>
125</testcase>
126