All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: "Max Kirillov" <max@max630.net>,
	git@vger.kernel.org, "Jeff King" <peff@peff.net>,
	"Jelmer Vernooij" <jelmer@jelmer.uk>,
	"Florian Manschwetus" <manschwetus@cs-software-gmbh.de>
Subject: Re: [PATCH] http-backend: treat empty CONTENT_LENGTH as zero
Date: Tue, 11 Sep 2018 11:27:07 -0700	[thread overview]
Message-ID: <xmqqa7onq490.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <xmqqk1nrq4su.fsf@gitster-ct.c.googlers.com> (Junio C. Hamano's message of "Tue, 11 Sep 2018 11:15:13 -0700")

Junio C Hamano <gitster@pobox.com> writes:

>>> +		/*
>>> +		 * According to RFC 3875, an empty or missing
>>> +		 * CONTENT_LENGTH means "no body", but RFC 3875
>>> +		 * precedes HTTP/1.1 and chunked encoding. Apache and
>>> +		 * its imitators leave CONTENT_LENGTH unset for
>>
>> Which imitators?  Maybe this should just say "Apache leaves [...]".
>
> I tend to agree; I do not mind amending the text while queuing.
> ...
> I do not think we would mind terribly if we do not support
> combinations like gzipped-and-then-chunked from day one.  An in-code
> NEEDSWORK comment that refers to the production in RFC 2616 Page 143
> may not hurt, though.

I refrained from reflowing the first paragraph of the comment in
this message, but will probably reflow it before committing, if the
updated text is acceptable.


 http-backend.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/http-backend.c b/http-backend.c
index 8f515a6def..b997eafb00 100644
--- a/http-backend.c
+++ b/http-backend.c
@@ -357,10 +357,17 @@ static ssize_t get_content_length(void)
 		/*
 		 * According to RFC 3875, an empty or missing
 		 * CONTENT_LENGTH means "no body", but RFC 3875
-		 * precedes HTTP/1.1 and chunked encoding. Apache and
-		 * its imitators leave CONTENT_LENGTH unset for
+		 * precedes HTTP/1.1 and chunked encoding. Apache
+		 * leaves CONTENT_LENGTH unset for
 		 * chunked requests, for which we should use EOF to
 		 * detect the end of the request.
+		 *
+		 * NEEDSWORK: Transfer-Encoding header is defined to
+		 * be a list of elements where "chunked", if exists,
+		 * must be at the end.  The current code only deals
+		 * with the case where "chunked" is the only element.
+		 * See RFC 2616 (14.41 Transfer-Encoding) when
+		 * extending this code.
 		 */
 		str = getenv("HTTP_TRANSFER_ENCODING");
 		if (str && !strcmp(str, "chunked"))

  reply	other threads:[~2018-09-11 18:27 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f12bc1d7-6acb-6ad9-2917-fbb09105f87a@debian.org>
     [not found] ` <20180905202613.GA20473@blodeuwedd>
2018-09-06  6:10   ` CONTENT_LENGTH can no longer be empty Jonathan Nieder
2018-09-06 19:35     ` [PATCH] http-backend: allow empty CONTENT_LENGTH Max Kirillov
2018-09-06 21:54       ` Junio C Hamano
2018-09-07  3:27         ` Max Kirillov
2018-09-07  3:38           ` Jeff King
2018-09-07  4:20             ` Max Kirillov
2018-09-07  4:59             ` Max Kirillov
2018-09-07  9:49               ` Junio C Hamano
2018-09-08  5:41                 ` Max Kirillov
2018-09-09  4:40                 ` Max Kirillov
2018-09-06 22:45       ` Jonathan Nieder
2018-09-07  3:36       ` [PATCH v2] " Max Kirillov
2018-09-08  0:19         ` Jonathan Nieder
2018-09-08  5:35           ` Max Kirillov
2018-09-08  5:42           ` [PATCH v3] " Max Kirillov
2018-09-10  5:17             ` Jonathan Nieder
2018-09-10 20:36               ` Max Kirillov
2018-09-11  4:06                 ` Jonathan Nieder
2018-09-11 20:33                   ` [PATCH v2] http-backend test: make empty CONTENT_LENGTH test more realistic Max Kirillov
2018-09-09  4:10         ` [PATCH v4] http-backend: allow empty CONTENT_LENGTH Max Kirillov
2018-09-10  5:25           ` Jonathan Nieder
2018-09-10 13:17             ` Jeff King
2018-09-10 16:37               ` Junio C Hamano
2018-09-10 18:46                 ` Jeff King
2018-09-10 20:53             ` [PATCH] http-backend: Treat empty CONTENT_LENGTH as zero Max Kirillov
2018-09-10 21:22               ` Jonathan Nieder
2018-09-11  1:55                 ` Jeff King
2018-09-11  2:20                   ` Jonathan Nieder
2018-09-11  2:30                     ` Jeff King
2018-09-11  1:58               ` Jeff King
2018-09-11  3:42               ` [PATCH] http-backend: treat " Jonathan Nieder
2018-09-11  4:03                 ` Jonathan Nieder
2018-09-11 18:15                   ` Junio C Hamano
2018-09-11 18:27                     ` Junio C Hamano [this message]
2018-09-12  5:56                     ` Jeff King
2018-09-12  6:26                       ` Jonathan Nieder
2018-09-12 16:10                       ` Junio C Hamano
2018-09-11  4:18                 ` Junio C Hamano
2018-09-11  4:29                   ` Jonathan Nieder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqa7onq490.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jelmer@jelmer.uk \
    --cc=jrnieder@gmail.com \
    --cc=manschwetus@cs-software-gmbh.de \
    --cc=max@max630.net \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.