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 noticable 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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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</features>
85 <name>
86HTTP proxy auth NTLM with POST data from read callback multi-if
87 </name>
88 <setenv>
89# we force our own host name, in order to make the test machine independent
90CURL_GETHOSTNAME=curlhost
91# we try to use the LD_PRELOAD hack, if not a debug build
92LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
93 </setenv>
94 <command>
95http://test.remote.example.com/path/555 http://%HOSTIP:%HTTPPORT s1lly:pers0n
96</command>
97<precheck>
98chkhostname curlhost
99</precheck>
100</client>
101
102# Verify data after the test has been "shot"
103<verify>
104<strip>
105^User-Agent: curl/.*
106</strip>
107<strippart>
108# remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
109s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv)
110</strippart>
111<protocol>
112POST http://test.remote.example.com/path/555 HTTP/1.1
113User-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
114Host: test.remote.example.com
115Accept: */*
116Proxy-Connection: Keep-Alive
117Content-Length: 36
118Content-Type: application/x-www-form-urlencoded
119
120this is the blurb we want to upload
121POST http://test.remote.example.com/path/555 HTTP/1.1
122Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
123User-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
124Host: test.remote.example.com
125Accept: */*
126Proxy-Connection: Keep-Alive
127Content-Length: 0
128Content-Type: application/x-www-form-urlencoded
129
130POST http://test.remote.example.com/path/555 HTTP/1.1
131Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAIYrD1xJmhNBNL9fLzuk9PV9436GAxPu0EKWzqQ/sZDVLXnp1JrySgl8A+cibE6z4HMxbGx5Y3VybGhvc3Q=
132User-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
133Host: test.remote.example.com
134Accept: */*
135Proxy-Connection: Keep-Alive
136Content-Length: 36
137Content-Type: application/x-www-form-urlencoded
138
139this is the blurb we want to upload
140</protocol>
141</verify>
142</testcase>
143