Subject: Re: [PATCH v4 0/5] drop support for ancient curl

From: Junio C Hamano <[email-masked]>
Date: Fri, 30 Jul 2021 15:49:52 -0700

Junio C Hamano <[email-masked]> writes:

> Junio C Hamano <[email-masked]> writes:
>
>>>     +    The documentation[2] currently claims that it was introduced in
>>>     +    7.16.4, but the symbols-in-versions file correctly states
>>>     +    7.17.0[3].
>>>     +
>>>     +    I've submitted an upstream
>>>     +    patch (<[email-masked]>) to the
>>>     +    curl-library mailing list fix the documentation.
>>
>> I am not sure how to get to the patch, but I suspect you might be
>> misreading "up to X", which is different from "before X".  Once cURL
>> mailing list confirms my suspicion, we would need to come back and
>> update this patch again.
>
> Ah, I found it at https://curl.se/mail/lib-2021-07/0058.html
>
> Nobody seems to have responded yet, but I do think you are
> misreading what "X was known under a different name Y up to 7.16.4"
> means.  These places do not say "before 7.16.4", which would have
> implied that as of 7.16.4 you would be able to use X (not Y).
>
> But because "up to" is "less than or equal to but not more than"
> (e.g https://dictionary.cambridge.org/us/dictionary/english/up-to),
> what applies to 7.16.3 also applies to 7.16.4, but not to 7.17.0.
> IOW, the feature X was known as Y when 7.16.4 was current, so our
> use of X would not have worked with that exact version.  We would
> have needed to wait until the next version (7.17.0).

It seems that Daniel has exactly the same reaction as I did.

    https://curl.se/mail/lib-2021-07/0059.html

So, let's fix the log message for [4/5] on our end again.

-- >8 --
http: drop support for curl < 7.19.3 and < 7.17.0 (again)

Remove the conditional use of CURLAUTH_DIGEST_IE and
CURLOPT_USE_SSL. These two have been split from earlier simpler
checks against LIBCURL_VERSION_NUM for ease of review.

According to

  https://github.com/curl/curl/blob/master/docs/libcurl/symbols-in-versions

the CURLAUTH_DIGEST_IE flag became available in 7.19.3, and
CURLOPT_USE_SSL in 7.17.0.

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

diff --git a/http.c b/http.c
index 1f0d7664d3..e9446850a6 100644
--- a/http.c
+++ b/http.c
@@ -120,9 +120,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;
@@ -893,10 +891,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 19f19dbe74..3db5a0cf32 100644
--- a/http.h
+++ b/http.h
@@ -12,15 +12,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;