summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbdunahu <bdunahu@operationnull.com>2026-08-05 18:56:04 -0400
committerNguyễn Gia Phong <cnx@loang.net>2026-08-31 10:56:18 +0900
commitcbea88c52aca403740ca3bb8ac89a40706c09211 (patch)
tree8b50e1a3d3ee38107d8fe98fb9594dcd6fb46c41
parentb7b7aa38fbc4d4019d60c3489460f02897211535 (diff)
gnu: curl: Update to 8.21.0 [security fixes].
This update contains fixes for CVE-2026-8286, CVE-2026-8924, CVE-2026-8925, CVE-2026-8926, CVE-2026-8927, CVE-2026-8932, CVE-2026-9079, CVE-2026-9080, CVE-2026-9545, CVE-2026-9546, CVE-2026-9547. CVE-2026-10536, CVE-2026-11352, CVE-2026-11564, CVE-2026-11586, CVE-2026-11856 and CVE-2026-12064, * gnu/packages/curl.scm (curl): Update to 8.21.0. * gnu/packages/patches/curl-use-ssl-cert-env.patch: Adapt for upstream changes. Merges: https://codeberg.org/guix/guix/pulls/10375 Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
-rw-r--r--gnu/packages/curl.scm4
-rw-r--r--gnu/packages/patches/curl-use-ssl-cert-env.patch33
2 files changed, 18 insertions, 19 deletions
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 6b8c9ee1f25..926b0ce429c 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -69,14 +69,14 @@
69(define-public curl 69(define-public curl
70 (package 70 (package
71 (name "curl") 71 (name "curl")
72 (version "8.20.0") 72 (version "8.21.0")
73 (source (origin 73 (source (origin
74 (method url-fetch) 74 (method url-fetch)
75 (uri (string-append "https://curl.se/download/curl-" 75 (uri (string-append "https://curl.se/download/curl-"
76 version ".tar.xz")) 76 version ".tar.xz"))
77 (sha256 77 (sha256
78 (base32 78 (base32
79 "15mqw8y9vdxlz9cpr2z7q9r6552wgs7q7vr2k7lfl35s930jvzk3")) 79 "1rkjzj3sr4zvvwx41aqjwlfmdbh8dij4b1sh4k33vs5c1sknc6xa"))
80 (patches (search-patches "curl-use-ssl-cert-env.patch")))) 80 (patches (search-patches "curl-use-ssl-cert-env.patch"))))
81 (outputs '("out" 81 (outputs '("out"
82 "doc")) ;1.2 MiB of man3 pages 82 "doc")) ;1.2 MiB of man3 pages
diff --git a/gnu/packages/patches/curl-use-ssl-cert-env.patch b/gnu/packages/patches/curl-use-ssl-cert-env.patch
index 445e52c430f..6639a4d0df5 100644
--- a/gnu/packages/patches/curl-use-ssl-cert-env.patch
+++ b/gnu/packages/patches/curl-use-ssl-cert-env.patch
@@ -4,12 +4,11 @@ must be called when no other threads exist).
4 4
5This fixes network functionality in rust:cargo, and probably removes the need 5This fixes network functionality in rust:cargo, and probably removes the need
6for other future workarounds. 6for other future workarounds.
7=================================================================== 7diff --git a/lib/easy.c b/lib/easy.c
8Index: curl-8.19.0/lib/easy.c 8index d60bdae..d25d670 100644
9=================================================================== 9--- a/lib/easy.c
10--- curl-8.19.0.orig/lib/easy.c 10+++ b/lib/easy.c
11+++ curl-8.19.0/lib/easy.c 11@@ -117,6 +117,9 @@ curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
12@@ -117,6 +117,9 @@ curl_calloc_callback Curl_ccalloc = (cur
13 static char *leakpointer; 12 static char *leakpointer;
14 #endif 13 #endif
15 14
@@ -19,7 +18,7 @@ Index: curl-8.19.0/lib/easy.c
19 /** 18 /**
20 * curl_global_init() globally initializes curl given a bitwise set of the 19 * curl_global_init() globally initializes curl given a bitwise set of the
21 * different features of what to initialize. 20 * different features of what to initialize.
22@@ -140,6 +143,9 @@ static CURLcode global_init(long flags, 21@@ -140,6 +143,9 @@ static CURLcode global_init(long flags, bool memoryfuncs)
23 goto fail; 22 goto fail;
24 } 23 }
25 24
@@ -39,12 +38,12 @@ Index: curl-8.19.0/lib/easy.c
39 #ifdef _WIN32 38 #ifdef _WIN32
40 Curl_win32_cleanup(easy_init_flags); 39 Curl_win32_cleanup(easy_init_flags);
41 #endif 40 #endif
42Index: curl-8.19.0/lib/vtls/vtls.c 41diff --git a/lib/vtls/vtls_config.c b/lib/vtls/vtls_config.c
43=================================================================== 42index 4a9b696..3e780f3 100644
44--- curl-8.19.0.orig/lib/vtls/vtls.c 43--- a/lib/vtls/vtls_config.c
45+++ curl-8.19.0/lib/vtls/vtls.c 44+++ b/lib/vtls/vtls_config.c
46@@ -294,10 +294,8 @@ static void free_primary_ssl_config(stru 45@@ -257,10 +257,8 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data,
47 CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data) 46 struct Curl_peer *origin)
48 { 47 {
49 struct ssl_config_data *sslc = &data->set.ssl; 48 struct ssl_config_data *sslc = &data->set.ssl;
50-#if defined(CURL_CA_PATH) || defined(CURL_CA_BUNDLE) 49-#if defined(CURL_CA_PATH) || defined(CURL_CA_BUNDLE)
@@ -52,9 +51,9 @@ Index: curl-8.19.0/lib/vtls/vtls.c
52 CURLcode result; 51 CURLcode result;
53-#endif 52-#endif
54 53
55 if(Curl_ssl_backend() != CURLSSLBACKEND_SCHANNEL) { 54 ssl_easy_config_compl_options(origin, data->state.initial_origin, sslc);
56 #if defined(USE_APPLE_SECTRUST) || defined(CURL_CA_NATIVE) 55
57@@ -318,6 +316,21 @@ CURLcode Curl_ssl_easy_config_complete(s 56@@ -283,6 +281,21 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data,
58 return result; 57 return result;
59 } 58 }
60 #endif 59 #endif
@@ -75,4 +74,4 @@ Index: curl-8.19.0/lib/vtls/vtls.c
75+ } 74+ }
76 } 75 }
77 sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE]; 76 sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE];
78 sslc->primary.CRLfile = data->set.str[STRING_SSL_CRLFILE]; 77 sslc->primary.CRLfile = data->set.str[STRING_SSL_CRLFILE]; \ No newline at end of file