57 lines
2.3 KiB
Diff
57 lines
2.3 KiB
Diff
|
|
From bbe1d1e498e62e851d1b93a690a7b80cd7ba4828 Mon Sep 17 00:00:00 2001
|
|||
|
|
From: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
|
|||
|
|
Date: Mon, 26 Aug 2024 16:05:30 +0800
|
|||
|
|
Subject: [PATCH] import: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
CURLOPT_PROTOCOLS [0] was deprecated in libcurl 7.85.0 with
|
|||
|
|
CURLOPT_PROTOCOLS_STR [1] as a replacement, causing build warnings/errors:
|
|||
|
|
|
|||
|
|
../build/src/import/curl-util.c: In function ‘curl_glue_make’:
|
|||
|
|
../build/src/import/curl-util.c:255:9: error: ‘CURLOPT_PROTOCOLS’ is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [-Werror=deprecated-declarations]
|
|||
|
|
255 | if (curl_easy_setopt(c, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_FILE) != CURLE_OK)
|
|||
|
|
| ^~
|
|||
|
|
In file included from ../build/src/import/curl-util.h:4,
|
|||
|
|
from ../build/src/import/curl-util.c:6:
|
|||
|
|
/usr/include/curl/curl.h:1749:3: note: declared here
|
|||
|
|
1749 | CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,
|
|||
|
|
| ^~~~~~~~~~~~~~~~~
|
|||
|
|
cc1: all warnings being treated as errors
|
|||
|
|
|
|||
|
|
Since there's no grace period between the two symbols, let's resort
|
|||
|
|
to a light if-def-ery to resolve this.
|
|||
|
|
|
|||
|
|
[0] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS.html
|
|||
|
|
[1] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS_STR.html
|
|||
|
|
|
|||
|
|
Reference: https://github.com/systemd/systemd/pull/25982/commits/e61a4c0b7c79eabbe4eb50ff2e663734fde769f0
|
|||
|
|
|
|||
|
|
Signed-off-by: Frantisek Sumsal <frantisek@sumsal.cz>
|
|||
|
|
Signed-off-by: zhaoxiaohu <zhaoxiaohu@kuaishou.com>
|
|||
|
|
Signed-off-by: yuwang <yuwang@kuaishou.com>
|
|||
|
|
---
|
|||
|
|
src/import/curl-util.c | 4 ++++
|
|||
|
|
1 file changed, 4 insertions(+)
|
|||
|
|
|
|||
|
|
diff --git a/src/import/curl-util.c b/src/import/curl-util.c
|
|||
|
|
index d6a16b4..24a4fb6 100644
|
|||
|
|
--- a/src/import/curl-util.c
|
|||
|
|
+++ b/src/import/curl-util.c
|
|||
|
|
@@ -256,7 +256,11 @@ int curl_glue_make(CURL **ret, const char *url, void *userdata) {
|
|||
|
|
if (curl_easy_setopt(c, CURLOPT_LOW_SPEED_LIMIT, 30L) != CURLE_OK)
|
|||
|
|
return -EIO;
|
|||
|
|
|
|||
|
|
+#if LIBCURL_VERSION_NUM >= 0x075500 /* libcurl 7.85.0 */
|
|||
|
|
+ if (curl_easy_setopt(c, CURLOPT_PROTOCOLS_STR, "HTTP,HTTPS,FILE") != CURLE_OK)
|
|||
|
|
+#else
|
|||
|
|
if (curl_easy_setopt(c, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_FILE) != CURLE_OK)
|
|||
|
|
+#endif
|
|||
|
|
return -EIO;
|
|||
|
|
|
|||
|
|
*ret = TAKE_PTR(c);
|
|||
|
|
--
|
|||
|
|
2.33.0
|
|||
|
|
|