summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ac3593d)
raw | patch | inline | side by side (parent: ac3593d)
author | Mike Hommey <mh@glandium.org> | |
Sat, 9 Feb 2008 09:41:36 +0000 (10:41 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 11 Feb 2008 20:51:55 +0000 (12:51 -0800) |
curl versions 7.16.3 to 7.18.0 included had a regression in which https
requests following curl_global_cleanup/init sequence would fail with ASN1
parser errors with curl-gnutls. Such sequences happen in some cases such
as git fetch.
We work around this by removing the http_init and http_cleanup calls from
get_refs_via_curl, replacing them with a transport->data initialization
with the http_walker (which does http_init).
While the http_walker is not currently used in get_refs_via_curl, http
and walker code refactor will make it use it.
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
requests following curl_global_cleanup/init sequence would fail with ASN1
parser errors with curl-gnutls. Such sequences happen in some cases such
as git fetch.
We work around this by removing the http_init and http_cleanup calls from
get_refs_via_curl, replacing them with a transport->data initialization
with the http_walker (which does http_init).
While the http_walker is not currently used in get_refs_via_curl, http
and walker code refactor will make it use it.
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
transport.c | patch | blob | history |
diff --git a/transport.c b/transport.c
index babaa21398522939076151f1c240a4f18f9a90a1..497f85372173f6f270a4c0ee9474f165bb884413 100644 (file)
--- a/transport.c
+++ b/transport.c
struct ref *ref = NULL;
struct ref *last_ref = NULL;
+ if (!transport->data)
+ transport->data = get_http_walker(transport->url);
+
refs_url = xmalloc(strlen(transport->url) + 11);
sprintf(refs_url, "%s/info/refs", transport->url);
- http_init();
-
slot = get_active_slot();
slot->results = &results;
curl_easy_setopt(slot->curl, CURLOPT_FILE, &buffer);
return NULL;
}
- http_cleanup();
-
data = buffer.buf;
start = NULL;
mid = data;