summaryrefslogtreecommitdiff
path: root/package/strongswan
diff options
context:
space:
mode:
Diffstat (limited to 'package/strongswan')
-rw-r--r--package/strongswan/Makefile48
-rw-r--r--package/strongswan/files/strongswan.init29
-rw-r--r--package/strongswan/files/strongswan.postinst3
3 files changed, 73 insertions, 7 deletions
diff --git a/package/strongswan/Makefile b/package/strongswan/Makefile
index 88887d2b3..f1668b4bf 100644
--- a/package/strongswan/Makefile
+++ b/package/strongswan/Makefile
@@ -5,29 +5,63 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= strongswan
PKG_VERSION:= 4.4.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 22dae13782f493ec675d54b67d79a66d
PKG_DESCR:= IPsec software
PKG_SECTION:= net/security
-PKG_DEPENDS:= libgmp ip libpthread kmod-net-key kmod-xfrm-user
-PKG_DEPENDS+= kmod-inet-ah kmod-inet-esp kmod-inet-ipcomp
+PKG_DEPENDS:= ip libpthread kmod-net-key kmod-xfrm-user
+PKG_DEPENDS+= kmod-inet-ah kmod-inet-esp
PKG_DEPENDS+= kmod-inet-xfrm-mode-tunnel kmod-inet-xfrm-mode-transport
-PKG_DEPENDS+= kmod-crypto-sha1 kmod-crypto-sha256 kmod-crypto-md5
+PKG_DEPENDS+= kmod-crypto-sha1 kmod-crypto-md5
PKG_DEPENDS+= kmod-crypto-null kmod-crypto-des kmod-crypto-aes
PKG_DEPENDS+= kmod-crypto-hmac kmod-crypto-cbc kmod-crypto-authenc
-PKG_DEPENDS+= kmod-crypto-deflate
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_OPENSSL},y)
+PKG_BUILDDEP+= openssl
+endif
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_GNUTLS},y)
+PKG_BUILDDEP+= gnutls
+endif
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_GMP},y)
PKG_BUILDDEP+= gmp
+endif
PKG_URL:= http://strongswan.org/index.htm
PKG_SITES:= http://download.strongswan.org/
+PKG_CHOICES:= WITH_GMP WITH_OPENSSL WITH_GNUTLS
+PKGCD_WITH_GMP:= use GMP for crypto
+PKGCS_WITH_GMP:= libgmp
+PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
+PKGCS_WITH_OPENSSL:= libopenssl
+PKGCD_WITH_GNUTLS:= use GnuTLS for crypto
+PKGCS_WITH_GNUTLS:= libgnutls
+
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_OPENSSL},y)
+CFLINE_STRONGSWAN:= select ADK_PACKAGE_OPENSSL_WITH_EC
+endif
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,STRONGSWAN,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_OPENSSL},y)
+CONFIGURE_ARGS+= --enable-openssl \
+ --disable-gcrypt \
+ --disable-gmp
+endif
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_GNUTLS},y)
+CONFIGURE_ARGS+= --enable-gcrypt \
+ --disable-openssl \
+ --disable-gmp
+endif
+ifeq (${ADK_PACKAGE_STRONGSWAN_WITH_GMP},y)
+CONFIGURE_ARGS+= --enable-gmp \
+ --disable-openssl \
+ --disable-gcrypt
+endif
+
CONFIGURE_ARGS+= --disable-tools \
--disable-fips-prf \
- --enable-kernel-pfkey \
- --disable-xcbc
+ --enable-kernel-pfkey
post-install:
$(INSTALL_DIR) $(IDIR_STRONGSWAN)/etc
diff --git a/package/strongswan/files/strongswan.init b/package/strongswan/files/strongswan.init
new file mode 100644
index 000000000..60360b378
--- /dev/null
+++ b/package/strongswan/files/strongswan.init
@@ -0,0 +1,29 @@
+#!/bin/sh
+#PKG strongswan
+#INIT 60
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${ipsec:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ ipsec start
+ ;;
+stop)
+ ipsec stop
+ ;;
+restart)
+ sh $0 stop
+ sleep 3
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/strongswan/files/strongswan.postinst b/package/strongswan/files/strongswan.postinst
new file mode 100644
index 000000000..a5f8e11b2
--- /dev/null
+++ b/package/strongswan/files/strongswan.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf ipsec ipsec NO