Commit 1db3035d by Carlos Martín Nieto Committed by GitHub

Merge pull request #3996 from pks-t/pks/curl-lastsocket-deprecation

curl_stream: use CURLINFO_ACTIVESOCKET if curl is recent enough
parents f5ea9d4a 5cbd5260
...@@ -15,6 +15,16 @@ ...@@ -15,6 +15,16 @@
#include "vector.h" #include "vector.h"
#include "proxy.h" #include "proxy.h"
/* This is for backwards compatibility with curl<7.45.0. */
#ifndef CURLINFO_ACTIVESOCKET
# define CURLINFO_ACTIVESOCKET CURLINFO_LASTSOCKET
# define GIT_CURL_BADSOCKET -1
# define git_activesocket_t long
#else
# define GIT_CURL_BADSOCKET CURL_SOCKET_BAD
# define git_activesocket_t curl_socket_t
#endif
typedef struct { typedef struct {
git_stream parent; git_stream parent;
CURL *handle; CURL *handle;
...@@ -87,7 +97,8 @@ static int ask_and_apply_proxy_creds(curl_stream *s) ...@@ -87,7 +97,8 @@ static int ask_and_apply_proxy_creds(curl_stream *s)
static int curls_connect(git_stream *stream) static int curls_connect(git_stream *stream)
{ {
curl_stream *s = (curl_stream *) stream; curl_stream *s = (curl_stream *) stream;
long sockextr, connect_last = 0; git_activesocket_t sockextr;
long connect_last = 0;
int failed_cert = 0, error; int failed_cert = 0, error;
bool retry_connect; bool retry_connect;
CURLcode res; CURLcode res;
...@@ -117,11 +128,11 @@ static int curls_connect(git_stream *stream) ...@@ -117,11 +128,11 @@ static int curls_connect(git_stream *stream)
if (res == CURLE_PEER_FAILED_VERIFICATION) if (res == CURLE_PEER_FAILED_VERIFICATION)
failed_cert = 1; failed_cert = 1;
if ((res = curl_easy_getinfo(s->handle, CURLINFO_LASTSOCKET, &sockextr)) != CURLE_OK) { if ((res = curl_easy_getinfo(s->handle, CURLINFO_ACTIVESOCKET, &sockextr)) != CURLE_OK) {
return seterr_curl(s); return seterr_curl(s);
} }
if (sockextr == -1) { if (sockextr == GIT_CURL_BADSOCKET) {
giterr_set(GITERR_NET, "curl socket is no longer valid"); giterr_set(GITERR_NET, "curl socket is no longer valid");
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment