- Change the swsbounce keyword to override the part number on a subsequent request to the previous part number + 1. Note the previous part number in this case is the part number that was returned as a response to the previous request and contained the swsbounce keyword. Prior to this change swsbounce incremented the part number of the subsequent request instead of overriding it, and did so in a more limited fashion that prevented chaining swsbounce in multiple responses. For example, if the test makes a request that causes the sws server to return `<data>` as a response and that response contains `swsbounce` then for the next response the sws server returns `<data1>`. If `<data1>` also contains `swsbounce` then for the next response the sws server now returns `<data2>` instead of the requested part. Fixes https://github.com/curl/curl/discussions/16074 Closes https://github.com/curl/curl/pull/16085
123 lines
2.7 KiB
Plaintext
123 lines
2.7 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP PUT
|
|
HTTP proxy
|
|
HTTP Digest auth
|
|
Resume
|
|
Content-Range
|
|
CUSTOMREQUEST
|
|
</keywords>
|
|
</info>
|
|
|
|
<reply>
|
|
<data>
|
|
HTTP/1.1 100 Continue
|
|
Server: Microsoft-IIS/5.0
|
|
Date: Sun, 03 Apr 2005 14:57:45 GMT
|
|
X-Powered-By: ASP.NET
|
|
|
|
HTTP/1.1 401 authentication please
|
|
Server: Microsoft-IIS/6.0
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 0
|
|
|
|
</data>
|
|
<data1000>
|
|
HTTP/1.1 200 A OK
|
|
Server: Microsoft-IIS/6.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 3
|
|
|
|
ok
|
|
</data1000>
|
|
|
|
<datacheck>
|
|
HTTP/1.1 100 Continue
|
|
Server: Microsoft-IIS/5.0
|
|
Date: Sun, 03 Apr 2005 14:57:45 GMT
|
|
X-Powered-By: ASP.NET
|
|
|
|
HTTP/1.1 401 authentication please
|
|
Server: Microsoft-IIS/6.0
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 0
|
|
|
|
HTTP/1.1 200 A OK
|
|
Server: Microsoft-IIS/6.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 3
|
|
|
|
ok
|
|
</datacheck>
|
|
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
#
|
|
<server>
|
|
http
|
|
</server>
|
|
<features>
|
|
!SSPI
|
|
crypto
|
|
proxy
|
|
</features>
|
|
<name>
|
|
HTTP PUT with Digest auth, resumed upload and modified method, twice
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 -T %LOGDIR/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload2 -T %LOGDIR/%TESTNUMBER -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
|
|
</command>
|
|
<file name="%LOGDIR/%TESTNUMBER">
|
|
test
|
|
</file>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Content-Range: bytes 2-4/5
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
Proxy-Connection: Keep-Alive
|
|
Content-Length: 0
|
|
|
|
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER.upload1", response="198aa9b6acb4b0c71d02a197a5e41f54"
|
|
Content-Range: bytes 2-4/5
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
Proxy-Connection: Keep-Alive
|
|
Content-Length: 3
|
|
|
|
st
|
|
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload2 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Content-Range: bytes 2-4/5
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
Proxy-Connection: Keep-Alive
|
|
Content-Length: 0
|
|
|
|
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload2 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER.upload2", response="d711f0d2042786d930de635ba0d1a1d0"
|
|
Content-Range: bytes 2-4/5
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
Proxy-Connection: Keep-Alive
|
|
Content-Length: 3
|
|
|
|
st
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|