Commit a00e7f0f authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a

file that was already completely downloaded caused an error, while it
doesn't if you don't use --fail! I added test case 194 to verify the fix.
Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
libcurl v8 due to all the kludges needed to support it.
parent e1607f57
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -7,6 +7,12 @@
                                  Changelog

Daniel (25 October 2004)
- Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a
  file that was already completely downloaded caused an error, while it
  doesn't if you don't use --fail! I added test case 194 to verify the fix.
  Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
  libcurl v8 due to all the kludges needed to support it.

- Mohun Biswas found out that formposting a zero-byte file didn't work very
  good. I fixed.

+3 −0
Original line number Diff line number Diff line
@@ -250,3 +250,6 @@ TODO

   They will instead become curlx_ - alternatives. That makes the curl app
   still capable of building with them from source.

 * Remove support for CURLOPT_FAILONERROR, it has gotten too kludgy and weird
   internally. Let the app judge success or not for itself.
+8 −0
Original line number Diff line number Diff line
@@ -553,6 +553,14 @@ int Curl_http_should_fail(struct connectdata *conn)
  if (k->httpcode < 400)
    return 0;

  if (conn->resume_from &&
      (data->set.httpreq==HTTPREQ_GET) &&
      (k->httpcode == 416)) {
    /* "Requested Range Not Satisfiable", just proceed and
       pretend this is no error */
    return 0;
  }

  /*
  ** Any code >= 400 that's not 401 or 407 is always
  ** a terminal error
+15 −7
Original line number Diff line number Diff line
@@ -487,7 +487,6 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                (100 == k->httpcode)?conn->headerbytecount:0;

              if (conn->resume_from &&
                  !k->content_range &&
                  (data->set.httpreq==HTTPREQ_GET) &&
                  (k->httpcode == 416)) {
                /* "Requested Range Not Satisfiable" */
@@ -613,11 +612,20 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                    (k->httpcode >= 400) &&
                    (k->httpcode != 401) &&
                    (k->httpcode != 407)) {

                  if (conn->resume_from &&
                      (data->set.httpreq==HTTPREQ_GET) &&
                      (k->httpcode == 416)) {
                    /* "Requested Range Not Satisfiable", just proceed and
                       pretend this is no error */
                  }
                  else {
                    /* serious error, go home! */
                    failf (data, "The requested URL returned error: %d",
                           k->httpcode);
                    return CURLE_HTTP_RETURNED_ERROR;
                  }
                }

                if(k->httpversion == 10)
                  /* Default action for HTTP/1.0 must be to close, unless
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
 test172 test204 test205 test173 test174 test175 test176 test177	\
 test513 test514 test178 test179 test180 test181 test182 test183	\
 test184 test185 test186 test187 test188 test189 test191 test192	\
 test193
 test193 test194

# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them
Loading