From 62c79b22b65777f118d04a5ab4d2046470e3ce81 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Sat, 5 Sep 2026 16:29:51 +0100 Subject: [PATCH] fix: require libcurl 8.22.0 for TLS shutdown cleanup --- Dockerfile | 5 ++++- tests.yaml | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index fc7438b..65b2545 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,6 +34,8 @@ ENV \ PHP_ZSTD_VERSION="0.18.0" \ PHP_ZSTD_COMMIT="c2593a4ce2457b23e7fa7f81ddf0dd9bbdd89b47" +# libcurl 8.22.0 fixes retained TLS shutdown sockets in the socket-action API +# used by Swoole's curl hook (curl/curl#22282). Require it here and at runtime. RUN \ apk update && \ apk upgrade --no-cache && \ @@ -43,7 +45,7 @@ RUN \ brotli-dev \ c-ares-dev \ curl \ - curl-dev \ + 'curl-dev>=8.22.0' \ g++ \ gcc \ git \ @@ -268,6 +270,7 @@ RUN apk update && \ imagemagick \ imagemagick-heic \ libavif \ + 'libcurl>=8.22.0' \ libgomp \ libheif \ libjpeg-turbo \ diff --git a/tests.yaml b/tests.yaml index 228e1f3..9b6cce0 100644 --- a/tests.yaml +++ b/tests.yaml @@ -1,6 +1,10 @@ schemaVersion: '2.0.0' commandTests: + - name: 'PHP libcurl includes TLS shutdown fix' + command: "php" + args: ["-r", 'exit(version_compare(curl_version()["version"], "8.22.0", ">=") ? 0 : 1);'] + exitCode: 0 - name: 'Imagemagick command' command: "magick" args: ["--version"] @@ -124,4 +128,4 @@ commandTests: command: "zip" args: ["-v"] expectedOutput: - - "Zip 3.0 \\(July 5th 2008\\)" \ No newline at end of file + - "Zip 3.0 \\(July 5th 2008\\)"