• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6HTTP Digest auth
7</keywords>
8</info>
9
10# Server-side
11<reply>
12<data>
13HTTP/1.1 401 authentication please swsbounce
14Server: Microsoft-IIS/6.0
15WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"
16Content-Type: text/html; charset=iso-8859-1
17Content-Length: 0
18
19</data>
20<data1000>
21HTTP/1.1 200 A OK
22Server: Microsoft-IIS/6.0
23Content-Type: text/html; charset=iso-8859-1
24Content-Length: 3
25
26ok
27</data1000>
28
29<datacheck>
30HTTP/1.1 401 authentication please swsbounce
31Server: Microsoft-IIS/6.0
32WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"
33Content-Type: text/html; charset=iso-8859-1
34Content-Length: 0
35
36HTTP/1.1 200 A OK
37Server: Microsoft-IIS/6.0
38Content-Type: text/html; charset=iso-8859-1
39Content-Length: 3
40
41ok
42</datacheck>
43
44</reply>
45
46# Client-side
47<client>
48#
49<server>
50http
51</server>
52<features>
53!SSPI
54crypto
55</features>
56<name>
57HTTP POST --digest with SHA-512-256, userhash=false and user-specified Content-Length header
58</name>
59# This test is to ensure 'Content-Length: 0' is sent while negotiating auth
60# even when there is a user-specified Content-Length header.
61# https://github.com/curl/curl/pull/1242
62<command>
63-H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
64</command>
65</client>
66
67# Verify data after the test has been "shot"
68<verify>
69<protocol nonewline="yes">
70POST /%TESTNUMBER HTTP/1.1
71Host: %HOSTIP:%HTTPPORT
72User-Agent: curl/%VERSION
73Accept: */*
74Content-Length: 0
75Content-Type: application/x-www-form-urlencoded
76
77POST /%TESTNUMBER HTTP/1.1
78Host: %HOSTIP:%HTTPPORT
79Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER", response="4bc9c97a72f1856bcec9b0e1518c6b7ee28773f91357d56840bdc30bd89ca68f", algorithm=SHA-512-256
80User-Agent: curl/%VERSION
81Accept: */*
82Content-Length: 11
83Content-Type: application/x-www-form-urlencoded
84
85junkelijunk
86</protocol>
87</verify>
88</testcase>
89