• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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!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<strippart>
110# remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
111s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv)
112</strippart>
113<protocol>
114POST http://test.remote.example.com/path/555 HTTP/1.1
115Host: test.remote.example.com
116User-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
117Accept: */*
118Proxy-Connection: Keep-Alive
119Content-Length: 36
120Content-Type: application/x-www-form-urlencoded
121
122this is the blurb we want to upload
123POST http://test.remote.example.com/path/555 HTTP/1.1
124Host: test.remote.example.com
125Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
126User-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
127Accept: */*
128Proxy-Connection: Keep-Alive
129Content-Length: 0
130Content-Type: application/x-www-form-urlencoded
131
132POST http://test.remote.example.com/path/555 HTTP/1.1
133Host: test.remote.example.com
134Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
135User-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
136Accept: */*
137Proxy-Connection: Keep-Alive
138Content-Length: 36
139Content-Type: application/x-www-form-urlencoded
140
141this is the blurb we want to upload
142</protocol>
143</verify>
144</testcase>
145