From 605d0884bc17bf2efdcc35b70fc792f2f804c863 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 12 Jun 2014 15:10:47 +0200 Subject: Add fastd, a very small VPN daemon --- net/fastd/Makefile | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 net/fastd/Makefile (limited to 'net/fastd/Makefile') diff --git a/net/fastd/Makefile b/net/fastd/Makefile new file mode 100644 index 000000000..873ace823 --- /dev/null +++ b/net/fastd/Makefile @@ -0,0 +1,163 @@ +# +# Copyright (C) 2012-2014 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:=fastd +PKG_VERSION:=12 +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/73 +PKG_MD5SUM:=1dadc61f4d712a10844afcb9b9f49a41 + +PKG_CONFIG_DEPENDS:=\ + CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST \ + CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC \ + CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC \ + CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305 \ + CONFIG_FASTD_ENABLE_METHOD_NULL \ + CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305 \ + CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR \ + CONFIG_FASTD_ENABLE_CIPHER_NULL \ + CONFIG_FASTD_ENABLE_CIPHER_SALSA20 \ + CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 \ + CONFIG_FASTD_ENABLE_MAC_GHASH \ + CONFIG_FASTD_WITH_CMDLINE_USER \ + CONFIG_FASTD_WITH_CMDLINE_LOGGING \ + CONFIG_FASTD_WITH_CMDLINE_OPERATION \ + CONFIG_FASTD_WITH_CMDLINE_COMMANDS + + +PKG_BUILD_DEPENDS:=nacl libuecc + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/fastd + SECTION:=net + CATEGORY:=Network + DEPENDS:=+kmod-tun +librt +libpthread + TITLE:=Fast and Secure Tunneling Daemon + URL:=https://projects.universe-factory.net/projects/fastd + SUBMENU:=VPN +endef + +define Package/fastd/config + source "$(SOURCE)/Config.in" +endef + +TARGET_CFLAGS += -ffunction-sections -fdata-sections +TARGET_LDFLAGS += -Wl,--gc-sections + +CMAKE_OPTIONS += \ + -DCMAKE_BUILD_TYPE:STRING=MINSIZEREL \ + -DWITH_METHOD_CIPHER_TEST:BOOL=FALSE \ + -DWITH_METHOD_COMPOSED_GMAC:BOOL=FALSE \ + -DWITH_METHOD_GENERIC_GMAC:BOOL=FALSE \ + -DWITH_METHOD_GENERIC_POLY1305:BOOL=FALSE \ + -DWITH_METHOD_NULL:BOOL=FALSE \ + -DWITH_METHOD_XSALSA20_POLY1305:BOOL=FALSE \ + -DWITH_CIPHER_AES128_CTR:BOOL=FALSE \ + -DWITH_CIPHER_NULL:BOOL=FALSE \ + -DWITH_CIPHER_SALSA20:BOOL=FALSE \ + -DWITH_CIPHER_SALSA2012:BOOL=FALSE \ + -DWITH_MAC_GHASH:BOOL=FALSE \ + -DWITH_CMDLINE_USER:BOOL=FALSE \ + -DWITH_CMDLINE_LOGGING:BOOL=FALSE \ + -DWITH_CMDLINE_OPERATION:BOOL=FALSE \ + -DWITH_CMDLINE_COMMANDS:BOOL=FALSE \ + -DWITH_CAPABILITIES:BOOL=FALSE + + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST),y) +CMAKE_OPTIONS += -DWITH_METHOD_CIPHER_TEST:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC),y) +CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_GMAC:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC),y) +CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_GMAC:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305),y) +CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_POLY1305:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_NULL),y) +CMAKE_OPTIONS += -DWITH_METHOD_NULL:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305),y) +CMAKE_OPTIONS += -DWITH_METHOD_XSALSA20_POLY1305:BOOL=TRUE +endif + + +ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR),y) +CMAKE_OPTIONS += -DWITH_CIPHER_AES128_CTR:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_NULL),y) +CMAKE_OPTIONS += -DWITH_CIPHER_NULL:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA20),y) +CMAKE_OPTIONS += -DWITH_CIPHER_SALSA20:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA2012),y) +CMAKE_OPTIONS += -DWITH_CIPHER_SALSA2012:BOOL=TRUE +endif + + +ifeq ($(CONFIG_FASTD_ENABLE_MAC_GHASH),y) +CMAKE_OPTIONS += -DWITH_MAC_GHASH:BOOL=TRUE +endif + + +ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y) +CMAKE_OPTIONS += -DWITH_CMDLINE_USER:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_WITH_CMDLINE_LOGGING),y) +CMAKE_OPTIONS += -DWITH_CMDLINE_LOGGING:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_WITH_CMDLINE_OPERATION),y) +CMAKE_OPTIONS += -DWITH_CMDLINE_OPERATION:BOOL=TRUE +endif + +ifeq ($(CONFIG_FASTD_WITH_CMDLINE_COMMANDS),y) +CMAKE_OPTIONS += -DWITH_CMDLINE_COMMANDS:BOOL=TRUE +endif + + +define Package/fastd/description + Fast and secure tunneling daemon, which is optimized on small code size and few dependencies +endef + +define Package/fastd/conffiles +/etc/config/fastd +endef + +define Package/fastd/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fastd $(1)/usr/bin/ + + $(INSTALL_DIR) $(1)/etc/init.d/ + $(INSTALL_BIN) files/fastd.init $(1)/etc/init.d/fastd + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) files/fastd.config $(1)/etc/config/fastd + $(INSTALL_DIR) $(1)/etc/fastd + $(INSTALL_DIR) $(1)/lib/upgrade/keep.d + $(INSTALL_DATA) files/fastd.upgrade $(1)/lib/upgrade/keep.d/fastd +endef + +$(eval $(call BuildPackage,fastd)) -- cgit v1.2.3