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>
64crypto
65</features>
66 <name>
67HTTP proxy auth Digest with POST data from read callback
68 </name>
69 <command>
70http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n
71</command>
72</client>
73
74# Verify data after the test has been "shot"
75<verify>
76<strip>
77^User-Agent: curl/.*
78</strip>
79<protocol>
80POST http://test.remote.example.com/path/551 HTTP/1.1
81Host: test.remote.example.com
82Accept: */*
83Proxy-Connection: Keep-Alive
84Content-Length: 36
85Content-Type: application/x-www-form-urlencoded
86
87this is the blurb we want to upload
88POST http://test.remote.example.com/path/551 HTTP/1.1
89Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", uri="/path/551", response="3325240726fbdaf1e61f3a0dd40b930c"
90Host: test.remote.example.com
91Accept: */*
92Proxy-Connection: Keep-Alive
93Content-Length: 36
94Content-Type: application/x-www-form-urlencoded
95
96this is the blurb we want to upload
97</protocol>
98</verify>
99</testcase>
100