Merge branch 'dt/smart-http-detect-server-going-away'
authorJunio C Hamano <gitster@pobox.com>
Tue, 10 Jan 2017 23:24:25 +0000 (15:24 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Jan 2017 23:24:25 +0000 (15:24 -0800)
When the http server gives an incomplete response to a smart-http
rpc call, it could lead to client waiting for a full response that
will never come. Teach the client side to notice this condition
and abort the transfer.

An improvement counterproposal has failed.
cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>

* dt/smart-http-detect-server-going-away:
upload-pack: optionally allow fetching any sha1
remote-curl: don't hang when a server dies before any output

1  2 
Documentation/config.txt
remote-curl.c
t/t5551-http-fetch-smart.sh
index 4a991f35828dc8ed6037cf931bc1f5b140bef22d,b7f9991cc782f259fd363595a5631995f5aafd1c..1abf078c4e1c79ee11b05c2a26d83ba28c809a66
@@@ -3025,11 -2959,13 +3025,16 @@@ uploadpack.allowReachableSHA1InWant:
        Allow `upload-pack` to accept a fetch request that asks for an
        object that is reachable from any ref tip. However, note that
        calculating object reachability is computationally expensive.
 -      Defaults to `false`.
 +      Defaults to `false`.  Even if this is false, a client may be able
 +      to steal objects via the techniques described in the "SECURITY"
 +      section of the linkgit:gitnamespaces[7] man page; it's best to
 +      keep private data in a separate repository.
  
+ uploadpack.allowAnySHA1InWant::
+       Allow `upload-pack` to accept a fetch request that asks for any
+       object at all.
+       Defaults to `false`.
  uploadpack.keepAlive::
        When `upload-pack` has started `pack-objects`, there may be a
        quiet period while `pack-objects` prepares the pack. Normally
diff --cc remote-curl.c
Simple merge
Simple merge