mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
1c8148a858
The musl build "fix" introduced in r45108 removed all netinet/ether.h includes, which made the prototypes of ether_aton and ether_ntoa unavailable. As a result, the compiler assumed they return int instead of a pointer. This currupted the pointer on 64bit targets, causing ebtables to segfault in commands containing MAC addresses. Since r46161 made it possible to include both the kernel and the libc if_ether.h as long as the libc version is included first, this patch changes the fix to remove the linux/if_ether.h from the ebtables source (so the fixed version from the kernel is used) and ensures netinet/ether.h is included early. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 46292
73 lines
1.9 KiB
Makefile
73 lines
1.9 KiB
Makefile
#
|
|
# Copyright (C) 2006-2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=ebtables
|
|
PKG_VERSION:=2.0.10-4
|
|
PKG_RELEASE:=4
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=@SF/ebtables
|
|
PKG_MD5SUM:=506742a3d44b9925955425a659c1a8d0
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/ebtables-v$(PKG_VERSION)
|
|
PKG_LICENSE:=GPL-2.0
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/ebtables
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Firewall
|
|
DEPENDS:=+kmod-ebtables
|
|
TITLE:=Ethernet bridge firewall administration utility
|
|
URL:=http://ebtables.sourceforge.net/
|
|
endef
|
|
|
|
define Package/ebtables-utils
|
|
$(call Package/ebtables)
|
|
DEPENDS += ebtables
|
|
TITLE:=ebtables save/restore utilities
|
|
endef
|
|
|
|
define Package/ebtables/description
|
|
The ebtables program is a filtering tool for a bridging firewall. The
|
|
filtering is focussed on the Link Layer Ethernet frame fields. Apart
|
|
from filtering, it also gives the ability to alter the Ethernet MAC
|
|
addresses and implement a brouter.
|
|
endef
|
|
|
|
define Package/ebtables-utils/description
|
|
$(call Package/ebtables/description)
|
|
endef
|
|
|
|
MAKE_VARS += EXT_LIBSI="$(LIBGCC_S)"
|
|
|
|
MAKE_FLAGS += \
|
|
CFLAGS="$(TARGET_CFLAGS)" \
|
|
LIBDIR="/usr/lib/ebtables"
|
|
|
|
define Package/ebtables/install
|
|
$(INSTALL_DIR) $(1)/etc
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ethertypes $(1)/etc/
|
|
$(INSTALL_DIR) $(1)/usr/lib/ebtables
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib*.so $(1)/usr/lib/
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/extensions/*.so $(1)/usr/lib/ebtables/
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ebtables $(1)/usr/sbin/
|
|
endef
|
|
|
|
define Package/ebtables-utils/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ebtables-save $(1)/usr/sbin/
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ebtables-restore $(1)/usr/sbin/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,ebtables))
|
|
$(eval $(call BuildPackage,ebtables-utils))
|