diff --git a/net/fastd/Config.in b/net/fastd/Config.in index 5820b9796..3350eb309 100644 --- a/net/fastd/Config.in +++ b/net/fastd/Config.in @@ -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 diff --git a/net/fastd/Makefile b/net/fastd/Makefile index 0574b399e..5c550d8a5 100644 --- a/net/fastd/Makefile +++ b/net/fastd/Makefile @@ -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 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 diff --git a/net/fastd/patches/100-musl-compat.patch b/net/fastd/patches/100-musl-compat.patch deleted file mode 100644 index 984aace11..000000000 --- a/net/fastd/patches/100-musl-compat.patch +++ /dev/null @@ -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 - #include - #include -+ -+#if defined(HAVE_LINUX_ETHHDR) -+#include -+#elif defined(HAVE_NETINET_ETHHDR) - #include -+#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