include $(TOPDIR)/rules.mk
PKG_NAME:=strongswan
-PKG_VERSION:=4.3.6
+PKG_VERSION:=4.3.7
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://download.strongswan.org/
-PKG_MD5SUM:=e071f46b6c463ce76900758734e6143e
+PKG_MD5SUM:=02adcea934ef536e704d03c5d0f934f8
+
+PKG_MOD_AVAILABLE:= \
+ aes \
+ agent \
+ attr \
+ attr-sql \
+ blowfish \
+ curl \
+ des \
+ dnskey \
+ eap-md5 \
+ eap-mschapv2 \
+ eap-radius \
+ fips-prf \
+ gcrypt \
+ gmp \
+ hmac \
+ kernel-klips \
+ kernel-netlink \
+ kernel-pfkey \
+ ldap \
+ load-tester \
+ md5 \
+ medcli \
+ medsrv \
+ mysql \
+ padlock \
+ pem \
+ pgp \
+ pkcs1 \
+ pubkey \
+ random \
+ resolve \
+ sha1 \
+ sha2 \
+ smp \
+ sql \
+ sqlite \
+ stroke \
+ uci \
+ updown \
+ x509 \
+ xcbc \
PKG_BUILD_DEPENDS:= \
clearsilver \
fcgi \
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_STRONGSWAN4_ENABLE_CISCO_QUIRKS \
+ CONFIG_STRONGSWAN4_ENABLE_NAT_TRANSPORT \
+ CONFIG_STRONGSWAN4_ENABLE_VENDOR_ID \
+ CONFIG_STRONGSWAN4_ENABLE_XAUTH_VID \
+ CONFIG_STRONGSWAN4_DEVICE_RANDOM \
+ CONFIG_STRONGSWAN4_DEVICE_URANDOM \
+ CONFIG_STRONGSWAN4_ROUTING_TABLE \
+ CONFIG_STRONGSWAN4_ROUTING_TABLE_PRIO \
+ $(patsubst %,CONFIG_PACKAGE_strongswan4-mod-%,$(PKG_MOD_AVAILABLE)) \
+
PKG_FIXUP:=libtool
PKG_INSTALL:=1
define Package/strongswan4/Default
+ SUBMENU:=VPN
SECTION:=net
CATEGORY:=Network
TITLE:=StrongSwan
define Package/strongswan4
$(call Package/strongswan4/Default)
DEPENDS:= +libpthread +ip \
+ +kmod-crypto-authenc \
+kmod-ipsec +kmod-ipsec4 \
+kmod-ipt-ipsec +iptables-mod-ipsec
MENU:=1
+strongswan4-mod-medcli \
+strongswan4-mod-medsrv \
+strongswan4-mod-mysql \
- +strongswan4-mod-padlock \
+ +TARGET_x86:strongswan4-mod-padlock \
+strongswan4-mod-pem \
+strongswan4-mod-pgp \
+strongswan4-mod-pkcs1 \
endef
+define Package/strongswan4-default
+$(call Package/strongswan4/Default)
+ TITLE+= (default)
+ DEPENDS:= strongswan4 \
+ +strongswan4-app-charon \
+ +strongswan4-app-pluto \
+ +strongswan4-mod-aes \
+ +strongswan4-mod-attr \
+ +strongswan4-mod-des \
+ +strongswan4-mod-dnskey \
+ +strongswan4-mod-fips-prf \
+ +strongswan4-mod-gmp \
+ +strongswan4-mod-hmac \
+ +strongswan4-mod-md5 \
+ +strongswan4-mod-pem \
+ +strongswan4-mod-pgp \
+ +strongswan4-mod-pkcs1 \
+ +strongswan4-mod-pubkey \
+ +strongswan4-mod-random \
+ +strongswan4-mod-resolve \
+ +strongswan4-mod-sha1 \
+ +strongswan4-mod-sha2 \
+ +strongswan4-mod-stroke \
+ +strongswan4-mod-updown \
+ +strongswan4-mod-x509 \
+ +strongswan4-mod-xcbc \
+ +strongswan4-utils
+endef
+
+define Package/strongswan4-default/description
+$(call Package/strongswan4/description/Default)
+ .
+ This meta-package contains only dependencies to match upstream
+ defaults.
+endef
+
+
define Package/strongswan4-minimal
$(call Package/strongswan4/Default)
TITLE+= (minimal)
define BuildPlugin
define Package/strongswan4-mod-$(1)
$$(call Package/strongswan4/Default)
- TITLE:= StronSwan $(2) plugin
+ TITLE:= StrongSwan $(2) plugin
DEPENDS:= strongswan4 $(3)
endef
endef
-# 1. Name
-define ConfigurePlugin
-$(if $(CONFIG_PACKAGE_strongswan4-mod-$(1)),--enable-$(1),--disable-$(1))
-endef
-
-
CONFIGURE_ARGS+= \
$(if $(CONFIG_STRONGSWAN4_ENABLE_CISCO_QUIRKS),--enable-cisco-quirks,--disable-cisco-quirks) \
$(if $(CONFIG_STRONGSWAN4_ENABLE_NAT_TRANSPORT),--enable-nat-transport,--disable-nat-transport) \
+ $(if $(CONFIG_STRONGSWAN4_ENABLE_VENDOR_ID),--enable-vendor-id,--disable-vendor-id) \
+ $(if $(CONFIG_STRONGSWAN4_ENABLE_XAUTH_VID),--enable-xauth-vid,--disable-xauth-vid) \
--disable-scripts \
--disable-static \
$(if $(CONFIG_PACKAGE_strongswan4-utils),--enable-tools,--disable-tools) \
--with-random-device="$(call qstrip,$(CONFIG_STRONGSWAN4_DEVICE_RANDOM))" \
- --with-urandom-device="$(call qstrip,$(CONFIG_STRONGSWAN4_DEVICE_RANDOM))" \
+ --with-urandom-device="$(call qstrip,$(CONFIG_STRONGSWAN4_DEVICE_URANDOM))" \
--with-routing-table="$(call qstrip,$(CONFIG_STRONGSWAN4_ROUTING_TABLE))" \
--with-routing-table-prio="$(call qstrip,$(CONFIG_STRONGSWAN4_ROUTING_TABLE_PRIO))" \
- $(call ConfigurePlugin,aes) \
- $(call ConfigurePlugin,agent) \
- $(call ConfigurePlugin,attr) \
- $(call ConfigurePlugin,attr-sql) \
- $(call ConfigurePlugin,blowfish) \
- $(call ConfigurePlugin,curl) \
- $(call ConfigurePlugin,des) \
- $(call ConfigurePlugin,dnskey) \
- $(call ConfigurePlugin,eap-md5) \
- $(call ConfigurePlugin,eap-mschapv2) \
- $(call ConfigurePlugin,eap-radius) \
- $(call ConfigurePlugin,fips-prf) \
- $(call ConfigurePlugin,gcrypt) \
- $(call ConfigurePlugin,gmp) \
- $(call ConfigurePlugin,hmac) \
- $(call ConfigurePlugin,kernel-klips) \
- $(call ConfigurePlugin,kernel-netlink) \
- $(call ConfigurePlugin,kernel-pfkey) \
- $(call ConfigurePlugin,ldap) \
- $(call ConfigurePlugin,load-tester) \
- $(call ConfigurePlugin,md5) \
- $(call ConfigurePlugin,medcli) \
- $(call ConfigurePlugin,medsrv) \
- $(call ConfigurePlugin,mysql) \
- $(call ConfigurePlugin,padlock) \
- $(call ConfigurePlugin,pem) \
- $(call ConfigurePlugin,pgp) \
- $(call ConfigurePlugin,pkcs1) \
- $(call ConfigurePlugin,pubkey) \
- $(call ConfigurePlugin,random) \
- $(call ConfigurePlugin,resolve) \
- $(call ConfigurePlugin,sha1) \
- $(call ConfigurePlugin,sha2) \
- $(call ConfigurePlugin,smp) \
- $(call ConfigurePlugin,sql) \
- $(call ConfigurePlugin,sqlite) \
- $(call ConfigurePlugin,stroke) \
- $(call ConfigurePlugin,uci) \
- $(call ConfigurePlugin,updown) \
- $(call ConfigurePlugin,x509) \
- $(call ConfigurePlugin,xcbc) \
- #$(call ConfigurePlugin,openssl,OpenSSL,openssl,,+libopenssl))
+ $(foreach m,$(PKG_MOD_AVAILABLE), \
+ $(if $(CONFIG_PACKAGE_strongswan4-mod-$(m)),--enable-$(m),--disable-$(m)) \
+ ) \
EXTRA_CPPFLAGS+= -I$(STAGING_DIR)/usr/include/ClearSilver
endef
+define Package/strongswan4-default/install
+ true
+endef
+
+
define Package/strongswan4-full/install
true
endef
$(eval $(call BuildPackage,strongswan4))
+$(eval $(call BuildPackage,strongswan4-default))
$(eval $(call BuildPackage,strongswan4-full))
$(eval $(call BuildPackage,strongswan4-minimal))
$(eval $(call BuildPackage,strongswan4-app-charon))
$(eval $(call BuildPlugin,md5,MD5 crypto,))
$(eval $(call BuildPlugin,medcli,mediation client configuration database,))
$(eval $(call BuildPlugin,medsrv,mediation server configuration database,))
-$(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan4-mod-sql +libmysqlclient))
-$(eval $(call BuildPlugin,padlock,VIA PadLock crypto,))
+$(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan4-mod-sql +PACKAGE_strongswan4-mod-mysql:libmysqlclient))
+$(eval $(call BuildPlugin,padlock,VIA PadLock crypto,@TARGET_x86))
$(eval $(call BuildPlugin,pem,PEM decoding,))
$(eval $(call BuildPlugin,pgp,PGP key decoding,))
$(eval $(call BuildPlugin,pkcs1,PKCS1 key decoding,))
$(eval $(call BuildPlugin,resolve,DNS resolver,))
$(eval $(call BuildPlugin,sha1,SHA1 crypto,))
$(eval $(call BuildPlugin,sha2,SHA2 crypto,))
-$(eval $(call BuildPlugin,smp,SMP configuration and control interface,+libxml2))
+$(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan4-mod-smp:libxml2))
$(eval $(call BuildPlugin,sql,SQL database interface,))
-$(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan4-mod-sql +libsqlite3))
+$(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan4-mod-sql +PACKAGE_strongswan4-mod-sqlite:libsqlite3))
$(eval $(call BuildPlugin,stroke,Stroke,))
$(eval $(call BuildPlugin,uci,UCI config interface,+libuci))
$(eval $(call BuildPlugin,updown,updown firewall,))
$(eval $(call BuildPlugin,x509,x509 certificate,))
$(eval $(call BuildPlugin,xcbc,xcbc crypto,))
-#$(eval $(call BuildPlugin,openssl,OpenSSL,+libopenssl))