[meta-networking] libnetfilter-conntrack: upgrade 1.0.8 -> 1.0.9

Message ID 20220401023225.2226925-1-yi.zhao@windriver.com
State Under Review
Headers show
Series [meta-networking] libnetfilter-conntrack: upgrade 1.0.8 -> 1.0.9 | expand

Commit Message

Yi Zhao April 1, 2022, 2:32 a.m. UTC
Backport a patch to fix musl build.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-fix-build-with-kernel-5.15-and-musl.patch | 61 +++++++++++++++++++
 ...0.8.bb => libnetfilter-conntrack_1.0.9.bb} |  9 ++-
 2 files changed, 67 insertions(+), 3 deletions(-)
 create mode 100644 meta-networking/recipes-filter/libnetfilter/files/0001-conntrack-fix-build-with-kernel-5.15-and-musl.patch
 rename meta-networking/recipes-filter/libnetfilter/{libnetfilter-conntrack_1.0.8.bb => libnetfilter-conntrack_1.0.9.bb} (66%)

Patch

diff --git a/meta-networking/recipes-filter/libnetfilter/files/0001-conntrack-fix-build-with-kernel-5.15-and-musl.patch b/meta-networking/recipes-filter/libnetfilter/files/0001-conntrack-fix-build-with-kernel-5.15-and-musl.patch
new file mode 100644
index 000000000..a02940af3
--- /dev/null
+++ b/meta-networking/recipes-filter/libnetfilter/files/0001-conntrack-fix-build-with-kernel-5.15-and-musl.patch
@@ -0,0 +1,61 @@ 
+From 21ee35dde73aec5eba35290587d479218c6dd824 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Thu, 24 Feb 2022 15:01:11 +0100
+Subject: [PATCH] conntrack: fix build with kernel 5.15 and musl
+
+Currently, with kernel 5.15 headers and musl building is failing with
+redefinition errors due to a conflict between the kernel and musl headers.
+
+Musl is able to suppres the conflicting kernel header definitions if they
+are included after the standard libc ones, however since ICMP definitions
+were moved into a separate internal header to avoid duplication this has
+stopped working and is breaking the builds.
+
+It seems that the issue is that <netinet/in.h> which contains the UAPI
+suppression defines is included in the internal.h header and not in the
+proto.h which actually includes the kernel ICMP headers and thus UAPI
+supression defines are not present.
+
+Solve this by moving the <netinet/in.h> include before the ICMP kernel
+includes in the proto.h
+
+Fixes: bc1cb4b11403 ("conntrack: Move icmp request>reply type mapping to common file")
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+Signed-off-by: Florian Westphal <fw@strlen.de>
+
+Upstream-Status: Backport
+[https://git.netfilter.org/libnetfilter_conntrack/commit/?id=21ee35dde73aec5eba35290587d479218c6dd824]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ include/internal/internal.h | 1 -
+ include/internal/proto.h    | 1 +
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/internal/internal.h b/include/internal/internal.h
+index 2ef8a90..7cd7c44 100644
+--- a/include/internal/internal.h
++++ b/include/internal/internal.h
+@@ -14,7 +14,6 @@
+ #include <arpa/inet.h>
+ #include <time.h>
+ #include <errno.h>
+-#include <netinet/in.h>
+ 
+ #include <libnfnetlink/libnfnetlink.h>
+ #include <libnetfilter_conntrack/libnetfilter_conntrack.h>
+diff --git a/include/internal/proto.h b/include/internal/proto.h
+index 40e7bfe..60a5f4e 100644
+--- a/include/internal/proto.h
++++ b/include/internal/proto.h
+@@ -2,6 +2,7 @@
+ #define _NFCT_PROTO_H_
+ 
+ #include <stdint.h>
++#include <netinet/in.h>
+ #include <linux/icmp.h>
+ #include <linux/icmpv6.h>
+ 
+-- 
+2.25.1
+
diff --git a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.9.bb
similarity index 66%
rename from meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb
rename to meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.9.bb
index 180f07603..abec84b25 100644
--- a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb
+++ b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.9.bb
@@ -6,9 +6,12 @@  LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
 DEPENDS = "libnfnetlink libmnl"
 
-SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2"
-SRC_URI[md5sum] = "3121b55acf97322db830da75d8407cba"
-SRC_URI[sha256sum] = "0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf"
+SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2 \
+           file://0001-conntrack-fix-build-with-kernel-5.15-and-musl.patch \
+          "
+
+SRC_URI[md5sum] = "596c722733cdf30f24d4418f34f999d9"
+SRC_URI[sha256sum] = "67bd9df49fe34e8b82144f6dfb93b320f384a8ea59727e92ff8d18b5f4b579a8"
 
 S = "${WORKDIR}/libnetfilter_conntrack-${PV}"