From 6c213e863aeb0af078bf82deefb22da20427c2ab Mon Sep 17 00:00:00 2001 From: Max Kirillov Date: Fri, 27 Jul 2018 06:48:59 +0300 Subject: http-backend: respect CONTENT_LENGTH for receive-pack Push passes to another commands, as described in https://public-inbox.org/git/20171129032214.GB32345@sigill.intra.peff.net/ As it gets complicated to correctly track the data length, instead transfer the data through parent process and cut the pipe as the specified length is reached. Do it only when CONTENT_LENGTH is set, otherwise pass the input directly to the forked commands. Add tests for cases: * CONTENT_LENGTH is set, script's stdin has more data, with all combinations of variations: fetch or push, plain or compressed body, correct or truncated input. * CONTENT_LENGTH is specified to a value which does not fit into ssize_t. Helped-by: Junio C Hamano Signed-off-by: Max Kirillov Signed-off-by: Junio C Hamano --- help.c | 1 + 1 file changed, 1 insertion(+) (limited to 'help.c') diff --git a/help.c b/help.c index dd35fcc133..e469f5731c 100644 --- a/help.c +++ b/help.c @@ -609,6 +609,7 @@ int cmd_version(int argc, const char **argv, const char *prefix) else printf("no commit associated with this build\n"); printf("sizeof-long: %d\n", (int)sizeof(long)); + printf("sizeof-size_t: %d\n", (int)sizeof(size_t)); /* NEEDSWORK: also save and output GIT-BUILD_OPTIONS? */ } return 0; -- cgit v1.3