[package] iptables: add some musl portability fixes
[openwrt.git] / package / network / utils / iptables / patches / 300-musl_fixes.patch
diff --git a/package/network/utils/iptables/patches/300-musl_fixes.patch b/package/network/utils/iptables/patches/300-musl_fixes.patch
new file mode 100644 (file)
index 0000000..b6f6a0e
--- /dev/null
@@ -0,0 +1,139 @@
+--- a/extensions/libip6t_ipv6header.c
++++ b/extensions/libip6t_ipv6header.c
+@@ -15,6 +15,9 @@ on whether they contain certain headers
+ #include <sys/types.h>
+ #include <linux/netfilter_ipv6/ip6t_ipv6header.h>
++#ifndef IPPROTO_HOPOPTS
++#     define IPPROTO_HOPOPTS 0
++#endif
+ /* This maybe required 
+ #include <linux/in.h>
+--- a/extensions/libxt_TCPOPTSTRIP.c
++++ b/extensions/libxt_TCPOPTSTRIP.c
+@@ -16,6 +16,21 @@
+ #ifndef TCPOPT_MD5SIG
+ #     define TCPOPT_MD5SIG 19
+ #endif
++#ifndef TCPOPT_MAXSEG
++#     define TCPOPT_MAXSEG 2
++#endif
++#ifndef TCPOPT_WINDOW
++#     define TCPOPT_WINDOW 3
++#endif
++#ifndef TCPOPT_SACK_PERMITTED
++#     define TCPOPT_SACK_PERMITTED 4
++#endif
++#ifndef TCPOPT_SACK
++#     define TCPOPT_SACK 5
++#endif
++#ifndef TCPOPT_TIMESTAMP
++#     define TCPOPT_TIMESTAMP 8
++#endif
+ enum {
+       FLAG_STRIP = 1 << 0,
+--- a/include/libiptc/ipt_kernel_headers.h
++++ b/include/libiptc/ipt_kernel_headers.h
+@@ -5,7 +5,6 @@
+ #include <limits.h>
+-#if defined(__GLIBC__) && __GLIBC__ == 2
+ #include <netinet/ip.h>
+ #include <netinet/in.h>
+ #include <netinet/ip_icmp.h>
+@@ -13,15 +12,4 @@
+ #include <netinet/udp.h>
+ #include <net/if.h>
+ #include <sys/types.h>
+-#else /* libc5 */
+-#include <sys/socket.h>
+-#include <linux/ip.h>
+-#include <linux/in.h>
+-#include <linux/if.h>
+-#include <linux/icmp.h>
+-#include <linux/tcp.h>
+-#include <linux/udp.h>
+-#include <linux/types.h>
+-#include <linux/in6.h>
+-#endif
+ #endif
+--- a/include/linux/netfilter/xt_osf.h
++++ b/include/linux/netfilter/xt_osf.h
+@@ -21,6 +21,9 @@
+ #define _XT_OSF_H
+ #include <linux/types.h>
++#if !defined(__UCLIBC__) && !defined(__GLIBC_)
++#include <linux/tcp.h>
++#endif
+ #define MAXGENRELEN           32
+--- a/include/linux/netfilter_ipv4/ip_tables.h
++++ b/include/linux/netfilter_ipv4/ip_tables.h
+@@ -16,6 +16,7 @@
+ #define _IPTABLES_H
+ #include <linux/types.h>
++#include <sys/types.h>
+ #include <linux/netfilter_ipv4.h>
+--- a/ip6tables-restore.c
++++ b/ip6tables-restore.c
+@@ -11,7 +11,7 @@
+  */
+ #include <getopt.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <stdbool.h>
+ #include <string.h>
+ #include <stdio.h>
+--- a/ip6tables-save.c
++++ b/ip6tables-save.c
+@@ -6,7 +6,7 @@
+  * This code is distributed under the terms of GNU GPL v2
+  */
+ #include <getopt.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
+--- a/iptables-restore.c
++++ b/iptables-restore.c
+@@ -8,7 +8,7 @@
+  */
+ #include <getopt.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <stdbool.h>
+ #include <string.h>
+ #include <stdio.h>
+--- a/iptables-save.c
++++ b/iptables-save.c
+@@ -6,7 +6,7 @@
+  *
+  */
+ #include <getopt.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
+--- a/iptables-xml.c
++++ b/iptables-xml.c
+@@ -9,7 +9,7 @@
+  */
+ #include <getopt.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <stdlib.h>