1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6HTTP NTLM auth
7</keywords>
8</info>
9# Server-side
10<reply>
11
12<data>
13HTTP/1.1 200 Thanks for this! swsclose
14Content-Length: 25
15
16This is the final page !
17</data>
18
19<data1001>
20HTTP/1.1 401 Now gimme that second request of crap
21Server: Microsoft-IIS/5.0
22Content-Type: text/html; charset=iso-8859-1
23Content-Length: 34
24WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
25
26This is not the real page either!
27</data1001>
28
29# This is supposed to be returned when the server gets the second
30# Authorization: NTLM line passed-in from the client
31<data1002>
32HTTP/1.1 302 Thanks for this, but we want to redir you!
33Server: Microsoft-IIS/5.0
34Content-Type: text/html; charset=iso-8859-1
35Location: /1100
36Content-Length: 34
37
38This is not the real page either!
39</data1002>
40
41<datacheck>
42HTTP/1.1 401 Now gimme that second request of crap
43Server: Microsoft-IIS/5.0
44Content-Type: text/html; charset=iso-8859-1
45Content-Length: 34
46WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
47
48HTTP/1.1 302 Thanks for this, but we want to redir you!
49Server: Microsoft-IIS/5.0
50Content-Type: text/html; charset=iso-8859-1
51Location: /1100
52Content-Length: 34
53
54HTTP/1.1 200 Thanks for this! swsclose
55Content-Length: 25
56
57This is the final page !
58</datacheck>
59
60</reply>
61
62# Client-side
63<client>
64<features>
65NTLM
66</features>
67<server>
68http
69</server>
70 <name>
71HTTP POST with NTLM authorization and following a 302 redirect
72 </name>
73 <setenv>
74# we force our own host name, in order to make the test machine independent
75CURL_GETHOSTNAME=curlhost
76# we try to use the LD_PRELOAD hack, if not a debug build
77LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
78 </setenv>
79 <command>
80http://%HOSTIP:%HTTPPORT/1100 -u testuser:testpass --ntlm -L -d "stuff to send away" 
81</command>
82<precheck>
83chkhostname curlhost
84</precheck>
85</client>
86
87# Verify data after the test has been "shot"
88<verify>
89<strip>
90^User-Agent:.*
91</strip>
92<protocol>
93POST /1100 HTTP/1.1
94Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
95User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
96Host: %HOSTIP:%HTTPPORT
97Accept: */*
98Content-Length: 0
99Content-Type: application/x-www-form-urlencoded
100
101POST /1100 HTTP/1.1
102Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoKBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyY3VybGhvc3Q=
103User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
104Host: %HOSTIP:%HTTPPORT
105Accept: */*
106Content-Length: 18
107Content-Type: application/x-www-form-urlencoded
108
109stuff to send awayGET /1100 HTTP/1.1
110User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS GnuTLS/2.6.6 zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.14 libssh2/1.1
111Host: %HOSTIP:%HTTPPORT
112Accept: */*
113
114</protocol>
115</verify>
116</testcase>
117