Commit 0683adbf authored by Fabian Keil's avatar Fabian Keil Committed by Daniel Stenberg
Browse files

Remove stray CRLF in chunk-encoded content-free request bodies

.. that are sent when auth-negotiating before a chunked
upload or when setting the 'Transfer-Encoding: chunked'
header and intentionally sending no content.

Adjust test565 and test1333 accordingly.
parent 68e2c9a8
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -2484,15 +2484,19 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
          if(postsize) {
            /* Append the POST data chunky-style */
            result = Curl_add_bufferf(req_buffer, "%x\r\n", (int)postsize);
            if(CURLE_OK == result)
            if(CURLE_OK == result) {
              result = Curl_add_buffer(req_buffer, data->set.postfields,
                                       (size_t)postsize);
              if(CURLE_OK == result)
                 result = Curl_add_buffer(req_buffer, "\r\n", 2);
              included_body = postsize + 2;
            }
          }
          if(CURLE_OK == result)
            result = Curl_add_buffer(req_buffer,
                                     "\x0d\x0a\x30\x0d\x0a\x0d\x0a", 7);
          /* CR  LF   0  CR  LF  CR  LF */
          included_body = postsize + 7;
                                     "\x30\x0d\x0a\x0d\x0a", 5);
          /* 0  CR  LF  CR  LF */
          included_body += 5;
        }
        if(result)
          return result;
@@ -2526,8 +2530,8 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
        /* Chunky upload is selected and we're negotiating auth still, send
           end-of-data only */
        result = Curl_add_buffer(req_buffer,
                                 "\x0d\x0a\x30\x0d\x0a\x0d\x0a", 7);
        /* CR  LF   0  CR  LF  CR  LF */
                                 "\x30\x0d\x0a\x0d\x0a", 5);
        /* 0  CR  LF  CR  LF */
        if(result)
          return result;
      }
+0 −1
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ Accept: */*
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded


0

</protocol>
+0 −1
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ Accept: */*
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded


0

POST /565 HTTP/1.1