diff options
author | Peter Marko <peter.marko@siemens.com> | 2024-12-11 19:09:52 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-12-13 12:26:01 +0000 |
commit | d74dd7843428d6c39bb0ef7bc63d3c381705535f (patch) | |
tree | 560546470719d819ee9c12f089a8543c3c160973 | |
parent | 13dbaba5692e8d9c444cddedfa236d8ef495f57b (diff) | |
download | poky-d74dd7843428d6c39bb0ef7bc63d3c381705535f.tar.gz |
curl: upgrade 8.10.1 -> 8.11.0
Solves CVE-2024-9681
* refresh patch
* add patch for buildpaths issue
* add new options for ipfs and websockets, keep them configure as they
were previously configures
* drop notexists.pl from ptest install as it was removed and code was
integrated into the test framework in [1]
* add ptest dependency on perl-module-i18n-langinfo due to [2]
[1] https://github.com/curl/curl/commit/56183c1d6f7f4d0c18d9065cf870c4cd3fc329eb
[2] https://github.com/curl/curl/commit/0b70b23ef4d007031bc2ae4fc63d5ed9136bc2b5
(From OE-Core rev: 86dd3aca63248e1982c2d8c9dc68ae34a358cf8b)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-support/curl/curl/0001-libcurl.pc.in-drop-LDFLAGS-from-Libs.private.patch | 39 | ||||
-rw-r--r-- | meta/recipes-support/curl/curl/no-test-timeout.patch | 2 | ||||
-rw-r--r-- | meta/recipes-support/curl/curl_8.11.0.bb (renamed from meta/recipes-support/curl/curl_8.10.1.bb) | 9 |
3 files changed, 46 insertions, 4 deletions
diff --git a/meta/recipes-support/curl/curl/0001-libcurl.pc.in-drop-LDFLAGS-from-Libs.private.patch b/meta/recipes-support/curl/curl/0001-libcurl.pc.in-drop-LDFLAGS-from-Libs.private.patch new file mode 100644 index 0000000000..79fc0b316e --- /dev/null +++ b/meta/recipes-support/curl/curl/0001-libcurl.pc.in-drop-LDFLAGS-from-Libs.private.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From cfd5d794fdfcc12e386fdbb14161babf54d2a5ee Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Marko <peter.marko@siemens.com> | ||
3 | Date: Sat, 9 Nov 2024 22:26:58 +0100 | ||
4 | Subject: [PATCH] libcurl.pc.in: drop LDFLAGS from Libs.private | ||
5 | |||
6 | Stop passing linker flags to pkg-config. | ||
7 | |||
8 | This was added in v8.11.0 with commit [1]. | ||
9 | There are several problems with this, especially: | ||
10 | * user may want to link curl and application with different flags | ||
11 | * user usually adds the same or similar flags in all components, so this | ||
12 | will double the flags when linking application | ||
13 | * when building components in temporary directories, these directories | ||
14 | are preserved in pkg-config linker flags and are invalid when building | ||
15 | application | ||
16 | |||
17 | [1] https://github.com/curl/curl/commit/9f56bb608ecfbb8978c6cb72a04d9e8b23162d82 | ||
18 | |||
19 | Upstream-Status: Submitted [https://github.com/curl/curl/pull/15533] | ||
20 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
21 | --- | ||
22 | libcurl.pc.in | 2 +- | ||
23 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/libcurl.pc.in b/libcurl.pc.in | ||
26 | index 4c60a7ec7..7898dae35 100644 | ||
27 | --- a/libcurl.pc.in | ||
28 | +++ b/libcurl.pc.in | ||
29 | @@ -36,6 +36,6 @@ Version: @CURLVERSION@ | ||
30 | Requires: @LIBCURL_PC_REQUIRES@ | ||
31 | Requires.private: @LIBCURL_PC_REQUIRES_PRIVATE@ | ||
32 | Libs: -L${libdir} -lcurl @LIBCURL_PC_LIBS@ | ||
33 | -Libs.private: @LDFLAGS@ @LIBCURL_PC_LIBS_PRIVATE@ | ||
34 | +Libs.private: @LIBCURL_PC_LIBS_PRIVATE@ | ||
35 | Cflags: -I${includedir} @LIBCURL_PC_CFLAGS@ | ||
36 | Cflags.private: @LIBCURL_PC_CFLAGS_PRIVATE@ | ||
37 | -- | ||
38 | 2.30.2 | ||
39 | |||
diff --git a/meta/recipes-support/curl/curl/no-test-timeout.patch b/meta/recipes-support/curl/curl/no-test-timeout.patch index 7122b6f043..fe8efbe612 100644 --- a/meta/recipes-support/curl/curl/no-test-timeout.patch +++ b/meta/recipes-support/curl/curl/no-test-timeout.patch | |||
@@ -14,7 +14,7 @@ diff --git a/tests/servers.pm b/tests/servers.pm | |||
14 | index d4472d5..9999938 100644 | 14 | index d4472d5..9999938 100644 |
15 | --- a/tests/servers.pm | 15 | --- a/tests/servers.pm |
16 | +++ b/tests/servers.pm | 16 | +++ b/tests/servers.pm |
17 | @@ -120,7 +120,7 @@ my $sshdverstr; # for socks server, ssh daemon version string | 17 | @@ -122,7 +122,7 @@ my $sshdverstr; # for socks server, ssh daemon version string |
18 | my $sshderror; # for socks server, ssh daemon version error | 18 | my $sshderror; # for socks server, ssh daemon version error |
19 | my %doesntrun; # servers that don't work, identified by pidfile | 19 | my %doesntrun; # servers that don't work, identified by pidfile |
20 | my %PORT = (nolisten => 47); # port we use for a local non-listening service | 20 | my %PORT = (nolisten => 47); # port we use for a local non-listening service |
diff --git a/meta/recipes-support/curl/curl_8.10.1.bb b/meta/recipes-support/curl/curl_8.11.0.bb index 0252d4475e..a512aa443c 100644 --- a/meta/recipes-support/curl/curl_8.10.1.bb +++ b/meta/recipes-support/curl/curl_8.11.0.bb | |||
@@ -14,8 +14,9 @@ SRC_URI = " \ | |||
14 | file://run-ptest \ | 14 | file://run-ptest \ |
15 | file://disable-tests \ | 15 | file://disable-tests \ |
16 | file://no-test-timeout.patch \ | 16 | file://no-test-timeout.patch \ |
17 | file://0001-libcurl.pc.in-drop-LDFLAGS-from-Libs.private.patch \ | ||
17 | " | 18 | " |
18 | SRC_URI[sha256sum] = "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee" | 19 | SRC_URI[sha256sum] = "db59cf0d671ca6e7f5c2c5ec177084a33a79e04c97e71cf183a5cdea235054eb" |
19 | 20 | ||
20 | # Curl has used many names over the years... | 21 | # Curl has used many names over the years... |
21 | CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" | 22 | CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" |
@@ -23,7 +24,7 @@ CVE_STATUS[CVE-2024-32928] = "ignored: CURLOPT_SSL_VERIFYPEER was disabled on go | |||
23 | 24 | ||
24 | inherit autotools pkgconfig binconfig multilib_header ptest | 25 | inherit autotools pkgconfig binconfig multilib_header ptest |
25 | 26 | ||
26 | COMMON_PACKAGECONFIG = "basic-auth bearer-auth digest-auth negotiate-auth openssl proxy threaded-resolver verbose zlib" | 27 | COMMON_PACKAGECONFIG = "basic-auth bearer-auth digest-auth ipfs negotiate-auth openssl proxy threaded-resolver verbose zlib" |
27 | PACKAGECONFIG ??= "${COMMON_PACKAGECONFIG} ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws libidn" | 28 | PACKAGECONFIG ??= "${COMMON_PACKAGECONFIG} ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws libidn" |
28 | PACKAGECONFIG:class-native = "${COMMON_PACKAGECONFIG} ipv6" | 29 | PACKAGECONFIG:class-native = "${COMMON_PACKAGECONFIG} ipv6" |
29 | PACKAGECONFIG:class-nativesdk = "${COMMON_PACKAGECONFIG} ipv6" | 30 | PACKAGECONFIG:class-nativesdk = "${COMMON_PACKAGECONFIG} ipv6" |
@@ -43,6 +44,7 @@ PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" | |||
43 | PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," | 44 | PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," |
44 | PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," | 45 | PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," |
45 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," | 46 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," |
47 | PACKAGECONFIG[ipfs] = "--enable-ipfs,--disable-ipfs," | ||
46 | PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth" | 48 | PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth" |
47 | PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" | 49 | PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" |
48 | PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" | 50 | PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" |
@@ -65,6 +67,7 @@ PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," | |||
65 | PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," | 67 | PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," |
66 | PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" | 68 | PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" |
67 | PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" | 69 | PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" |
70 | PACKAGECONFIG[websockets] = "--enable-websockets,--disable-websockets" | ||
68 | PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" | 71 | PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" |
69 | PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" | 72 | PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" |
70 | 73 | ||
@@ -106,7 +109,6 @@ do_install_ptest() { | |||
106 | for name in $(makefile-getvar ${B}/tests/libtest/Makefile noinst_PROGRAMS noinst_LTLIBRARIES); do | 109 | for name in $(makefile-getvar ${B}/tests/libtest/Makefile noinst_PROGRAMS noinst_LTLIBRARIES); do |
107 | ${B}/libtool --mode=install install ${B}/tests/libtest/$name ${D}${PTEST_PATH}/tests/libtest | 110 | ${B}/libtool --mode=install install ${B}/tests/libtest/$name ${D}${PTEST_PATH}/tests/libtest |
108 | done | 111 | done |
109 | cp ${S}/tests/libtest/notexists.pl ${D}${PTEST_PATH}/tests/libtest | ||
110 | rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la | 112 | rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la |
111 | 113 | ||
112 | install -d ${D}${PTEST_PATH}/tests/server | 114 | install -d ${D}${PTEST_PATH}/tests/server |
@@ -131,6 +133,7 @@ RDEPENDS:${PN}-ptest += " \ | |||
131 | perl-module-file-basename \ | 133 | perl-module-file-basename \ |
132 | perl-module-file-spec \ | 134 | perl-module-file-spec \ |
133 | perl-module-file-temp \ | 135 | perl-module-file-temp \ |
136 | perl-module-i18n-langinfo \ | ||
134 | perl-module-io-socket \ | 137 | perl-module-io-socket \ |
135 | perl-module-ipc-open2 \ | 138 | perl-module-ipc-open2 \ |
136 | perl-module-list-util \ | 139 | perl-module-list-util \ |