fastd: update to v18

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
Matthias Schiffer 2016-03-29 00:24:00 +02:00
parent e47da635ad
commit 68cf2944b0
3 changed files with 18 additions and 73 deletions

View File

@ -74,6 +74,12 @@ config FASTD_ENABLE_MAC_UHASH
default y
config FASTD_WITH_CAPABILITIES
bool "Enable POSIX capability support"
depends on PACKAGE_fastd
default n
config FASTD_WITH_CMDLINE_USER
bool "Include support for setting user/group related options on the command line"
depends on PACKAGE_fastd

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fastd
PKG_VERSION:=17
PKG_RELEASE:=2
PKG_VERSION:=18
PKG_RELEASE:=1
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://projects.universe-factory.net/attachments/download/81
PKG_MD5SUM:=bad4f1948702f418b799578f83a0edb8
PKG_SOURCE_URL:=https://projects.universe-factory.net/attachments/download/86
PKG_MD5SUM:=e53236d3049f64f7955ad9556da099eb
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYRIGHT
@ -34,6 +34,7 @@ PKG_CONFIG_DEPENDS:=\
CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 \
CONFIG_FASTD_ENABLE_MAC_GHASH \
CONFIG_FASTD_ENABLE_MAC_UHASH \
CONFIG_FASTD_WITH_CAPABILITIES \
CONFIG_FASTD_WITH_CMDLINE_USER \
CONFIG_FASTD_WITH_CMDLINE_LOGGING \
CONFIG_FASTD_WITH_CMDLINE_OPERATION \
@ -50,7 +51,7 @@ include $(INCLUDE_DIR)/cmake.mk
define Package/fastd
SECTION:=net
CATEGORY:=Network
DEPENDS:=+kmod-tun +librt +libpthread +FASTD_WITH_STATUS_SOCKET:libjson-c
DEPENDS:=+kmod-tun +librt +libpthread +FASTD_WITH_STATUS_SOCKET:libjson-c +FASTD_WITH_CAPABILITIES:libcap
TITLE:=Fast and Secure Tunneling Daemon
URL:=https://projects.universe-factory.net/projects/fastd
SUBMENU:=VPN
@ -79,13 +80,13 @@ CMAKE_OPTIONS += \
-DWITH_CIPHER_SALSA2012:BOOL=FALSE \
-DWITH_MAC_GHASH:BOOL=FALSE \
-DWITH_MAC_UHASH:BOOL=FALSE \
-DWITH_CAPABILITIES:BOOL=FALSE \
-DWITH_CMDLINE_USER:BOOL=FALSE \
-DWITH_CMDLINE_LOGGING:BOOL=FALSE \
-DWITH_CMDLINE_OPERATION:BOOL=FALSE \
-DWITH_CMDLINE_COMMANDS:BOOL=FALSE \
-DWITH_DYNAMIC_PEERS:BOOL=FALSE \
-DWITH_STATUS_SOCKET:BOOL=FALSE \
-DWITH_CAPABILITIES:BOOL=FALSE \
-DENABLE_SYSTEMD:BOOL=FALSE \
-DENABLE_LIBSODIUM:BOOL=FALSE \
-DENABLE_LTO:BOOL=TRUE
@ -150,6 +151,11 @@ CMAKE_OPTIONS += -DWITH_MAC_UHASH:BOOL=TRUE
endif
ifeq ($(CONFIG_FASTD_WITH_CAPABILITIES),y)
CMAKE_OPTIONS += -DWITH_CAPABILITIES:BOOL=TRUE
endif
ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y)
CMAKE_OPTIONS += -DWITH_CMDLINE_USER:BOOL=TRUE
endif

View File

@ -1,67 +0,0 @@
--- a/cmake/checks.cmake
+++ b/cmake/checks.cmake
@@ -54,9 +54,13 @@ if(NOT DARWIN)
endif(NOT DARWIN)
+set(CMAKE_EXTRA_INCLUDE_FILES "linux/if_ether.h")
+check_type_size("struct ethhdr" SIZEOF_ETHHDR)
+string(COMPARE NOTEQUAL "${SIZEOF_ETHHDR}" "" HAVE_LINUX_ETHHDR)
+
set(CMAKE_EXTRA_INCLUDE_FILES "netinet/if_ether.h")
check_type_size("struct ethhdr" SIZEOF_ETHHDR)
-string(COMPARE NOTEQUAL "${SIZEOF_ETHHDR}" "" HAVE_ETHHDR)
+string(COMPARE NOTEQUAL "${SIZEOF_ETHHDR}" "" HAVE_NETINET_ETHHDR)
set(CMAKE_REQUIRED_INCLUDES "sys/types.h")
--- a/src/compat.h
+++ b/src/compat.h
@@ -45,7 +45,12 @@
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
+
+#if defined(HAVE_LINUX_ETHHDR)
+#include <linux/if_ether.h>
+#elif defined(HAVE_NETINET_ETHHDR)
#include <netinet/if_ether.h>
+#endif
#ifndef ETH_ALEN
/** The length of a MAC address */
@@ -55,9 +60,8 @@
#ifndef ETH_HLEN
/** The length of the standard ethernet header */
#define ETH_HLEN 14
-#endif
-#ifndef HAVE_ETHHDR
+#if !defined(HAVE_LINUX_ETHHDR) && !defined(HAVE_NETINET_ETHHDR)
/** An ethernet header */
struct ethhdr {
uint8_t h_dest[ETH_ALEN]; /**< The destination MAC address field */
@@ -65,6 +69,7 @@ struct ethhdr {
uint16_t h_proto; /**< The EtherType/length field */
} __attribute__((packed));
#endif
+#endif
#if defined(USE_FREEBIND) && !defined(IP_FREEBIND)
/** Compatiblity define for systems supporting, but not defining IP_FREEBIND */
--- a/src/fastd_config.h.in
+++ b/src/fastd_config.h.in
@@ -35,8 +35,11 @@
/** Defined if the platform supports the AI_ADDRCONFIG flag to getaddrinfo() */
#cmakedefine HAVE_AI_ADDRCONFIG
-/** Defined if the platform defines the \e ethhdr struct */
-#cmakedefine HAVE_ETHHDR
+/** Defined if the platform defines the \e ethhdr struct through linux/if_ether.h */
+#cmakedefine HAVE_LINUX_ETHHDR
+
+/** Defined if the platform defines the \e ethhdr struct through netinet/if_ether.h */
+#cmakedefine HAVE_NETINET_ETHHDR
/** Defined if the platform defines get_current_dir_name() */
#cmakedefine HAVE_GET_CURRENT_DIR_NAME