package/libnfnetlink: fix build on musl
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Wed, 21 Jul 2021 21:45:16 +0000 (23:45 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Jul 2021 21:27:02 +0000 (23:27 +0200)
Include upstream patch to fix build failure with suricata raised since
bump to version 6.0.3 in commit 4c429c3f8c322381991a58fcc37c01da9eb5e8a6

Fixes:
 - http://autobuild.buildroot.org/results/0b960f40b5d7e4bb0c4ba20638fe66a9e0964ab3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch [new file with mode: 0644]

diff --git a/package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch b/package/libnfnetlink/0002-include-Sync-with-kernel-headers.patch
new file mode 100644 (file)
index 0000000..f9e9c2e
--- /dev/null
@@ -0,0 +1,114 @@
+From 7a1a07c0028a1c88cd7716a058697c552a563b24 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 14:49:07 +0200
+Subject: include: Sync with kernel headers
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+
+[Retrieved from:
+https://git.netfilter.org/libnfnetlink/commit/?id=7a1a07c0028a1c88cd7716a058697c552a563b24]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ include/libnfnetlink/linux_nfnetlink.h        | 44 ++++-----------------------
+ include/libnfnetlink/linux_nfnetlink_compat.h | 12 ++++----
+ 2 files changed, 12 insertions(+), 44 deletions(-)
+
+diff --git a/include/libnfnetlink/linux_nfnetlink.h b/include/libnfnetlink/linux_nfnetlink.h
+index 76a8550..44a38d6 100644
+--- a/include/libnfnetlink/linux_nfnetlink.h
++++ b/include/libnfnetlink/linux_nfnetlink.h
+@@ -25,9 +25,9 @@ enum nfnetlink_groups {
+ /* General form of address family dependent message.
+  */
+ struct nfgenmsg {
+-      u_int8_t  nfgen_family;         /* AF_xxx */
+-      u_int8_t  version;              /* nfnetlink version */
+-      u_int16_t    res_id;            /* resource id */
++      __u8  nfgen_family;             /* AF_xxx */
++      __u8  version;          /* nfnetlink version */
++      __be16    res_id;               /* resource id */
+ };
+ #define NFNETLINK_V0  0
+@@ -46,40 +46,8 @@ struct nfgenmsg {
+ #define NFNL_SUBSYS_CTNETLINK_EXP     2
+ #define NFNL_SUBSYS_QUEUE             3
+ #define NFNL_SUBSYS_ULOG              4
+-#define NFNL_SUBSYS_COUNT             5
++#define NFNL_SUBSYS_OSF                       5
++#define NFNL_SUBSYS_IPSET             6
++#define NFNL_SUBSYS_COUNT             7
+-#ifdef __KERNEL__
+-
+-#include <linux/netlink.h>
+-#include <linux/capability.h>
+-#include <net/netlink.h>
+-
+-struct nfnl_callback
+-{
+-      int (*call)(struct sock *nl, struct sk_buff *skb, 
+-              struct nlmsghdr *nlh, struct nlattr *cda[]);
+-      const struct nla_policy *policy;        /* netlink attribute policy */
+-      const u_int16_t attr_count;             /* number of nlattr's */
+-};
+-
+-struct nfnetlink_subsystem
+-{
+-      const char *name;
+-      __u8 subsys_id;                 /* nfnetlink subsystem ID */
+-      __u8 cb_count;                  /* number of callbacks */
+-      const struct nfnl_callback *cb; /* callback for individual types */
+-};
+-
+-extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n);
+-extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
+-
+-extern int nfnetlink_has_listeners(unsigned int group);
+-extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, 
+-                        int echo);
+-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags);
+-
+-#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
+-      MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
+-
+-#endif        /* __KERNEL__ */
+ #endif        /* _NFNETLINK_H */
+diff --git a/include/libnfnetlink/linux_nfnetlink_compat.h b/include/libnfnetlink/linux_nfnetlink_compat.h
+index e145176..74b9e55 100644
+--- a/include/libnfnetlink/linux_nfnetlink_compat.h
++++ b/include/libnfnetlink/linux_nfnetlink_compat.h
+@@ -1,6 +1,8 @@
+ #ifndef _NFNETLINK_COMPAT_H
+ #define _NFNETLINK_COMPAT_H
+-#ifndef __KERNEL__
++
++#include <linux/types.h>
++
+ /* Old nfnetlink macros for userspace */
+ /* nfnetlink groups: Up to 32 maximum */
+@@ -18,10 +20,9 @@
+  * ! nfnetlink use the same attributes methods. - J. Schulist.
+  */
+-struct nfattr
+-{
+-      u_int16_t nfa_len;
+-      u_int16_t nfa_type;     /* we use 15 bits for the type, and the highest
++struct nfattr {
++      __u16 nfa_len;
++      __u16 nfa_type; /* we use 15 bits for the type, and the highest
+                                * bit to indicate whether the payload is nested */
+ };
+@@ -57,5 +58,4 @@ struct nfattr
+         + NLMSG_ALIGN(sizeof(struct nfgenmsg))))
+ #define NFM_PAYLOAD(n)  NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg))
+-#endif /* ! __KERNEL__ */
+ #endif /* _NFNETLINK_COMPAT_H */
+-- 
+cgit v1.2.3
+