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!SSPI
67debug
68</features>
69<server>
70http
71</server>
72 <name>
73HTTP POST with NTLM authorization and following a 302 redirect
74 </name>
75 <setenv>
76# we force our own host name, in order to make the test machine independent
77CURL_GETHOSTNAME=curlhost
78# we try to use the LD_PRELOAD hack, if not a debug build
79LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
80 </setenv>
81 <command>
82http://%HOSTIP:%HTTPPORT/1100 -u testuser:testpass --ntlm -L -d "stuff to send away"
83</command>
84<precheck>
85chkhostname curlhost
86</precheck>
87</client>
88
89# Verify data after the test has been "shot"
90<verify>
91<strip>
92^User-Agent:.*
93</strip>
94<protocol>
95POST /1100 HTTP/1.1
96Host: %HOSTIP:%HTTPPORT
97Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
98User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
99Accept: */*
100Content-Length: 0
101Content-Type: application/x-www-form-urlencoded
102
103POST /1100 HTTP/1.1
104Host: %HOSTIP:%HTTPPORT
105Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
106User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
107Accept: */*
108Content-Length: 18
109Content-Type: application/x-www-form-urlencoded
110
111stuff to send awayGET /1100 HTTP/1.1
112Host: %HOSTIP:%HTTPPORT
113User-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
114Accept: */*
115
116</protocol>
117</verify>
118</testcase>
119