pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www



Module Name:    pkgsrc
Committed By:   riastradh
Date:           Fri Oct 24 04:01:11 UTC 2025

Modified Files:
        pkgsrc/www/curl: Makefile distinfo
        pkgsrc/www/libcurl-gnutls: Makefile
Added Files:
        pkgsrc/www/curl/patches: patch-lib_curl__threads.c

Log Message:
www/curl, www/libcurl-gnutls: Disable pthread_cancel.

This upstream change is broken on just about every platform because
getaddrinfo is not really cancel-safe, even though it's kinda sorta
supposed to be in POSIX
(https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_09_05_02).

The mistake has been backed out upstream for the next release, but
that won't come until November and we need to pull up the fix now
because it's already biting users.

https://eissing.org/icing/posts/pthread_cancel/
https://eissing.org/icing/posts/rip_pthread_cancel/
https://github.com/curl/curl/issues/18532
https://github.com/curl/curl/pull/18540/files

PR pkg/59720: curl hangs or crashes with pthread_cancel enabled


To generate a diff of this commit:
cvs rdiff -u -r1.300 -r1.301 pkgsrc/www/curl/Makefile
cvs rdiff -u -r1.219 -r1.220 pkgsrc/www/curl/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/www/curl/patches/patch-lib_curl__threads.c
cvs rdiff -u -r1.18 -r1.19 pkgsrc/www/libcurl-gnutls/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/curl/Makefile
diff -u pkgsrc/www/curl/Makefile:1.300 pkgsrc/www/curl/Makefile:1.301
--- pkgsrc/www/curl/Makefile:1.300      Fri Oct 24 03:59:51 2025
+++ pkgsrc/www/curl/Makefile    Fri Oct 24 04:01:11 2025
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.300 2025/10/24 03:59:51 riastradh Exp $
+# $NetBSD: Makefile,v 1.301 2025/10/24 04:01:11 riastradh Exp $
 
 .include "Makefile.common"
 
-PKGREVISION=           1
+PKGREVISION=           2
 
 CONFIGURE_ARGS+=       --with-ssl=${BUILDLINK_PREFIX.openssl}
 

Index: pkgsrc/www/curl/distinfo
diff -u pkgsrc/www/curl/distinfo:1.219 pkgsrc/www/curl/distinfo:1.220
--- pkgsrc/www/curl/distinfo:1.219      Fri Sep 12 07:32:12 2025
+++ pkgsrc/www/curl/distinfo    Fri Oct 24 04:01:11 2025
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.219 2025/09/12 07:32:12 wiz Exp $
+$NetBSD: distinfo,v 1.220 2025/10/24 04:01:11 riastradh Exp $
 
 BLAKE2s (curl-8.16.0.tar.xz) = 3545a2b271d3b7d25be23f17ae61d947433e6d55c00136baae05eb787919d8a8
 SHA512 (curl-8.16.0.tar.xz) = 8262c3dc113cfd5744ef1b82dbccaa69448a9395ad5c094c22df5cf537a047a927d3332db2cb3be12a31a68a60d8d0fa8485b916e975eda36a4ebd860da4f621
 Size (curl-8.16.0.tar.xz) = 2788632 bytes
+SHA1 (patch-lib_curl__threads.c) = 248bd91dff74b64e6aaca98e9cfd5003aae697fe

Index: pkgsrc/www/libcurl-gnutls/Makefile
diff -u pkgsrc/www/libcurl-gnutls/Makefile:1.18 pkgsrc/www/libcurl-gnutls/Makefile:1.19
--- pkgsrc/www/libcurl-gnutls/Makefile:1.18     Fri Oct 24 03:59:52 2025
+++ pkgsrc/www/libcurl-gnutls/Makefile  Fri Oct 24 04:01:11 2025
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.18 2025/10/24 03:59:52 riastradh Exp $
+# $NetBSD: Makefile,v 1.19 2025/10/24 04:01:11 riastradh Exp $
 
 .include "../../www/curl/Makefile.common"
 
 PKGNAME=       ${DISTNAME:S/curl/libcurl-gnutls/}
-PKGREVISION=   1
+PKGREVISION=   2
 
 TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
 

Added files:

Index: pkgsrc/www/curl/patches/patch-lib_curl__threads.c
diff -u /dev/null pkgsrc/www/curl/patches/patch-lib_curl__threads.c:1.1
--- /dev/null   Fri Oct 24 04:01:11 2025
+++ pkgsrc/www/curl/patches/patch-lib_curl__threads.c   Fri Oct 24 04:01:11 2025
@@ -0,0 +1,18 @@
+$NetBSD: patch-lib_curl__threads.c,v 1.1 2025/10/24 04:01:11 riastradh Exp $
+
+Disable pthread_cancel.
+https://github.com/curl/curl/issues/18532
+https://eissing.org/icing/posts/rip_pthread_cancel/
+https://gnats.NetBSD.org/59720
+
+--- lib/curl_threads.c.orig    2025-09-10 05:43:43.000000000 +0000
++++ lib/curl_threads.c
+@@ -106,7 +106,7 @@ int Curl_thread_join(curl_thread_t *hnd)
+  * - this is a -fsanitize=thread build
+  *   (clang sanitizer reports false positive when functions to not return)
+  */
+-#if defined(PTHREAD_CANCEL_ENABLE) && !defined(__FreeBSD__)
++#if 0 && defined(PTHREAD_CANCEL_ENABLE) && !defined(__FreeBSD__)
+ #if defined(__has_feature)
+ #  if !__has_feature(thread_sanitizer)
+ #define USE_PTHREAD_CANCEL



Home | Main Index | Thread Index | Old Index