• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP GET
6HTTP Digest auth
7</keywords>
8</info>
9
10# Server-side
11<reply>
12# reply back and ask for Digest auth
13<data1>
14HTTP/1.1 401 Authorization Required swsclose
15Server: Apache/1.3.27 (Darwin) PHP/4.1.2
16WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
17Content-Type: text/html; charset=iso-8859-1
18Content-Length: 26
19
20This is not the real page
21</data1>
22
23# This is supposed to be returned when the server gets a
24# Authorization: Digest line passed-in from the client
25<data1001>
26HTTP/1.1 200 OK
27Server: Apache/1.3.27 (Darwin) PHP/4.1.2
28Content-Type: text/html; charset=iso-8859-1
29Content-Length: 23
30
31This IS the real page!
32</data1001>
33
34#
35# This is the second request, and this sends back a response saying that
36# the request contained stale data. We want an update. Set swsbounce to
37# bounce on to data1003 on the second request.
38<data1002>
39HTTP/1.1 401 Authorization re-negotiation please swsbounce
40Server: Apache/1.3.27 (Darwin) PHP/4.1.2
41WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
42Content-Type: text/html; charset=iso-8859-1
43Content-Length: 25
44
45This is not the real page
46</data1002>
47
48# The second request to the 1002 section will bounce this one back instead
49# thanks to the swsbounce keyword up there
50<data1003>
51HTTP/1.1 200 OK
52Server: Apache/1.3.27 (Darwin) PHP/4.1.2
53Content-Type: text/html; charset=iso-8859-1
54Content-Length: 30
55
56This IS the second real page!
57</data1003>
58</reply>
59
60# Client-side
61<client>
62<server>
63http
64</server>
65<features>
66!SSPI
67crypto
68</features>
69 <name>
70HTTP with Digest authorization with stale=true
71 </name>
72 <command>
73http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/1530002
74</command>
75</client>
76
77# Verify data after the test has been "shot"
78<verify>
79<strip>
80^Authorization.*cnonce
81^User-Agent:.*
82</strip>
83<protocol>
84GET /1530001 HTTP/1.1
85Host: %HOSTIP:%HTTPPORT
86Accept: */*
87
88GET /1530001 HTTP/1.1
89Host: %HOSTIP:%HTTPPORT
90Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
91User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
92Accept: */*
93
94GET /1530002 HTTP/1.1
95Host: %HOSTIP:%HTTPPORT
96Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
97User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
98Accept: */*
99
100GET /1530002 HTTP/1.1
101Host: %HOSTIP:%HTTPPORT
102Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm="MD5"
103User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
104Accept: */*
105
106</protocol>
107<stdout>
108HTTP/1.1 401 Authorization Required swsclose
109Server: Apache/1.3.27 (Darwin) PHP/4.1.2
110WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
111Content-Type: text/html; charset=iso-8859-1
112Content-Length: 26
113
114HTTP/1.1 200 OK
115Server: Apache/1.3.27 (Darwin) PHP/4.1.2
116Content-Type: text/html; charset=iso-8859-1
117Content-Length: 23
118
119This IS the real page!
120HTTP/1.1 401 Authorization re-negotiation please swsbounce
121Server: Apache/1.3.27 (Darwin) PHP/4.1.2
122WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
123Content-Type: text/html; charset=iso-8859-1
124Content-Length: 25
125
126HTTP/1.1 200 OK
127Server: Apache/1.3.27 (Darwin) PHP/4.1.2
128Content-Type: text/html; charset=iso-8859-1
129Content-Length: 30
130
131This IS the second real page!
132</stdout>
133</verify>
134</testcase>
135