• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP GET
6HTTP CONNECT
7HTTP proxy
8HTTP proxy NTLM auth
9</keywords>
10</info>
11
12# Server-side
13<reply>
14
15# this is returned first since we get no proxy-auth
16<connect1001>
17HTTP/1.1 407 Authorization Required to proxy me my dear
18Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
19Content-Length: 33
20
21And you should ignore this data.
22</connect1001>
23
24# This is supposed to be returned when the server gets the second
25# Authorization: NTLM line passed-in from the client
26<connect1002>
27HTTP/1.1 200 Things are fine in proxy land
28Server: Microsoft-IIS/5.0
29Content-Type: text/html; charset=iso-8859-1
30
31</connect1002>
32
33# this is returned when we get a GET!
34<data2>
35HTTP/1.1 200 OK
36Date: Thu, 09 Nov 2010 14:49:00 GMT
37Content-Length: 7
38Connection: close
39Content-Type: text/html
40Funny-head: yesyes
41
42daniel
43</data2>
44
45# then this is returned when we get proxy-auth
46<data1000>
47HTTP/1.1 200 OK swsbounce
48Server: no
49
50Nice proxy auth sir!
51</data1000>
52
53<datacheck>
54HTTP/1.1 407 Authorization Required to proxy me my dear
55Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
56Content-Length: 33
57
58HTTP/1.1 200 Things are fine in proxy land
59Server: Microsoft-IIS/5.0
60Content-Type: text/html; charset=iso-8859-1
61
62HTTP/1.1 200 OK
63Date: Thu, 09 Nov 2010 14:49:00 GMT
64Content-Length: 7
65Connection: close
66Content-Type: text/html
67Funny-head: yesyes
68
69daniel
70</datacheck>
71</reply>
72
73# Client-side
74<client>
75<server>
76http
77</server>
78<features>
79NTLM
80!SSPI
81debug
82</features>
83 <name>
84HTTP proxy CONNECT auth NTLM
85 </name>
86 <setenv>
87# we force our own host name, in order to make the test machine independent
88CURL_GETHOSTNAME=curlhost
89# we try to use the LD_PRELOAD hack, if not a debug build
90LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
91 </setenv>
92 <command>
93http://test.remote.example.com.209:%HTTPPORT/path/2090002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel
94</command>
95<precheck>
96chkhostname curlhost
97</precheck>
98</client>
99
100# Verify data after the test has been "shot"
101<verify>
102<strip>
103^User-Agent: curl/.*
104</strip>
105<protocol>
106CONNECT test.remote.example.com.209:%HTTPPORT HTTP/1.1
107Host: test.remote.example.com.209:%HTTPPORT
108Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
109Proxy-Connection: Keep-Alive
110
111CONNECT test.remote.example.com.209:%HTTPPORT HTTP/1.1
112Host: test.remote.example.com.209:%HTTPPORT
113Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoIBADQzMjE1MzIxAAAAAAAAAAAAAAAAAAAAADj3hs3u3j0kgJqCrLM+74BmaoNHDfIJjHRlc3R1c2VyY3VybGhvc3Q=
114Proxy-Connection: Keep-Alive
115
116GET /path/2090002 HTTP/1.1
117User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
118Host: test.remote.example.com.209:%HTTPPORT
119Accept: */*
120
121</protocol>
122</verify>
123</testcase>
124