xref: /aosp_15_r20/external/curl/tests/data/test153 (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker<testcase>
2*6236dae4SAndroid Build Coastguard Worker<info>
3*6236dae4SAndroid Build Coastguard Worker<keywords>
4*6236dae4SAndroid Build Coastguard WorkerHTTP
5*6236dae4SAndroid Build Coastguard WorkerHTTP GET
6*6236dae4SAndroid Build Coastguard WorkerHTTP Digest auth
7*6236dae4SAndroid Build Coastguard Worker</keywords>
8*6236dae4SAndroid Build Coastguard Worker</info>
9*6236dae4SAndroid Build Coastguard Worker
10*6236dae4SAndroid Build Coastguard Worker# Server-side
11*6236dae4SAndroid Build Coastguard Worker<reply>
12*6236dae4SAndroid Build Coastguard Worker# First reply back and ask for Digest auth
13*6236dae4SAndroid Build Coastguard Worker<data1>
14*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization Required swsclose
15*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
16*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
17*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
18*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard WorkerThis is not the real page
21*6236dae4SAndroid Build Coastguard Worker</data1>
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard Worker# second reply back
24*6236dae4SAndroid Build Coastguard Worker<data2>
25*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization Required swsclose
26*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
27*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
28*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
29*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
30*6236dae4SAndroid Build Coastguard Worker
31*6236dae4SAndroid Build Coastguard WorkerThis is not the real page
32*6236dae4SAndroid Build Coastguard Worker</data2>
33*6236dae4SAndroid Build Coastguard Worker
34*6236dae4SAndroid Build Coastguard Worker# This is supposed to be returned when the server gets a
35*6236dae4SAndroid Build Coastguard Worker# Authorization: Digest line passed-in from the client
36*6236dae4SAndroid Build Coastguard Worker<data1001>
37*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
38*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
39*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
40*6236dae4SAndroid Build Coastguard WorkerContent-Length: 23
41*6236dae4SAndroid Build Coastguard Worker
42*6236dae4SAndroid Build Coastguard WorkerThis IS the real page!
43*6236dae4SAndroid Build Coastguard Worker</data1001>
44*6236dae4SAndroid Build Coastguard Worker
45*6236dae4SAndroid Build Coastguard Worker#
46*6236dae4SAndroid Build Coastguard Worker# This is the second request, and this sends back a response saying that
47*6236dae4SAndroid Build Coastguard Worker# the request contained stale data. We want an update. Set swsbounce to
48*6236dae4SAndroid Build Coastguard Worker# bounce on to data1003 on the second request.
49*6236dae4SAndroid Build Coastguard Worker<data1002>
50*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization re-negotiation please swsbounce
51*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
52*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
53*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
54*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
55*6236dae4SAndroid Build Coastguard Worker
56*6236dae4SAndroid Build Coastguard WorkerThis is not the real page
57*6236dae4SAndroid Build Coastguard Worker</data1002>
58*6236dae4SAndroid Build Coastguard Worker
59*6236dae4SAndroid Build Coastguard Worker# The second request to the 1002 section will bounce this one back instead
60*6236dae4SAndroid Build Coastguard Worker# thanks to the swsbounce keyword up there
61*6236dae4SAndroid Build Coastguard Worker<data1003>
62*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
63*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
64*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
65*6236dae4SAndroid Build Coastguard WorkerContent-Length: 30
66*6236dae4SAndroid Build Coastguard Worker
67*6236dae4SAndroid Build Coastguard WorkerThis IS the second real page!
68*6236dae4SAndroid Build Coastguard Worker</data1003>
69*6236dae4SAndroid Build Coastguard Worker</reply>
70*6236dae4SAndroid Build Coastguard Worker
71*6236dae4SAndroid Build Coastguard Worker# Client-side
72*6236dae4SAndroid Build Coastguard Worker<client>
73*6236dae4SAndroid Build Coastguard Worker<server>
74*6236dae4SAndroid Build Coastguard Workerhttp
75*6236dae4SAndroid Build Coastguard Worker</server>
76*6236dae4SAndroid Build Coastguard Worker<features>
77*6236dae4SAndroid Build Coastguard Worker!SSPI
78*6236dae4SAndroid Build Coastguard Workercrypto
79*6236dae4SAndroid Build Coastguard Worker</features>
80*6236dae4SAndroid Build Coastguard Worker<name>
81*6236dae4SAndroid Build Coastguard WorkerHTTP with Digest authorization with stale=true
82*6236dae4SAndroid Build Coastguard Worker</name>
83*6236dae4SAndroid Build Coastguard Worker<command>
84*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
85*6236dae4SAndroid Build Coastguard Worker</command>
86*6236dae4SAndroid Build Coastguard Worker</client>
87*6236dae4SAndroid Build Coastguard Worker
88*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot"
89*6236dae4SAndroid Build Coastguard Worker<verify>
90*6236dae4SAndroid Build Coastguard Worker<strip>
91*6236dae4SAndroid Build Coastguard Worker^Authorization.*cnonce
92*6236dae4SAndroid Build Coastguard Worker</strip>
93*6236dae4SAndroid Build Coastguard Worker<protocol>
94*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0001 HTTP/1.1
95*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
96*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
97*6236dae4SAndroid Build Coastguard WorkerAccept: */*
98*6236dae4SAndroid Build Coastguard Worker
99*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0001 HTTP/1.1
100*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
101*6236dae4SAndroid Build Coastguard WorkerAuthorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/%TESTNUMBER0001", response="f4f83139396995bac665f24a1f1055c7"
102*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
103*6236dae4SAndroid Build Coastguard WorkerAccept: */*
104*6236dae4SAndroid Build Coastguard Worker
105*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0002 HTTP/1.1
106*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
107*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
108*6236dae4SAndroid Build Coastguard WorkerAccept: */*
109*6236dae4SAndroid Build Coastguard Worker
110*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0002 HTTP/1.1
111*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
112*6236dae4SAndroid Build Coastguard WorkerAuthorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/%TESTNUMBER0002", response="f84511b014fdd0ba6494f42871079c32"
113*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
114*6236dae4SAndroid Build Coastguard WorkerAccept: */*
115*6236dae4SAndroid Build Coastguard Worker
116*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0002 HTTP/1.1
117*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
118*6236dae4SAndroid Build Coastguard WorkerAuthorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
119*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
120*6236dae4SAndroid Build Coastguard WorkerAccept: */*
121*6236dae4SAndroid Build Coastguard Worker
122*6236dae4SAndroid Build Coastguard Worker</protocol>
123*6236dae4SAndroid Build Coastguard Worker<stdout>
124*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization Required swsclose
125*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
126*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
127*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
128*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
129*6236dae4SAndroid Build Coastguard Worker
130*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
131*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
132*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
133*6236dae4SAndroid Build Coastguard WorkerContent-Length: 23
134*6236dae4SAndroid Build Coastguard Worker
135*6236dae4SAndroid Build Coastguard WorkerThis IS the real page!
136*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization Required swsclose
137*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
138*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
139*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
140*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
141*6236dae4SAndroid Build Coastguard Worker
142*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Authorization re-negotiation please swsbounce
143*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
144*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
145*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
146*6236dae4SAndroid Build Coastguard WorkerContent-Length: 26
147*6236dae4SAndroid Build Coastguard Worker
148*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
149*6236dae4SAndroid Build Coastguard WorkerServer: Apache/1.3.27 (Darwin) PHP/4.1.2
150*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
151*6236dae4SAndroid Build Coastguard WorkerContent-Length: 30
152*6236dae4SAndroid Build Coastguard Worker
153*6236dae4SAndroid Build Coastguard WorkerThis IS the second real page!
154*6236dae4SAndroid Build Coastguard Worker</stdout>
155*6236dae4SAndroid Build Coastguard Worker</verify>
156*6236dae4SAndroid Build Coastguard Worker</testcase>
157