1<testcase>
2<info>
3# this test is meant to be exactly like 547 but using Digest instead of NTLM
4<keywords>
5HTTP
6HTTP POST
7POST callback
8HTTP proxy
9HTTP proxy Digest auth
10</keywords>
11</info>
12
13# Server-side
14<reply>
15
16# as a bonus, ww use an excessive nonce length
17<data>
18HTTP/1.1 407 Authorization Required swsclose
19Server: Apache/1.3.27 (Darwin) PHP/4.1.2
20Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
21Content-Type: text/html; charset=iso-8859-1
22Connection: close
23
24This is not the real page
25</data>
26
27# This is supposed to be returned when the server gets the Digest
28# Authorization: line passed-in from the client
29<data1000>
30HTTP/1.1 200 Things are fine in proxy land swsclose
31Server: Microsoft-IIS/5.0
32Content-Type: text/html; charset=iso-8859-1
33Content-Length: 42
34
35Contents of that page you requested, sir.
36</data1000>
37
38<datacheck>
39HTTP/1.1 407 Authorization Required swsclose
40Server: Apache/1.3.27 (Darwin) PHP/4.1.2
41Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
42Content-Type: text/html; charset=iso-8859-1
43Connection: close
44
45HTTP/1.1 200 Things are fine in proxy land swsclose
46Server: Microsoft-IIS/5.0
47Content-Type: text/html; charset=iso-8859-1
48Content-Length: 42
49
50Contents of that page you requested, sir.
51</datacheck>
52</reply>
53
54# Client-side
55<client>
56<server>
57http
58</server>
59# tool to use
60<tool>
61lib547
62</tool>
63<features>
64!SSPI
65crypto
66</features>
67 <name>
68HTTP proxy auth Digest with POST data from read callback
69 </name>
70 <command>
71http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n
72</command>
73</client>
74
75# Verify data after the test has been "shot"
76<verify>
77<strip>
78^User-Agent: curl/.*
79</strip>
80<protocol>
81POST http://test.remote.example.com/path/551 HTTP/1.1
82Host: test.remote.example.com
83Accept: */*
84Proxy-Connection: Keep-Alive
85Content-Length: 36
86Content-Type: application/x-www-form-urlencoded
87
88this is the blurb we want to upload
89POST http://test.remote.example.com/path/551 HTTP/1.1
90Host: test.remote.example.com
91Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", uri="/path/551", response="3325240726fbdaf1e61f3a0dd40b930c"
92Accept: */*
93Proxy-Connection: Keep-Alive
94Content-Length: 36
95Content-Type: application/x-www-form-urlencoded
96
97this is the blurb we want to upload
98</protocol>
99</verify>
100</testcase>
101