Song Ma provided a patch that cures a problem libcurl has when doing resume
HTTP PUT using Digest authentication. Test case 5320 and 5322 were also added to verify the functionality.
This commit is contained in:
@@ -43,4 +43,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
|
||||
test296 test297 test298 test610 test611 test612 test406 test407 test408 \
|
||||
test409 test613 test614 test700 test701 test702 test704 test705 test703 \
|
||||
test706 test707 test350 test351 test352 test353 test289 test540 test354 \
|
||||
test231
|
||||
test231 test5320 test5322
|
||||
|
||||
94
tests/data/test5320
Normal file
94
tests/data/test5320
Normal file
@@ -0,0 +1,94 @@
|
||||
<testcase>
|
||||
# Server-side
|
||||
<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 swsbounce
|
||||
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 swsbounce
|
||||
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>
|
||||
<name>
|
||||
HTTP POST --digest with PUT and resumed upload and modified method
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/5320 -u auser:apasswd --digest -T log/5320 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
|
||||
</command>
|
||||
<file name="log/5320">
|
||||
test
|
||||
</file>
|
||||
</client>
|
||||
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
^User-Agent:.*
|
||||
</strip>
|
||||
<protocol>
|
||||
GET http://%HOSTIP:%HTTPPORT/5320 HTTP/1.1
|
||||
Content-Range: bytes 2-4/5
|
||||
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Pragma: no-cache
|
||||
Accept: */*
|
||||
Proxy-Connection: Keep-Alive
|
||||
Content-Length: 0
|
||||
Expect: 100-continue
|
||||
|
||||
GET http://%HOSTIP:%HTTPPORT/5320 HTTP/1.1
|
||||
Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/5320", response="2bcdd77cd20487372fe7ecd3158b80f9"
|
||||
Content-Range: bytes 2-4/5
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Pragma: no-cache
|
||||
Accept: */*
|
||||
Proxy-Connection: Keep-Alive
|
||||
Content-Length: 3
|
||||
Expect: 100-continue
|
||||
|
||||
st
|
||||
</protocol>
|
||||
</verify>
|
||||
</testcase>
|
||||
106
tests/data/test5322
Normal file
106
tests/data/test5322
Normal file
@@ -0,0 +1,106 @@
|
||||
<testcase>
|
||||
# Server-side
|
||||
<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 swsbounce
|
||||
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 swsbounce
|
||||
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>
|
||||
<name>
|
||||
HTTP POST --digest with PUT and resumed upload and modified method, twice
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/5320.upload1 -T log/5320 http://%HOSTIP:%HTTPPORT/5320.upload2 -T log/5320 -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
|
||||
</command>
|
||||
<file name="log/5320">
|
||||
test
|
||||
</file>
|
||||
</client>
|
||||
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
^User-Agent:.*
|
||||
</strip>
|
||||
<protocol>
|
||||
GET http://%HOSTIP:%HTTPPORT/5320.upload1 HTTP/1.1
|
||||
Content-Range: bytes 2-4/5
|
||||
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Pragma: no-cache
|
||||
Accept: */*
|
||||
Proxy-Connection: Keep-Alive
|
||||
Content-Length: 0
|
||||
Expect: 100-continue
|
||||
|
||||
GET http://%HOSTIP:%HTTPPORT/5320.upload1 HTTP/1.1
|
||||
Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/5320.upload1", response="0fb68703673e77243cbc4a3910e25c25"
|
||||
Content-Range: bytes 2-4/5
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Pragma: no-cache
|
||||
Accept: */*
|
||||
Proxy-Connection: Keep-Alive
|
||||
Content-Length: 3
|
||||
Expect: 100-continue
|
||||
|
||||
st
|
||||
GET http://%HOSTIP:%HTTPPORT/5320.upload2 HTTP/1.1
|
||||
Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/5320.upload2", response="3d6a8cb72fae0b06039f5bdb1a09eccd"
|
||||
Content-Range: bytes 2-4/5
|
||||
User-Agent: curl/7.16.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Pragma: no-cache
|
||||
Accept: */*
|
||||
Proxy-Connection: Keep-Alive
|
||||
Content-Length: 3
|
||||
Expect: 100-continue
|
||||
|
||||
st
|
||||
</protocol>
|
||||
</verify>
|
||||
</testcase>
|
||||
Reference in New Issue
Block a user