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