Imported Upstream version 7.48.0
[platform/upstream/curl.git] / tests / data / test267
1 <testcase>
2 <info>
3 <keywords>
4 HTTP
5 HTTP POST
6 HTTP NTLM auth
7 </keywords>
8 </info>
9 # Server-side
10 <reply>
11
12 <!-- no <data> in this test since we have NTLM from the start
13
14 This is supposed to be returned when the server gets a first
15 Authorization: NTLM line passed-in from the client -->
16
17 <data1001>
18 HTTP/1.1 401 Now gimme that second request of crap\r
19 Server: Microsoft-IIS/5.0\r
20 Content-Type: text/html; charset=iso-8859-1\r
21 Content-Length: 34\r
22 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
23 \r
24 This is not the real page either!
25 </data1001>
26
27 # This is supposed to be returned when the server gets the second
28 # Authorization: NTLM line passed-in from the client
29 <data1002>
30 HTTP/1.1 200 Things are fine in server land swsclose\r
31 Server: Microsoft-IIS/5.0\r
32 Content-Type: text/html; charset=iso-8859-1\r
33 Content-Length: 32\r
34 \r
35 Finally, this is the real page!
36 </data1002>
37
38 <datacheck>
39 HTTP/1.1 401 Now gimme that second request of crap\r
40 Server: Microsoft-IIS/5.0\r
41 Content-Type: text/html; charset=iso-8859-1\r
42 Content-Length: 34\r
43 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
44 \r
45 HTTP/1.1 200 Things are fine in server land swsclose\r
46 Server: Microsoft-IIS/5.0\r
47 Content-Type: text/html; charset=iso-8859-1\r
48 Content-Length: 32\r
49 \r
50 Finally, this is the real page!
51 </datacheck>
52
53 </reply>
54
55 # Client-side
56 <client>
57 <features>
58 NTLM
59 !SSPI
60 debug
61 </features>
62 <server>
63 http
64 </server>
65  <name>
66 HTTP POST with NTLM authorization and added custom headers
67  </name>
68  <setenv>
69 # we force our own host name, in order to make the test machine independent
70 CURL_GETHOSTNAME=curlhost
71 # we try to use the LD_PRELOAD hack, if not a debug build
72 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
73  </setenv>
74  <command>
75 http://%HOSTIP:%HTTPPORT/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no"
76 </command>
77 <precheck>
78 chkhostname curlhost
79 </precheck>
80 </client>
81
82 # Verify data after the test has been "shot"
83 <verify>
84 <strip>
85 ^User-Agent:.*
86 </strip>
87 <protocol nonewline="yes">
88 POST /267 HTTP/1.1\r
89 Host: %HOSTIP:%HTTPPORT\r
90 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
91 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
92 Accept: */*\r
93 Header1: yes\r
94 Header2: no\r
95 Content-Length: 0\r
96 Content-Type: application/x-www-form-urlencoded\r
97 \r
98 POST /267 HTTP/1.1\r
99 Host: %HOSTIP:%HTTPPORT\r
100 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==\r
101 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
102 Accept: */*\r
103 Header1: yes\r
104 Header2: no\r
105 Content-Length: 4\r
106 Content-Type: application/x-www-form-urlencoded\r
107 \r
108 data
109 </protocol>
110 </verify>
111 </testcase>