include $(TOPDIR)/rules.mk
PKG_NAME:=fastd
-PKG_VERSION:=17
-PKG_RELEASE:=2
+PKG_VERSION:=18
+PKG_RELEASE:=1
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
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 \
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
-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
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
+++ /dev/null
---- 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