提交 519592bc 编写于 作者: J Junio C Hamano

Merge branch 'ew/http-alternates-as-redirects-warning'

Recent versions of Git treats http alternates (used in dumb http
transport) just like HTTP redirects and requires the client to
enable following it, due to security concerns.  But we forgot to
give a warning when we decide not to honor the alternates.

* ew/http-alternates-as-redirects-warning:
  http: release strbuf on disabled alternates
  http: inform about alternates-as-redirects behavior
...@@ -168,6 +168,11 @@ static int is_alternate_allowed(const char *url) ...@@ -168,6 +168,11 @@ static int is_alternate_allowed(const char *url)
}; };
int i; int i;
if (http_follow_config != HTTP_FOLLOW_ALWAYS) {
warning("alternate disabled by http.followRedirects: %s", url);
return 0;
}
for (i = 0; i < ARRAY_SIZE(protocols); i++) { for (i = 0; i < ARRAY_SIZE(protocols); i++) {
const char *end; const char *end;
if (skip_prefix(url, protocols[i], &end) && if (skip_prefix(url, protocols[i], &end) &&
...@@ -314,6 +319,8 @@ static void process_alternates_response(void *callback_data) ...@@ -314,6 +319,8 @@ static void process_alternates_response(void *callback_data)
while (tail->next != NULL) while (tail->next != NULL)
tail = tail->next; tail = tail->next;
tail->next = newalt; tail->next = newalt;
} else {
strbuf_release(&target);
} }
} }
} }
...@@ -331,9 +338,6 @@ static void fetch_alternates(struct walker *walker, const char *base) ...@@ -331,9 +338,6 @@ static void fetch_alternates(struct walker *walker, const char *base)
struct alternates_request alt_req; struct alternates_request alt_req;
struct walker_data *cdata = walker->data; struct walker_data *cdata = walker->data;
if (http_follow_config != HTTP_FOLLOW_ALWAYS)
return;
/* /*
* If another request has already started fetching alternates, * If another request has already started fetching alternates,
* wait for them to arrive and return to processing this request's * wait for them to arrive and return to processing this request's
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册