• 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-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-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 SHA256 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/2067
64</command>
65</client>
66
67# Verify data after the test has been "shot"
68<verify>
69<strip>
70^User-Agent:.*
71</strip>
72<protocol nonewline="yes">
73POST /2067 HTTP/1.1
74Host: %HOSTIP:%HTTPPORT
75Accept: */*
76Content-Length: 0
77Content-Type: application/x-www-form-urlencoded
78
79POST /2067 HTTP/1.1
80Host: %HOSTIP:%HTTPPORT
81Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/2067", response="67b97af219c92fa7e8685e5bebb8e74892f6c6792e911c52bd2dfbf0b49272eb", algorithm="SHA-256"
82Accept: */*
83Content-Length: 11
84Content-Type: application/x-www-form-urlencoded
85
86junkelijunk
87</protocol>
88</verify>
89</testcase>
90