http.c: use CURLOPT_RANGE for range requests
commit835c4d3689972e616bd109cec3dd8cd4aa4d4c0d
authorDavid Turner <dturner@twopensource.com>
Mon, 2 Nov 2015 21:39:58 +0000 (2 16:39 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 Nov 2015 22:18:06 +0000 (2 14:18 -0800)
treeda7c8b996579dfcab25af29063fc8fc6dc219bf4
parent2635c2b8bfc9aec07b7f023d8e3b3d02df715344
http.c: use CURLOPT_RANGE for range requests

A HTTP server is permitted to return a non-range response to a HTTP
range request (and Apache httpd in fact does this in some cases).
While libcurl knows how to correctly handle this (by skipping bytes
before and after the requested range), it only turns on this handling
if it is aware that a range request is being made.  By manually
setting the range header instead of using CURLOPT_RANGE, we were
hiding the fact that this was a range request from libcurl.  This
could cause corruption.

Signed-off-by: David Turner <dturner@twopensource.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http.c
http.h