This commit is contained in:
TriForceX
2021-03-13 22:13:38 -03:00
parent c77595adbd
commit b3ecc6e32d
7043 changed files with 119377 additions and 73694 deletions

View File

@@ -1,50 +0,0 @@
From f8079671326e9fd079391d24911a9a8a77f1d6fd Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sat, 16 May 2015 12:31:58 +0200
Subject: [PATCH] ethernetdb.h: Remove C++ specific compiler hint macro _THROW
Fixes compilation with musl libc
Signed-off-by: Felix Janda <felix.janda@posteo.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Patch status: upstream commit f8079671326e9fd0
include/ethernetdb.h | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/include/ethernetdb.h b/include/ethernetdb.h
index 46d8bfd1b7e5..1683abe01987 100644
--- a/include/ethernetdb.h
+++ b/include/ethernetdb.h
@@ -38,21 +38,20 @@ struct ethertypeent {
/* Open ethertype data base files and mark them as staying open even
after a later search if STAY_OPEN is non-zero. */
-extern void setethertypeent(int __stay_open) __THROW;
+extern void setethertypeent(int __stay_open);
/* Close ethertype data base files and clear `stay open' flag. */
-extern void endethertypeent(void) __THROW;
+extern void endethertypeent(void);
/* Get next entry from ethertype data base file. Open data base if
necessary. */
-extern struct ethertypeent *getethertypeent(void) __THROW;
+extern struct ethertypeent *getethertypeent(void);
/* Return entry from ethertype data base for network with NAME. */
-extern struct ethertypeent *getethertypebyname(__const char *__name)
- __THROW;
+extern struct ethertypeent *getethertypebyname(__const char *__name);
/* Return entry from ethertype data base which number is PROTO. */
-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW;
+extern struct ethertypeent *getethertypebynumber(int __ethertype);
#endif /* ethernetdb.h */
--
2.11.0

View File

@@ -0,0 +1,79 @@
From 73536d15c80be96049289d96fc32122467c56b1d Mon Sep 17 00:00:00 2001
From: Matt Weber <matthew.weber@rockwellcollins.com>
Date: Mon, 16 Dec 2019 13:27:30 -0600
Subject: [PATCH] ebtables: replace ebtables-save perl script with bash rewrite
Fedora provides a bash replacement for the default ebtables-save perl
script. Using it allows the ebtables run-time dependency on perl to
be replaced with a runtime dependency on bash - which is lower
overhead and more likely to be present on typical embedded systems
already.
https://bugzilla.redhat.com/show_bug.cgi?id=746040
http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save
Upstream:
https://github.com/openembedded/meta-openembedded/commit/7f723007364ba79de05447671e83d4eefb3097dc
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[ryanbarnett3@gmail.com:
- changed EBTABLES executable to /usr/sbin/ebtables-legacy
]
Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
---
ebtables-save.sh | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 ebtables-save.sh
diff --git a/ebtables-save.sh b/ebtables-save.sh
new file mode 100644
index 0000000..2d7fc4e
--- /dev/null
+++ b/ebtables-save.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+EBTABLES="/usr/sbin/ebtables-legacy"
+
+[ -x "$EBTABLES" ] || exit 1
+
+echo "# Generated by ebtables-save v1.0 on $(date)"
+
+cnt=""
+[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc"
+
+for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do
+ table=$($EBTABLES -t $table_name -L $cnt)
+ [ $? -eq 0 ] || { echo "$table"; exit -1; }
+
+ chain=""
+ rules=""
+ while read line; do
+ [ -z "$line" ] && continue
+
+ case "$line" in
+ Bridge\ table:\ *)
+ echo "*${line:14}"
+ ;;
+ Bridge\ chain:\ *)
+ chain="${line:14}"
+ chain="${chain%%,*}"
+ policy="${line##*policy: }"
+ echo ":$chain $policy"
+ ;;
+ *)
+ if [ "$cnt" = "--Lc" ]; then
+ line=${line/, pcnt \=/ -c}
+ line=${line/-- bcnt \=/}
+ fi
+ rules="$rules-A $chain $line\n"
+ ;;
+ esac
+ done <<EOF
+$table
+EOF
+ echo -e $rules
+done
--
2.17.1

View File

@@ -1,30 +0,0 @@
From 138e7efdc8cad6453620c6366e6fa5e786593f7f Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Thu, 16 Feb 2017 14:41:48 +0200
Subject: [PATCH] Fix musl compatibility
Include netinet/ether.h before kernel headers to suppress the conflicting
definition of struct ethhdr.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: not upstreamable; depends on Buildroot local musl patch
---
include/ebtables_u.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/ebtables_u.h b/include/ebtables_u.h
index 35a5bcc54c86..268b1fd599d2 100644
--- a/include/ebtables_u.h
+++ b/include/ebtables_u.h
@@ -24,6 +24,7 @@
#ifndef EBTABLES_U_H
#define EBTABLES_U_H
#include <netinet/in.h>
+#include <netinet/ether.h>
#include <linux/netfilter_bridge/ebtables.h>
#include <linux/netfilter/x_tables.h>
--
2.11.0

View File

@@ -5,3 +5,19 @@ config BR2_PACKAGE_EBTABLES
Ethernet bridge frame table administration
http://ebtables.netfilter.org/
if BR2_PACKAGE_EBTABLES
config BR2_PACKAGE_EBTABLES_UTILS_SAVE
bool "ebtables save"
select BR2_PACKAGE_BASH # runtime
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
help
Install the ebtables-legacy-save tool
config BR2_PACKAGE_EBTABLES_UTILS_RESTORE
bool "ebtables restore"
help
Install the ebtables-legacy-restore tool
endif

View File

@@ -1,3 +1,4 @@
# ftp://ftp.netfilter.org/pub/ebtables/ebtables-2.0.11.tar.gz.sha256sum
sha256 b71f654784a726329f88b412ef7b96b4e5d786ed2bd28193ed7b4c0d677dfd2a ebtables-2.0.11.tar.gz
# Locally computed
sha256 dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9a4455d ebtables-v2.0.10-4.tar.gz
sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING
sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING

View File

@@ -4,36 +4,31 @@
#
################################################################################
EBTABLES_VERSION = 2.0.10-4
EBTABLES_SOURCE = ebtables-v$(EBTABLES_VERSION).tar.gz
EBTABLES_VERSION = 2.0.11
EBTABLES_SITE = http://ftp.netfilter.org/pub/ebtables
EBTABLES_LICENSE = GPL-2.0+
EBTABLES_LICENSE_FILES = COPYING
EBTABLES_STATIC = $(if $(BR2_STATIC_LIBS),static)
EBTABLES_K64U32 = $(if $(BR2_KERNEL_64_USERLAND_32),-DKERNEL_64_USERSPACE_32)
define EBTABLES_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) LIBDIR=/lib/ebtables $(EBTABLES_STATIC) \
CFLAGS="$(TARGET_CFLAGS) $(EBTABLES_K64U32)" -C $(@D)
endef
ifeq ($(BR2_STATIC_LIBS),y)
define EBTABLES_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -D $(@D)/$(EBTABLES_SUBDIR)/static \
$(TARGET_DIR)/sbin/ebtables
ifeq ($(BR2_PACKAGE_EBTABLES_UTILS_SAVE),y)
define EBTABLES_INSTALL_TARGET_UTILS_SAVE
$(INSTALL) -m 0755 -D $(@D)/ebtables-save.sh $(TARGET_DIR)/usr/sbin/ebtables-legacy-save
endef
EBTABLES_POST_INSTALL_TARGET_HOOKS += EBTABLES_INSTALL_TARGET_UTILS_SAVE
else
define EBTABLES_INSTALL_TARGET_CMDS
for so in $(@D)/$(EBTABLES_SUBDIR)/*.so \
$(@D)/$(EBTABLES_SUBDIR)/extensions/*.so; \
do \
$(INSTALL) -m 0755 -D $${so} \
$(TARGET_DIR)/lib/ebtables/`basename $${so}` || exit 1; \
done
$(INSTALL) -m 0755 -D $(@D)/$(EBTABLES_SUBDIR)/ebtables \
$(TARGET_DIR)/sbin/ebtables
$(INSTALL) -m 0644 -D $(@D)/ethertypes $(TARGET_DIR)/etc/ethertypes
# ebtables-legacy-save is installed by default, thus remove it from target
define EBTABLES_REMOVE_UTILS_SAVE
$(RM) -f $(TARGET_DIR)/usr/sbin/ebtables-legacy-save
endef
EBTABLES_POST_INSTALL_TARGET_HOOKS += EBTABLES_REMOVE_UTILS_SAVE
endif
$(eval $(generic-package))
# ebtables-legacy-restore is installed by default, thus remove it if not
# selected
ifeq ($(BR2_PACKAGE_EBTABLES_UTILS_RESTORE),)
define EBTABLES_REMOVE_UTILS_RESTORE
$(RM) -f $(TARGET_DIR)/usr/sbin/ebtables-legacy-restore
endef
EBTABLES_POST_INSTALL_TARGET_HOOKS += EBTABLES_REMOVE_UTILS_RESTORE
endif
$(eval $(autotools-package))