Imported Upstream version 7.59.0
[platform/upstream/curl.git] / tests / data / test590
1 <testcase>
2 <info>
3 <keywords>
4 HTTP
5 HTTP POST
6 POST callback
7 HTTP proxy
8 HTTP proxy NTLM auth
9 </keywords>
10 </info>
11 # Server-side
12 <reply>
13
14 <data>
15 HTTP/1.1 407 Authorization Required swsclose
16 Server: Apache/1.3.27 (Darwin) PHP/4.1.2
17 Proxy-Authenticate: Negotiate
18 Proxy-Authenticate: NTLM
19 Content-Type: text/html; charset=iso-8859-1
20 Connection: close
21
22 This is not the real page
23 </data>
24
25 # this is returned first since we get no proxy-auth
26 <data1001>
27 HTTP/1.1 407 Authorization Required to proxy me my dear
28 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
29 Content-Length: 34
30
31 Hey you, authenticate or go away!
32 </data1001>
33
34 # This is supposed to be returned when the server gets the second
35 # Authorization: NTLM line passed-in from the client
36 <data1002>
37 HTTP/1.1 200 Things are fine in proxy land swsclose
38 Server: Microsoft-IIS/5.0
39 Content-Type: text/html; charset=iso-8859-1
40 Content-Length: 42
41
42 Contents of that page you requested, sir.
43 </data1002>
44
45 <datacheck>
46 HTTP/1.1 407 Authorization Required swsclose
47 Server: Apache/1.3.27 (Darwin) PHP/4.1.2
48 Proxy-Authenticate: Negotiate
49 Proxy-Authenticate: NTLM
50 Content-Type: text/html; charset=iso-8859-1
51 Connection: close
52
53 HTTP/1.1 407 Authorization Required to proxy me my dear
54 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
55 Content-Length: 34
56
57 HTTP/1.1 200 Things are fine in proxy land swsclose
58 Server: Microsoft-IIS/5.0
59 Content-Type: text/html; charset=iso-8859-1
60 Content-Length: 42
61
62 Contents of that page you requested, sir.
63 </datacheck>
64 </reply>
65
66 # Client-side
67 <client>
68 <server>
69 http
70 </server>
71 # tool to use
72 <tool>
73 lib590
74 </tool>
75 <features>
76 NTLM
77 !SSPI
78 debug
79 </features>
80  <name>
81 HTTP proxy offers Negotiate+NTLM, use only NTLM
82  </name>
83  <setenv>
84 # we force our own host name, in order to make the test machine independent
85 CURL_GETHOSTNAME=curlhost
86 # we try to use the LD_PRELOAD hack, if not a debug build
87 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
88  </setenv>
89  <command>
90 http://test.remote.example.com/path/590 http://%HOSTIP:%HTTPPORT
91 </command>
92 <precheck>
93 chkhostname curlhost
94 </precheck>
95 </client>
96
97 # Verify data after the test has been "shot"
98 <verify>
99 <strip>
100 ^User-Agent: curl/.*
101 </strip>
102 <protocol>
103 GET http://test.remote.example.com/path/590 HTTP/1.1
104 Host: test.remote.example.com
105 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
106 Accept: */*
107 Proxy-Connection: Keep-Alive
108
109 GET http://test.remote.example.com/path/590 HTTP/1.1
110 Host: test.remote.example.com
111 Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
112 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
113 Accept: */*
114 Proxy-Connection: Keep-Alive
115
116 GET http://test.remote.example.com/path/590 HTTP/1.1
117 Host: test.remote.example.com
118 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAAAgACAPYAAAAIAAgA+AAAAAAAAAAAAAAABoKBAPfkdFqeIuYPjDr2ZbNxCag0MzIxNTMyMQjxxEdSYaUsgjpD8o53NrMBAQAAAAAAAACAPtXesZ0BNDMyMTUzMjEAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAbWVjdXJsaG9zdA==
119 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
120 Accept: */*
121 Proxy-Connection: Keep-Alive
122
123 </protocol>
124 </verify>
125 </testcase>