xref: /aosp_15_r20/external/curl/tests/data/test2069 (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 POST
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<data>
13*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 authentication please swsbounce
14*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/6.0
15*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true
16*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
17*6236dae4SAndroid Build Coastguard WorkerContent-Length: 0
18*6236dae4SAndroid Build Coastguard Worker
19*6236dae4SAndroid Build Coastguard Worker</data>
20*6236dae4SAndroid Build Coastguard Worker<data1000>
21*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 A OK
22*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/6.0
23*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
24*6236dae4SAndroid Build Coastguard WorkerContent-Length: 3
25*6236dae4SAndroid Build Coastguard Worker
26*6236dae4SAndroid Build Coastguard Workerok
27*6236dae4SAndroid Build Coastguard Worker</data1000>
28*6236dae4SAndroid Build Coastguard Worker
29*6236dae4SAndroid Build Coastguard Worker<datacheck>
30*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 authentication please swsbounce
31*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/6.0
32*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true
33*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
34*6236dae4SAndroid Build Coastguard WorkerContent-Length: 0
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 A OK
37*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/6.0
38*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1
39*6236dae4SAndroid Build Coastguard WorkerContent-Length: 3
40*6236dae4SAndroid Build Coastguard Worker
41*6236dae4SAndroid Build Coastguard Workerok
42*6236dae4SAndroid Build Coastguard Worker</datacheck>
43*6236dae4SAndroid Build Coastguard Worker
44*6236dae4SAndroid Build Coastguard Worker</reply>
45*6236dae4SAndroid Build Coastguard Worker
46*6236dae4SAndroid Build Coastguard Worker# Client-side
47*6236dae4SAndroid Build Coastguard Worker<client>
48*6236dae4SAndroid Build Coastguard Worker#
49*6236dae4SAndroid Build Coastguard Worker<server>
50*6236dae4SAndroid Build Coastguard Workerhttp
51*6236dae4SAndroid Build Coastguard Worker</server>
52*6236dae4SAndroid Build Coastguard Worker<features>
53*6236dae4SAndroid Build Coastguard Worker!SSPI
54*6236dae4SAndroid Build Coastguard Workercrypto
55*6236dae4SAndroid Build Coastguard Worker</features>
56*6236dae4SAndroid Build Coastguard Worker<name>
57*6236dae4SAndroid Build Coastguard WorkerHTTP POST --digest with SHA-256, userhash=true and user-specified Content-Length header
58*6236dae4SAndroid Build Coastguard Worker</name>
59*6236dae4SAndroid Build Coastguard Worker# This test is to ensure 'Content-Length: 0' is sent while negotiating auth
60*6236dae4SAndroid Build Coastguard Worker# even when there is a user-specified Content-Length header.
61*6236dae4SAndroid Build Coastguard Worker# https://github.com/curl/curl/pull/1242
62*6236dae4SAndroid Build Coastguard Worker<command>
63*6236dae4SAndroid Build Coastguard Worker-H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
64*6236dae4SAndroid Build Coastguard Worker</command>
65*6236dae4SAndroid Build Coastguard Worker</client>
66*6236dae4SAndroid Build Coastguard Worker
67*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot"
68*6236dae4SAndroid Build Coastguard Worker<verify>
69*6236dae4SAndroid Build Coastguard Worker<protocol nonewline="yes">
70*6236dae4SAndroid Build Coastguard WorkerPOST /%TESTNUMBER HTTP/1.1
71*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
72*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
73*6236dae4SAndroid Build Coastguard WorkerAccept: */*
74*6236dae4SAndroid Build Coastguard WorkerContent-Length: 0
75*6236dae4SAndroid Build Coastguard WorkerContent-Type: application/x-www-form-urlencoded
76*6236dae4SAndroid Build Coastguard Worker
77*6236dae4SAndroid Build Coastguard WorkerPOST /%TESTNUMBER HTTP/1.1
78*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
79*6236dae4SAndroid Build Coastguard WorkerAuthorization: Digest username="fddc3bc7b753b73ab0848fd83cb20cbbca971258eb8d20c941dd5e0b010d66be", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER", response="9a29f1dab407e62daa7121185f9f12db6177415e03f35d9a881550095a83378d", algorithm=SHA-256, userhash=true
80*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION
81*6236dae4SAndroid Build Coastguard WorkerAccept: */*
82*6236dae4SAndroid Build Coastguard WorkerContent-Length: 11
83*6236dae4SAndroid Build Coastguard WorkerContent-Type: application/x-www-form-urlencoded
84*6236dae4SAndroid Build Coastguard Worker
85*6236dae4SAndroid Build Coastguard Workerjunkelijunk
86*6236dae4SAndroid Build Coastguard Worker</protocol>
87*6236dae4SAndroid Build Coastguard Worker</verify>
88*6236dae4SAndroid Build Coastguard Worker</testcase>
89