0f3bb07fcf80ee6e2025b07a97ea11bd6c612094
[platform/upstream/curl.git] / tests / data / test555
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>
7 HTTP
8 HTTP POST
9 POST callback
10 HTTP proxy
11 HTTP proxy NTLM auth
12 multi
13 </keywords>
14 </info>
15
16 # Server-side
17 <reply>
18
19 <data>
20 HTTP/1.1 407 Authorization Required swsclose\r
21 Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
22 Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
23 Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
24 Proxy-Authenticate: NTLM\r
25 Content-Type: text/html; charset=iso-8859-1\r
26 Connection: close\r
27 \r
28 This is not the real page
29 </data>
30
31 # this is returned first since we get no proxy-auth
32 <data1001>
33 HTTP/1.1 407 Authorization Required to proxy me my dear\r
34 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
35 Content-Length: 34\r
36 \r
37 Hey 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>
43 HTTP/1.1 200 Things are fine in proxy land swsclose\r
44 Server: Microsoft-IIS/5.0\r
45 Content-Type: text/html; charset=iso-8859-1\r
46 Content-Length: 42\r
47 \r
48 Contents of that page you requested, sir.
49 </data1002>
50
51 <datacheck>
52 HTTP/1.1 407 Authorization Required swsclose\r
53 Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
54 Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
55 Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
56 Proxy-Authenticate: NTLM\r
57 Content-Type: text/html; charset=iso-8859-1\r
58 Connection: close\r
59 \r
60 HTTP/1.1 407 Authorization Required to proxy me my dear\r
61 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
62 Content-Length: 34\r
63 \r
64 HTTP/1.1 200 Things are fine in proxy land swsclose\r
65 Server: Microsoft-IIS/5.0\r
66 Content-Type: text/html; charset=iso-8859-1\r
67 Content-Length: 42\r
68 \r
69 Contents of that page you requested, sir.
70 </datacheck>
71 </reply>
72
73 # Client-side
74 <client>
75 <server>
76 http
77 </server>
78 # tool to use
79 <tool>
80 lib555
81 </tool>
82 <features>
83 NTLM
84 !SSPI
85 debug
86 </features>
87  <name>
88 HTTP 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
92 CURL_GETHOSTNAME=curlhost
93 # we try to use the LD_PRELOAD hack, if not a debug build
94 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
95  </setenv>
96  <command>
97 http://test.remote.example.com/path/555 http://%HOSTIP:%HTTPPORT testuser:testpass
98 </command>
99 <precheck>
100 chkhostname 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 <strippart>
110 # remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
111 s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv)
112 </strippart>
113 <protocol>
114 POST http://test.remote.example.com/path/555 HTTP/1.1\r
115 Host: test.remote.example.com\r
116 User-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\r
117 Accept: */*\r
118 Proxy-Connection: Keep-Alive\r
119 Content-Length: 36\r
120 Content-Type: application/x-www-form-urlencoded\r
121 \r
122 this is the blurb we want to upload
123 POST http://test.remote.example.com/path/555 HTTP/1.1\r
124 Host: test.remote.example.com\r
125 Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
126 User-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\r
127 Accept: */*\r
128 Proxy-Connection: Keep-Alive\r
129 Content-Length: 0\r
130 Content-Type: application/x-www-form-urlencoded\r
131 \r
132 POST http://test.remote.example.com/path/555 HTTP/1.1\r
133 Host: test.remote.example.com\r
134 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==\r
135 User-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\r
136 Accept: */*\r
137 Proxy-Connection: Keep-Alive\r
138 Content-Length: 36\r
139 Content-Type: application/x-www-form-urlencoded\r
140 \r
141 this is the blurb we want to upload
142 </protocol>
143 </verify>
144 </testcase>