From: Jonathan Nieder Date: Mon, 10 Sep 2018 05:25:58 GMT Subject: Re: [PATCH v4] http-backend: allow empty CONTENT_LENGTH Message-ID: <20180910052558.GB55941@aiede.svl.corp.google.com> In-Reply-To: <20180909041016.23980-1-max@max630.net> Max Kirillov wrote: > Reported-By: Jelmer Vernooij > Authored-by: Jeff King > Signed-off-by: Max Kirillov Nit: for this kind of case of forwarding someone else's patch, we put a From field at the beginning of the body of the message. "git format-patch" can produce a message with that format if you commit with 'git commit --author="Someone Else "' and run format-patch with --from="My Name ". More details are in the DISCUSSION section of git-format-patch(1). As with v3, since v2 is already in "next" this should go incremental. [...] > --- a/http-backend.c > +++ b/http-backend.c > @@ -353,8 +353,28 @@ static ssize_t get_content_length(void) > ssize_t val = -1; > const char *str = getenv("CONTENT_LENGTH"); > > - if (str && !git_parse_ssize_t(str, &val)) > - die("failed to parse CONTENT_LENGTH: %s", str); > + if (!str) { > + /* > + * RFC3875 says this must mean "no body", but in practice we > + * receive chunked encodings with no CONTENT_LENGTH. Tell the > + * caller to read until EOF. > + */ > + val = -1; > + } else if (!*str) { > + /* > + * An empty length should be treated as "no body" according to > + * RFC3875, and this seems to hold in practice. > + */ > + val = 0; Are there example callers that this version fixes? Where can I read more, or what can I run to experience it? For example, v2.19.0-rc0~45^2~2 (http-backend: respect CONTENT_LENGTH as specified by rfc3875, 2018-06-10) mentions IIS/Windows; does IIS make use of this distinction? Thanks, Jonathan