Subject: [PATCH 5/4] curl: remove ifdef'd code never used with curl >=7.19.4

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Wed, 9 Aug 2017 13:49:37 +0000

As the LIBCURL_VERSION_NUM check at the top of http.h shows we require
curl >= 7.19.4. This means we can remove previously added ifdef's
needed to support older curl versions.

The CURLAUTH_DIGEST_IE macro conditionally used since [1] was added in
7.19.3 (see CURLOPT_HTTPAUTH(3)).

The CURLOPT_USE_SSL macro used since [2] was added in 7.16.4 (see
CURLOPT_USE_SSL(3)).

1. 40a18fc77c ("http: add an "auto" mode for http.emptyauth",
   2017-02-25)
2. 4bc444eb64 ("Support FTP-over-SSL/TLS for regular FTP", 2013-04-07)

Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
---

On Wed, Aug 9, 2017 at 3:38 PM, Jeff King <[email-masked]> wrote:
> On Wed, Aug 09, 2017 at 03:14:22PM +0200, Ævar Arnfjörð Bjarmason wrote:
>
>> This whole series looks good to me. As I commented on in the thread you
>> referenced in 0/4 I think this is the right trade-off, and people like
>> me who occasionally compile git on older systems can just easily package
>> a newer curl as well if we need it.
>>
>> My reading of the curl history/docs is that you should squash this into
>> this last patch. It's code that's now dead since we require
>> 7.19.4.
>>
>> CURLAUTH_DIGEST_IE was added in 7.19.3, and as a comment this squash
>> removes indicates CURLOPT_USE_SSL hasn't been needed since 7.16.4:
>> https://curl.haxx.se/libcurl/c/CURLOPT_USE_SSL.html
>
> Thanks. Do you mind formatting this as a patch on top instead of a
> squash? I think it's sufficiently subtle that it should be separate from
> the main cleanup, which is just dropping our own internal #ifdefs.

No problem. Here it is. Intended to be placed after your 4/4 since the
commit message references the new error message in http.h.

 http.c | 4 ----
 http.h | 9 ---------
 2 files changed, 13 deletions(-)

diff --git a/http.c b/http.c
index 5280511c74..527bc56dc2 100644
--- a/http.c
+++ b/http.c
@@ -103,9 +103,7 @@ static int http_auth_methods_restricted;
 /* Modes for which empty_auth cannot actually help us. */
 static unsigned long empty_auth_useless =
 	CURLAUTH_BASIC
-#ifdef CURLAUTH_DIGEST_IE
 	| CURLAUTH_DIGEST_IE
-#endif
 	| CURLAUTH_DIGEST;
 
 static struct curl_slist *pragma_header;
@@ -706,10 +704,8 @@ static CURL *get_curl_handle(void)
 	if (curl_ftp_no_epsv)
 		curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0);
 
-#ifdef CURLOPT_USE_SSL
 	if (curl_ssl_try)
 		curl_easy_setopt(result, CURLOPT_USE_SSL, CURLUSESSL_TRY);
-#endif
 
 	/*
 	 * CURL also examines these variables as a fallback; but we need to query
diff --git a/http.h b/http.h
index 29acfe8c55..66d2d3c539 100644
--- a/http.h
+++ b/http.h
@@ -16,15 +16,6 @@
 
 #define DEFAULT_MAX_REQUESTS 5
 
-/*
- * CURLOPT_USE_SSL was known as CURLOPT_FTP_SSL up to 7.16.4,
- * and the constants were known as CURLFTPSSL_*
-*/
-#if !defined(CURLOPT_USE_SSL) && defined(CURLOPT_FTP_SSL)
-#define CURLOPT_USE_SSL CURLOPT_FTP_SSL
-#define CURLUSESSL_TRY CURLFTPSSL_TRY
-#endif
-
 struct slot_results {
 	CURLcode curl_result;
 	long http_code;
-- 
2.14.0.rc1.383.gd1ce394fe2