xref: /curl/tests/data/test265 (revision d31915a8)
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6HTTP CONNECT
7HTTP proxy
8HTTP proxy NTLM auth
9NTLM
10</keywords>
11</info>
12
13# Server-side
14<reply>
15
16# this is returned first since we get no proxy-auth
17<connect1001>
18HTTP/1.0 407 Authorization Required to proxy me my dear
19Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
20Connection: Keep-Alive
21Content-Length: 1033
22
23And you should ignore this data.
24QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
25</connect1001>
26
27# This is supposed to be returned when the server gets the second
28# Authorization: NTLM line passed-in from the client
29<connect1002>
30HTTP/1.1 200 Things are fine in proxy land
31Server: Microsoft-IIS/5.0
32Content-Type: text/html; charset=iso-8859-1
33
34</connect1002>
35
36# this is returned when we get a GET!
37<data2>
38HTTP/1.1 200 OK
39Date: Tue, 09 Nov 2010 14:49:00 GMT
40Content-Length: 7
41Connection: close
42Content-Type: text/html
43Funny-head: yesyes
44
45daniel
46</data2>
47
48# then this is returned when we get proxy-auth
49<data1000>
50HTTP/1.1 200 OK swsbounce
51Server: no
52
53Nice proxy auth sir!
54</data1000>
55
56<datacheck>
57HTTP/1.0 407 Authorization Required to proxy me my dear
58Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
59Connection: Keep-Alive
60Content-Length: 1033
61
62HTTP/1.1 200 Things are fine in proxy land
63Server: Microsoft-IIS/5.0
64Content-Type: text/html; charset=iso-8859-1
65
66HTTP/1.1 200 OK
67Date: Tue, 09 Nov 2010 14:49:00 GMT
68Content-Length: 7
69Connection: close
70Content-Type: text/html
71Funny-head: yesyes
72
73daniel
74</datacheck>
75</reply>
76
77# Client-side
78<client>
79<server>
80http
81</server>
82<features>
83NTLM
84SSL
85!SSPI
86proxy
87</features>
88<name>
89HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407
90</name>
91<command>
92http://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit"
93</command>
94</client>
95
96# Verify data after the test has been "shot"
97<verify>
98<protocol nonewline="yes">
99CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
100Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
101Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
102User-Agent: curl/%VERSION
103Proxy-Connection: Keep-Alive
104
105CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
106Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
107Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04=
108User-Agent: curl/%VERSION
109Proxy-Connection: Keep-Alive
110
111POST /path/%TESTNUMBER0002 HTTP/1.1
112Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
113User-Agent: curl/%VERSION
114Accept: */*
115Content-Length: 6
116Content-Type: application/x-www-form-urlencoded
117
118postit
119</protocol>
120</verify>
121</testcase>
122