Commit 85a79f9d authored by Dan Fandrich's avatar Dan Fandrich
Browse files

Added tests 1071 through 1074 to test automatic downgrading from HTTP 1.1

to HTTP 1.0 upon receiving a response from the HTTP server.  Tests 1072
and 1073 are similar to test 1069 in that they involve the impossible
scenario of sending chunked data to a HTTP 1.0 server.  All these currently
fail and are added to DISABLED.

Added test 1075 to test --anyauth with Basic authentication.
parent d24465b7
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -6,6 +6,15 @@

                                  Changelog

Daniel Fandrich (29 Aug 2008)
- Added tests 1071 through 1074 to test automatic downgrading from HTTP 1.1
  to HTTP 1.0 upon receiving a response from the HTTP server.  Tests 1072
  and 1073 are similar to test 1069 in that they involve the impossible
  scenario of sending chunked data to a HTTP 1.0 server.  All these fail
  and are added to DISABLED.

- Added test 1075 to test --anyauth with Basic authentication.

Daniel Stenberg (29 Aug 2008)
- When libcurl was doing a HTTP POST and the server would respond with
  "Connection: close" and actually close the connection after the
+4 −0
Original line number Diff line number Diff line
@@ -4,3 +4,7 @@
# per line.
# Lines starting with '#' letters are treated as comments.
1069
1071
1072
1073
1074
+2 −1
Original line number Diff line number Diff line
@@ -56,7 +56,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
 test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047   \
 test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055   \
 test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063   \
 test1064 test1065 test1066 test1067 test1068 test1069 test1070
 test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071   \
 test1072 test1073 test1074 test1075

filecheck:
	@mkdir test-place; \
+6 −12
Original line number Diff line number Diff line
@@ -3,13 +3,14 @@
<keywords>
HTTP
HTTP PUT
HTTP/1.0
</keywords>
</info>

# Server-side
<reply>
<data>
HTTP/1.0 200 OK swsclose
HTTP/1.0 500 Impossible swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake

@@ -30,21 +31,14 @@ HTTP 1.0 PUT from stdin with no content length
http://%HOSTIP:%HTTPPORT/bzz/1069 -T - -0
</command>
<stdin>
more than one byte
this data can't be sent
</stdin>
</client>

# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /bzz/1069 HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 0

</protocol>
<errorcode>
25
</errorcode>
</verify>
</testcase>

tests/data/test1071

0 → 100644
+113 −0
Original line number Diff line number Diff line
<testcase>
# Authorization is used to force curl to realize that the server is
# speaking HTTP 1.0. The request must be resent with the correct
# authorization header, but using HTTP 1.0, not 1.1.
<info>
<keywords>
HTTP
HTTP PUT
HTTP Digest auth
--anyauth
HTTP/1.0
</keywords>
</info>

# Server-side
<reply>
<data>
HTTP/1.0 401 Authorization Required swsclose
Server: testcurl
WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
Content-Type: text/plain
Content-Length: 35
Connection: close

Try again on this HTTP 1.0 server!
</data>

# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
<data1000>
HTTP/1.0 200 OK swsclose
Server: testcurl
Content-Type: text/plain
Content-Length: 23
Connection: close

This IS the real page!
</data1000>

<datacheck>
HTTP/1.0 401 Authorization Required swsclose
Server: testcurl
WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
Content-Type: text/plain
Content-Length: 35
Connection: close

HTTP/1.0 200 OK swsclose
Server: testcurl
Content-Type: text/plain
Content-Length: 23
Connection: close

This IS the real page!
</datacheck>

</reply>

# Client-side
<client>
<server>
http
</server>
<features>
crypto
</features>
 <name>
Downgraded HTTP PUT to HTTP 1.0 with authorization
 </name>
 <command>
http://%HOSTIP:%HTTPPORT/1071 -T log/put1071 -u testuser:testpass --anyauth
</command>
<file name="log/put1071">
This is data we upload with PUT
a second line
line three
four is the number of lines
</file>
</client>

# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /1071 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue

This is data we upload with PUT
a second line
line three
four is the number of lines
PUT /1071 HTTP/1.0
Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1071", response="df4cef6b52a30e65d472dd848d2055a1"
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 85

This is data we upload with PUT
a second line
line three
four is the number of lines
</protocol>
</verify>
</testcase>
Loading