[Buildroot] [PATCH 1/1] package/network-manager: add patch for compatibility with curl 8.4

Marcus Hoffmann marcus.hoffmann at othermo.de
Tue Nov 7 20:24:17 UTC 2023


On 07.11.23 13:41, Christian Hitz via buildroot wrote:
> From: Christian Hitz <christian.hitz at bbv.ch>
>
> This upstream patch restores the connectivity check functionality with
> libcurl 8.4.
>
> Signed-off-by: Christian Hitz <christian.hitz at bbv.ch>

Reviewed-by: Marcus Hoffmann <marcus.hoffmann at othermo.de>

> ---
> Backport to: 2023.02.x, 2023.08.x
> ---
>   ...-curl-timeout-callback-non-repeating.patch | 44 +++++++++++++++++++
>   1 file changed, 44 insertions(+)
>   create mode 100644 package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch
>
> diff --git a/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch b/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch
> new file mode 100644
> index 0000000000..8e25805d0c
> --- /dev/null
> +++ b/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch
> @@ -0,0 +1,44 @@
> +From abc6e1cf258ab332bed161036a358bbe9c2d1e90 Mon Sep 17 00:00:00 2001
> +From: Tatsuyuki Ishi <ishitatsuyuki at gmail.com>
> +Date: Fri, 13 Oct 2023 16:46:09 +0000
> +Subject: [PATCH] connectivity: Make curl timeout callback non-repeating.
> +
> +This reverts commit 05c31da4d9.
> +
> +In the linked commit the callback was made repeating on the assumption
> +that forward progress would result in the callback getting canceled in
> +cb_data_complete. However, this assumption does not hold since a timeout
> +callback does not guarantee completion (or error out) of a request.
> +
> +curl tweaked some internals in v8.4.0 and started giving 0 timeouts, and
> +a repeating callback is firing back-to-back without making any progress
> +in doing so.
> +
> +Revert the change and make the callback non-repeating again.
> +
> +Fixes: 05c31da4d9cb ('connectivity: don't cancel curl timerfunction from timeout')
> +Upstream: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/abc6e1cf258ab332bed161036a358bbe9c2d1e90
> +Signed-off-by: Christian Hitz <christian.hitz at bbv.ch>
> +---
> + src/core/nm-connectivity.c | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c
> +index 92de44f17d..d8b0004c38 100644
> +--- a/src/core/nm-connectivity.c
> ++++ b/src/core/nm-connectivity.c
> +@@ -406,9 +406,10 @@ _con_curl_timeout_cb(gpointer user_data)
> + {
> +     NMConnectivityCheckHandle *cb_data = user_data;
> +
> ++    cb_data->concheck.curl_timer = 0;
> +     _con_curl_check_connectivity(cb_data->concheck.curl_mhandle, CURL_SOCKET_TIMEOUT, 0);
> +     _complete_queued(cb_data->self);
> +-    return G_SOURCE_CONTINUE;
> ++    return G_SOURCE_REMOVE;
> + }
> +
> + static int
> +--
> +GitLab
> +
________________________________

othermo GmbH | Sitz der Gesellschaft: Alzenau | Amtsgericht Aschaffenburg: HRB 14783 | USt-IdNr.: DE319977978 | Geschäftsführung: Dr. Dennis Metz.



More information about the buildroot mailing list