mirror of
https://github.com/openwrt/packages.git
synced 2026-10-12 05:57:04 +04:00
When LuCI passes a session id, migrate-ipsec-to-swanctl moves its uci
delta into /tmp/run/rpcd/uci-<session id>, rpcd's private save directory
of that session. rpcd stops naming this directory after the session id,
as the id is a bearer credential that leaked through directory listings,
so the migrated configuration would no longer show up as pending changes
in LuCI.
Stage the migration through rpcd's uci ubus API instead: revert the
session's ipsec changes, delete all sections and add the sections of the
migrated configuration. Then revert the changes of the uci command line
tool, which the old code moved away. This works with old and new rpcd
versions. If staging fails, both are reverted and the script exits with
an error.
Fixes: d5f33e6410 ("strongswan: support optional UCI session staging in migrate-ipsec-to-swanctl")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
728 lines
23 KiB
Makefile
728 lines
23 KiB
Makefile
#
|
|
# Copyright (C) 2012-2018 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:=strongswan
|
|
PKG_VERSION:=6.0.7
|
|
PKG_RELEASE:=9
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
|
|
PKG_HASH:=e518e34e159514f4c6ba80d1f926cb151e0dd4e3a1d94213171234b8b9ae6f55
|
|
|
|
PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>, Noel Kuntze <noel.kuntze@thermi.consulting>
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
|
PKG_LICENSE_FILES:=COPYING LICENSE
|
|
PKG_CPE_ID:=cpe:/a:strongswan:strongswan
|
|
|
|
PKG_MOD_AVAILABLE:= \
|
|
addrblock \
|
|
aes \
|
|
agent \
|
|
attr \
|
|
attr-sql \
|
|
blowfish \
|
|
$(if $(CONFIG_STRONGSWAN_INCLUDE_INSECURE),ccm,) \
|
|
chapoly \
|
|
cmac \
|
|
constraints \
|
|
connmark \
|
|
coupling \
|
|
ctr \
|
|
curl \
|
|
curve25519 \
|
|
des \
|
|
dhcp \
|
|
dnskey \
|
|
drbg \
|
|
duplicheck \
|
|
eap-dynamic \
|
|
eap-identity \
|
|
eap-md5 \
|
|
$(if $(CONFIG_STRONGSWAN_INCLUDE_INSECURE),eap-mschapv2,) \
|
|
eap-radius \
|
|
eap-tls \
|
|
farp \
|
|
fips-prf \
|
|
forecast \
|
|
gcm \
|
|
gcrypt \
|
|
gmp \
|
|
gmpdh \
|
|
ha \
|
|
hmac \
|
|
kdf \
|
|
kernel-libipsec \
|
|
kernel-netlink \
|
|
ldap \
|
|
led \
|
|
load-tester \
|
|
lookip \
|
|
$(if $(CONFIG_STRONGSWAN_INCLUDE_INSECURE),md4,) \
|
|
md5 \
|
|
mgf1 \
|
|
mysql \
|
|
openssl \
|
|
pem \
|
|
pgp \
|
|
pkcs1 \
|
|
pkcs7 \
|
|
pkcs8 \
|
|
pkcs11 \
|
|
pkcs12 \
|
|
pubkey \
|
|
random \
|
|
rc2 \
|
|
resolve \
|
|
revocation \
|
|
sha1 \
|
|
sha2 \
|
|
sha3 \
|
|
smp \
|
|
socket-default \
|
|
socket-dynamic \
|
|
sql \
|
|
sqlite \
|
|
sshkey \
|
|
stroke \
|
|
test-vectors \
|
|
unity \
|
|
updown \
|
|
vici \
|
|
whitelist \
|
|
wolfssl \
|
|
x509 \
|
|
xauth-eap \
|
|
xauth-generic \
|
|
xcbc
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_STRONGSWAN_ROUTING_TABLE \
|
|
CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO \
|
|
CONFIG_STRONGSWAN_INCLUDE_INSECURE \
|
|
$(patsubst %,CONFIG_PACKAGE_strongswan-mod-%,$(PKG_MOD_AVAILABLE))
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_DEPENDS:=python3/host
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
# strongswan-mod-mysql needs iconv
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
define Package/strongswan/Default
|
|
SUBMENU:=VPN
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=StrongSwan
|
|
URL:=https://strongswan.org/
|
|
endef
|
|
|
|
define Package/strongswan/description/Default
|
|
StrongSwan is an OpenSource IPsec implementation for the Linux operating system.
|
|
endef
|
|
|
|
define Package/strongswan
|
|
$(call Package/strongswan/Default)
|
|
MENU:=1
|
|
DEPENDS:= +libpthread +ip \
|
|
+kmod-ipsec +kmod-ipsec4 +IPV6:kmod-ipsec6
|
|
endef
|
|
|
|
define Package/strongswan/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
define Package/strongswan/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains shared libraries and scripts.
|
|
endef
|
|
|
|
define Package/strongswan-full
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= (full)
|
|
DEPENDS:= strongswan \
|
|
+strongswan-charon \
|
|
+strongswan-charon-cmd \
|
|
+strongswan-ipsec \
|
|
+strongswan-mod-addrblock \
|
|
+strongswan-mod-aes \
|
|
+strongswan-mod-agent \
|
|
+strongswan-mod-attr \
|
|
+strongswan-mod-attr-sql \
|
|
+strongswan-mod-blowfish \
|
|
+STRONGSWAN_INCLUDE_INSECURE:strongswan-mod-ccm \
|
|
+strongswan-mod-chapoly \
|
|
+strongswan-mod-cmac \
|
|
+strongswan-mod-constraints \
|
|
+strongswan-mod-connmark \
|
|
+strongswan-mod-coupling \
|
|
+strongswan-mod-ctr \
|
|
+strongswan-mod-curl \
|
|
+strongswan-mod-curve25519 \
|
|
+strongswan-mod-des \
|
|
+strongswan-mod-dhcp \
|
|
+strongswan-mod-dnskey \
|
|
+strongswan-mod-drbg \
|
|
+strongswan-mod-duplicheck \
|
|
+strongswan-mod-eap-dynamic \
|
|
+strongswan-mod-eap-identity \
|
|
+strongswan-mod-eap-md5 \
|
|
+STRONGSWAN_INCLUDE_INSECURE:strongswan-mod-eap-mschapv2 \
|
|
+strongswan-mod-eap-radius \
|
|
+strongswan-mod-eap-tls \
|
|
+strongswan-mod-farp \
|
|
+strongswan-mod-fips-prf \
|
|
+strongswan-mod-forecast \
|
|
+strongswan-mod-gcm \
|
|
+strongswan-mod-gcrypt \
|
|
+strongswan-mod-gmp \
|
|
+strongswan-mod-ha \
|
|
+strongswan-mod-hmac \
|
|
+strongswan-mod-kdf \
|
|
+strongswan-mod-kernel-netlink \
|
|
+strongswan-mod-ldap \
|
|
+strongswan-mod-led \
|
|
+strongswan-mod-load-tester \
|
|
+strongswan-mod-lookip \
|
|
+STRONGSWAN_INCLUDE_INSECURE:strongswan-mod-md4 \
|
|
+strongswan-mod-md5 \
|
|
+strongswan-mod-mgf1 \
|
|
+strongswan-mod-mysql \
|
|
+strongswan-mod-openssl \
|
|
+strongswan-mod-pem \
|
|
+strongswan-mod-pgp \
|
|
+strongswan-mod-pkcs1 \
|
|
+strongswan-mod-pkcs7 \
|
|
+strongswan-mod-pkcs8 \
|
|
+strongswan-mod-pkcs11 \
|
|
+strongswan-mod-pkcs12 \
|
|
+strongswan-mod-pubkey \
|
|
+strongswan-mod-random \
|
|
+strongswan-mod-rc2 \
|
|
+strongswan-mod-resolve \
|
|
+strongswan-mod-revocation \
|
|
+strongswan-mod-sha1 \
|
|
+strongswan-mod-sha2 \
|
|
+strongswan-mod-sha3 \
|
|
+strongswan-mod-smp \
|
|
+strongswan-mod-socket-default \
|
|
+strongswan-mod-sql \
|
|
+strongswan-mod-sqlite \
|
|
+strongswan-mod-sshkey \
|
|
+strongswan-mod-stroke \
|
|
+strongswan-mod-test-vectors \
|
|
+strongswan-mod-unity \
|
|
+strongswan-mod-updown \
|
|
+strongswan-mod-vici \
|
|
+strongswan-mod-whitelist \
|
|
+strongswan-mod-wolfssl \
|
|
+strongswan-mod-x509 \
|
|
+strongswan-mod-xauth-eap \
|
|
+strongswan-mod-xauth-generic \
|
|
+strongswan-mod-xcbc \
|
|
+strongswan-pki \
|
|
+strongswan-swanctl \
|
|
@DEVEL
|
|
endef
|
|
|
|
define Package/strongswan-full/description
|
|
$(call Package/strongswan/description/Default)
|
|
This meta-package contains dependencies for all of the strongswan plugins
|
|
except kernel-libipsec,
|
|
socket-dynamic and which are omitted in favor of the kernel-netlink and
|
|
socket-default plugins.
|
|
endef
|
|
|
|
|
|
define Package/strongswan-default
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= (default)
|
|
DEPENDS:= strongswan \
|
|
+strongswan-charon \
|
|
+strongswan-mod-aes \
|
|
+strongswan-mod-attr \
|
|
+strongswan-mod-connmark \
|
|
+strongswan-mod-constraints \
|
|
+strongswan-mod-des \
|
|
+strongswan-mod-dnskey \
|
|
+strongswan-mod-fips-prf \
|
|
+strongswan-mod-gmp \
|
|
+strongswan-mod-hmac \
|
|
@(PACKAGE_strongswan-mod-kdf||PACKAGE_strongswan-mod-openssl||PACKAGE_strongswan-mod-wolfssl) \
|
|
+strongswan-mod-kernel-netlink \
|
|
+strongswan-mod-md5 \
|
|
+strongswan-mod-mgf1 \
|
|
+strongswan-mod-pem \
|
|
+strongswan-mod-pgp \
|
|
+strongswan-mod-pkcs1 \
|
|
+strongswan-mod-pubkey \
|
|
+strongswan-mod-random \
|
|
+strongswan-mod-rc2 \
|
|
+strongswan-mod-resolve \
|
|
+strongswan-mod-revocation \
|
|
+strongswan-mod-sha1 \
|
|
+strongswan-mod-sha2 \
|
|
+strongswan-mod-socket-default \
|
|
+strongswan-mod-sshkey \
|
|
+strongswan-mod-updown \
|
|
+strongswan-mod-x509 \
|
|
+strongswan-mod-xauth-generic \
|
|
+strongswan-mod-xcbc \
|
|
+strongswan-swanctl
|
|
endef
|
|
|
|
define Package/strongswan-default/description
|
|
$(call Package/strongswan/description/Default)
|
|
This meta-package contains only dependencies to match upstream defaults.
|
|
endef
|
|
|
|
|
|
define Package/strongswan-isakmp
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= (isakmp)
|
|
DEPENDS:= strongswan \
|
|
+strongswan-charon \
|
|
+strongswan-ipsec \
|
|
+strongswan-mod-aes \
|
|
+strongswan-mod-des \
|
|
+strongswan-mod-gmpdh \
|
|
+strongswan-mod-hmac \
|
|
@(PACKAGE_strongswan-mod-kdf||PACKAGE_strongswan-mod-openssl||PACKAGE_strongswan-mod-wolfssl) \
|
|
+strongswan-mod-kernel-netlink \
|
|
+strongswan-mod-md5 \
|
|
+strongswan-mod-mgf1 \
|
|
+strongswan-mod-pubkey \
|
|
+strongswan-mod-random \
|
|
+strongswan-mod-sha1 \
|
|
+strongswan-mod-socket-default \
|
|
+strongswan-mod-stroke \
|
|
+strongswan-mod-updown
|
|
endef
|
|
|
|
define Package/strongswan-isakmp/description
|
|
$(call Package/strongswan/description/Default)
|
|
This meta-package contains only dependencies to establish ISAKMP /
|
|
IKE PSK connections, dropping other capabilities in favor of small size
|
|
Can fit most routers even with 4Mb flash (after removing IPv6 support).
|
|
endef
|
|
|
|
|
|
define Package/strongswan-minimal
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= (minimal)
|
|
DEPENDS:= strongswan \
|
|
+strongswan-charon \
|
|
+strongswan-mod-aes \
|
|
+strongswan-mod-gmp \
|
|
+strongswan-mod-hmac \
|
|
@(PACKAGE_strongswan-mod-kdf||PACKAGE_strongswan-mod-openssl||PACKAGE_strongswan-mod-wolfssl) \
|
|
+strongswan-mod-kernel-netlink \
|
|
+strongswan-mod-mgf1 \
|
|
+strongswan-mod-pubkey \
|
|
+strongswan-mod-random \
|
|
+strongswan-mod-sha1 \
|
|
+strongswan-mod-socket-default \
|
|
+strongswan-mod-stroke \
|
|
+strongswan-mod-updown \
|
|
+strongswan-mod-x509 \
|
|
+strongswan-mod-xcbc
|
|
endef
|
|
|
|
define Package/strongswan-minimal/description
|
|
$(call Package/strongswan/description/Default)
|
|
This meta-package contains only dependencies for a minimal IKEv2 setup.
|
|
endef
|
|
|
|
define Package/strongswan-charon
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= IKEv1/IKEv2 keying daemon
|
|
DEPENDS:= strongswan
|
|
endef
|
|
|
|
define Package/strongswan-charon/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains charon, an IKEv2 keying daemon.
|
|
endef
|
|
|
|
define Package/strongswan-charon-cmd
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= charon-cmd utility
|
|
DEPENDS:= strongswan +strongswan-charon
|
|
endef
|
|
|
|
define Package/strongswan-charon-cmd/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains the charon-cmd utility.
|
|
endef
|
|
|
|
define Package/strongswan-ipsec
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= utilities
|
|
DEPENDS:= strongswan
|
|
endef
|
|
|
|
define Package/strongswan-ipsec/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains the ipsec utility.
|
|
endef
|
|
|
|
define Package/strongswan-pki
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= PKI tool
|
|
DEPENDS:= strongswan strongswan-libtls
|
|
endef
|
|
|
|
define Package/strongswan-pki/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains the pki tool.
|
|
endef
|
|
|
|
define Package/strongswan-swanctl
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= swanctl utility
|
|
DEPENDS:= strongswan +strongswan-mod-vici
|
|
endef
|
|
|
|
define Package/strongswan-swanctl/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains the swanctl utility.
|
|
endef
|
|
|
|
define Package/strongswan-gencerts
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= X.509 certificate generation utility
|
|
DEPENDS:= strongswan +strongswan-pki bash
|
|
endef
|
|
|
|
define Package/strongswan-gencerts/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains the X.509 certificate generation utility.
|
|
endef
|
|
|
|
define Package/strongswan-libtls
|
|
$(call Package/strongswan/Default)
|
|
TITLE+= libtls
|
|
DEPENDS:= strongswan
|
|
endef
|
|
|
|
define Package/strongswan-libtls/description
|
|
$(call Package/strongswan/description/Default)
|
|
This package contains libtls for strongSwan plugins eap-tls, eap-ttls,
|
|
eap-peap, tnc-tnccs
|
|
endef
|
|
|
|
define BuildPlugin
|
|
define Package/strongswan-mod-$(1)
|
|
$$(call Package/strongswan/Default)
|
|
TITLE:= StrongSwan $(2) plugin
|
|
DEPENDS:= strongswan $(3)
|
|
endef
|
|
|
|
define Package/strongswan-mod-$(1)/install
|
|
$(INSTALL_DIR) $$(1)/etc/strongswan.d/charon
|
|
if [ -f $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf ]; then \
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf $$(1)/etc/strongswan.d/charon/; fi
|
|
$(INSTALL_DIR) $$(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-$(1).so \
|
|
$$(1)/usr/lib/ipsec/plugins/
|
|
$(call Plugin/$(1)/install,$$(1))
|
|
endef
|
|
|
|
define Package/strongswan-mod-$(1)/conffiles
|
|
/etc/strongswan.d/charon/$(1).conf
|
|
endef
|
|
|
|
$$(eval $$(call BuildPackage,strongswan-mod-$(1)))
|
|
endef
|
|
|
|
CONFIGURE_ARGS+= \
|
|
--disable-scripts \
|
|
--disable-static \
|
|
--disable-fast \
|
|
--enable-nonce \
|
|
--enable-mgf1 \
|
|
--enable-mediation \
|
|
--with-systemdsystemunitdir=no \
|
|
--with-plugins-packaged-separately=yes \
|
|
PYTHON="python3" \
|
|
$(if $(CONFIG_PACKAGE_strongswan-charon-cmd),--enable-cmd,--disable-cmd) \
|
|
$(if $(CONFIG_PACKAGE_strongswan-mod-gmpdh),--enable-gmpdh,) \
|
|
$(if $(CONFIG_PACKAGE_strongswan-pki),--enable-pki,--disable-pki) \
|
|
--with-random-device=/dev/random \
|
|
--with-urandom-device=/dev/urandom \
|
|
--with-routing-table="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE))" \
|
|
--with-routing-table-prio="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO))" \
|
|
$(foreach m,$(PKG_MOD_AVAILABLE) ccm eap-mschapv2 md4, \
|
|
$(if $(CONFIG_PACKAGE_strongswan-mod-$(m)),--enable-$(m),--disable-$(m)) \
|
|
) \
|
|
ac_cv_search___atomic_load=no
|
|
|
|
define Package/strongswan/conffiles
|
|
/etc/strongswan.conf
|
|
/etc/strongswan.d/
|
|
endef
|
|
|
|
define Package/strongswan/install
|
|
$(INSTALL_DIR) $(1)/etc
|
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/strongswan.conf $(1)/etc/
|
|
echo -e "\ninclude /var/ipsec/strongswan.conf" >> $(1)/etc/strongswan.conf
|
|
$(INSTALL_DIR) $(1)/etc/strongswan.d/charon
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/nonce.conf $(1)/etc/strongswan.d/charon/
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libstrongswan.so.* $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-nonce.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Package/strongswan-default/install
|
|
true
|
|
endef
|
|
|
|
define Package/strongswan-full/install
|
|
true
|
|
endef
|
|
|
|
define Package/strongswan-isakmp/install
|
|
true
|
|
endef
|
|
|
|
define Package/strongswan-minimal/install
|
|
true
|
|
endef
|
|
|
|
define Package/strongswan-charon/install
|
|
$(INSTALL_DIR) $(1)/etc/strongswan.d
|
|
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon.conf $(1)/etc/strongswan.d
|
|
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon-logging.conf $(1)/etc/strongswan.d
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/charon $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libcharon.so.* $(1)/usr/lib/ipsec/
|
|
endef
|
|
|
|
define Package/strongswan-charon/conffiles
|
|
/etc/strongswan.d/charon.conf
|
|
/etc/strongswan.d/charon-logging.conf
|
|
endef
|
|
|
|
define Package/strongswan-charon-cmd/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/charon-cmd $(1)/usr/sbin/
|
|
endef
|
|
|
|
define Package/strongswan-ipsec/conffiles
|
|
/etc/ipsec.d/
|
|
/etc/ipsec.conf
|
|
/etc/ipsec.secrets
|
|
/etc/ipsec.user
|
|
endef
|
|
|
|
define Package/strongswan-ipsec/install
|
|
$(INSTALL_DIR) $(1)/etc/ $(1)/usr/sbin
|
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ipsec.conf $(1)/etc/
|
|
echo -e "\ninclude /var/ipsec/ipsec.conf" >> $(1)/etc/ipsec.conf
|
|
$(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/
|
|
echo -e "\ninclude /var/ipsec/ipsec.secrets" >> $(1)/etc/ipsec.secrets
|
|
$(INSTALL_CONF) ./files/ipsec.user $(1)/etc/
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec $(1)/usr/sbin/
|
|
endef
|
|
|
|
define Package/strongswan-ipsec/postinst
|
|
#!/bin/sh
|
|
|
|
[ -z "$${IPKG_INSTROOT}" ] || exit 0
|
|
|
|
opkg list-changed-conffiles | grep -qx /etc/ipsec.conf || {
|
|
rm -f /etc/ipsec.conf-opkg
|
|
}
|
|
endef
|
|
|
|
define Package/strongswan-pki/install
|
|
$(INSTALL_DIR) $(1)/etc/strongswan.d
|
|
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/pki.conf $(1)/etc/strongswan.d/
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pki $(1)/usr/bin/
|
|
endef
|
|
|
|
define Package/strongswan-swanctl/conffiles
|
|
/etc/config/ipsec
|
|
/etc/swanctl/
|
|
endef
|
|
|
|
define Package/strongswan-swanctl/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/swanctl/{conf.d,ecdsa,pkcs{12,8},private,pubkey,rsa}
|
|
$(INSTALL_DIR) $(1)/etc/swanctl/x509{,aa,ac,ca,crl,ocsp}
|
|
$(CP) $(PKG_INSTALL_DIR)/etc/swanctl/swanctl.conf $(1)/etc/swanctl/
|
|
echo "include /var/swanctl/swanctl.conf" >> $(1)/etc/swanctl/swanctl.conf
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/swanctl $(1)/usr/sbin/
|
|
$(INSTALL_BIN) ./files/swanctl.init $(1)/etc/init.d/swanctl
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/ipsec.config $(1)/etc/config/ipsec
|
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/strongswan/
|
|
$(INSTALL_BIN) ./files/usr/libexec/strongswan/migrate-ipsec-to-swanctl \
|
|
$(1)/usr/libexec/strongswan/
|
|
endef
|
|
|
|
define Package/strongswan-gencerts/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) ./files/gencerts.sh $(1)/usr/bin/gencerts
|
|
endef
|
|
|
|
define Package/strongswan-libtls/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libtls.so.* $(1)/usr/lib/ipsec/
|
|
endef
|
|
|
|
define Plugin/duplicheck/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/duplicheck $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-duplicheck.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Plugin/eap-radius/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libradius.so.* $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-eap-radius.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Plugin/attr-sql/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/pool $(1)/usr/lib/ipsec/
|
|
endef
|
|
|
|
define Plugin/stroke/install
|
|
$(INSTALL_DIR) $(1)/etc/ipsec.d/{aacerts,acerts,cacerts,certs,crls,ocspcerts,private,reqs}
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{starter,stroke} $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-stroke.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Plugin/updown/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/_updown $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-updown.so $(1)/usr/lib/ipsec/plugins/
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/ipsec
|
|
$(CP) ./files/etc/hotplug.d/ipsec/01-user \
|
|
$(1)/etc/hotplug.d/ipsec/01-user
|
|
endef
|
|
|
|
define Plugin/vici/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libvici.so.* $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-vici.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Plugin/whitelist/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/whitelist $(1)/usr/lib/ipsec/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-whitelist.so $(1)/usr/lib/ipsec/plugins/
|
|
endef
|
|
|
|
define Plugin/kernel-libipsec/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/ipsec
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libipsec.so.* $(1)/usr/lib/ipsec/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,strongswan))
|
|
$(eval $(call BuildPackage,strongswan-default))
|
|
$(eval $(call BuildPackage,strongswan-full))
|
|
$(eval $(call BuildPackage,strongswan-minimal))
|
|
$(eval $(call BuildPackage,strongswan-isakmp))
|
|
$(eval $(call BuildPackage,strongswan-charon))
|
|
$(eval $(call BuildPackage,strongswan-charon-cmd))
|
|
$(eval $(call BuildPackage,strongswan-ipsec))
|
|
$(eval $(call BuildPackage,strongswan-pki))
|
|
$(eval $(call BuildPackage,strongswan-swanctl))
|
|
$(eval $(call BuildPackage,strongswan-gencerts))
|
|
$(eval $(call BuildPackage,strongswan-libtls))
|
|
$(eval $(call BuildPlugin,addrblock,RFC 3779 address block constraint support,))
|
|
$(eval $(call BuildPlugin,aes,AES crypto,))
|
|
$(eval $(call BuildPlugin,agent,SSH agent signing,))
|
|
$(eval $(call BuildPlugin,attr,file based config,))
|
|
$(eval $(call BuildPlugin,attr-sql,SQL based config,+strongswan-charon))
|
|
$(eval $(call BuildPlugin,blowfish,Blowfish crypto,))
|
|
$(eval $(call BuildPlugin,ccm,CCM AEAD wrapper crypto,))
|
|
$(eval $(call BuildPlugin,chapoly,ChaCha20-Poly1305 AEAD crypto,+kmod-crypto-chacha20poly1305))
|
|
$(eval $(call BuildPlugin,cmac,CMAC crypto,))
|
|
$(eval $(call BuildPlugin,connmark,netfilter connection marking,+libip4tc))
|
|
$(eval $(call BuildPlugin,constraints,advanced X509 constraint checking,))
|
|
$(eval $(call BuildPlugin,coupling,IKEv2 plugin to couple peer certificates permanently to authentication,))
|
|
$(eval $(call BuildPlugin,ctr,Counter Mode wrapper crypto,))
|
|
$(eval $(call BuildPlugin,curl,cURL fetcher plugin,+PACKAGE_strongswan-mod-curl:libcurl))
|
|
$(eval $(call BuildPlugin,curve25519,Curve25519 Diffie-Hellman,))
|
|
$(eval $(call BuildPlugin,des,DES crypto,))
|
|
$(eval $(call BuildPlugin,dhcp,DHCP based attribute provider,))
|
|
$(eval $(call BuildPlugin,dnskey,DNS RR key decoding,))
|
|
$(eval $(call BuildPlugin,drbg,Deterministic random bit generator,,))
|
|
$(eval $(call BuildPlugin,duplicheck,advanced duplicate checking,))
|
|
$(eval $(call BuildPlugin,eap-dynamic,EAP dynamic selector,))
|
|
$(eval $(call BuildPlugin,eap-identity,EAP identity helper,))
|
|
$(eval $(call BuildPlugin,eap-md5,EAP MD5 (CHAP) EAP auth,))
|
|
$(eval $(call BuildPlugin,eap-mschapv2,EAP MS-CHAPv2 EAP auth,+strongswan-mod-md4 +strongswan-mod-des))
|
|
$(eval $(call BuildPlugin,eap-radius,EAP RADIUS auth,))
|
|
$(eval $(call BuildPlugin,eap-tls,EAP TLS auth,+strongswan-libtls))
|
|
$(eval $(call BuildPlugin,farp,fake arp respsonses,))
|
|
$(eval $(call BuildPlugin,fips-prf,FIPS PRF crypto,+strongswan-mod-sha1))
|
|
$(eval $(call BuildPlugin,forecast,forward multi/broadcast traffic,+libip4tc +kmod-ipt-conntrack-extra))
|
|
$(eval $(call BuildPlugin,gcm,GCM AEAD wrapper crypto,))
|
|
$(eval $(call BuildPlugin,gcrypt,libgcrypt,+PACKAGE_strongswan-mod-gcrypt:libgcrypt))
|
|
$(eval $(call BuildPlugin,gmp,libgmp,+PACKAGE_strongswan-mod-gmp:libgmp))
|
|
$(eval $(call BuildPlugin,gmpdh,DH-Groups; no libgmp dep,))
|
|
$(eval $(call BuildPlugin,ha,high availability cluster,))
|
|
$(eval $(call BuildPlugin,hmac,HMAC crypto,))
|
|
$(eval $(call BuildPlugin,kdf,KDF/PRF+,))
|
|
$(eval $(call BuildPlugin,kernel-libipsec,libipsec kernel interface,))
|
|
$(eval $(call BuildPlugin,kernel-netlink,netlink kernel interface,))
|
|
$(eval $(call BuildPlugin,ldap,LDAP,+PACKAGE_strongswan-mod-ldap:libopenldap))
|
|
$(eval $(call BuildPlugin,led,LED blink on IKE activity,))
|
|
$(eval $(call BuildPlugin,load-tester,load testing,))
|
|
$(eval $(call BuildPlugin,lookip,enable fast virtual IP lookup and notification,))
|
|
$(eval $(call BuildPlugin,md4,MD4 crypto,))
|
|
$(eval $(call BuildPlugin,md5,MD5 crypto,))
|
|
$(eval $(call BuildPlugin,mgf1,MGF1 crypto,))
|
|
$(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-mysql:libmysqlclient-r))
|
|
$(eval $(call BuildPlugin,openssl,OpenSSL crypto,+PACKAGE_strongswan-mod-openssl:libopenssl))
|
|
$(eval $(call BuildPlugin,pem,PEM decoding,))
|
|
$(eval $(call BuildPlugin,pgp,PGP key decoding,))
|
|
$(eval $(call BuildPlugin,pkcs1,PKCS1 key decoding,))
|
|
$(eval $(call BuildPlugin,pkcs7,PKCS7 key decoding,))
|
|
$(eval $(call BuildPlugin,pkcs8,PKCS8 key decoding,))
|
|
$(eval $(call BuildPlugin,pkcs11,PKCS11 key decoding,))
|
|
$(eval $(call BuildPlugin,pkcs12,PKCS12 key decoding,))
|
|
$(eval $(call BuildPlugin,pubkey,raw public key,))
|
|
$(eval $(call BuildPlugin,random,RNG,))
|
|
$(eval $(call BuildPlugin,rc2,RC2 crypto,))
|
|
$(eval $(call BuildPlugin,resolve,DNS resolver,))
|
|
$(eval $(call BuildPlugin,revocation,X509 CRL/OCSP revocation,))
|
|
$(eval $(call BuildPlugin,sha1,SHA1 crypto,))
|
|
$(eval $(call BuildPlugin,sha2,SHA2 crypto,))
|
|
$(eval $(call BuildPlugin,sha3,SHA3 and SHAKE crypto,))
|
|
$(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan-mod-smp:libxml2))
|
|
$(eval $(call BuildPlugin,socket-default,default socket implementation for charon,))
|
|
$(eval $(call BuildPlugin,socket-dynamic,dynamic socket implementation for charon,))
|
|
$(eval $(call BuildPlugin,sql,SQL database interface,))
|
|
$(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-sqlite:libsqlite3))
|
|
$(eval $(call BuildPlugin,sshkey,SSH key decoding,))
|
|
$(eval $(call BuildPlugin,stroke,Stroke,+strongswan-charon +strongswan-ipsec))
|
|
$(eval $(call BuildPlugin,test-vectors,crypto test vectors,))
|
|
$(eval $(call BuildPlugin,unity,Cisco Unity extension,))
|
|
$(eval $(call BuildPlugin,updown,updown firewall,+iptables +IPV6:ip6tables +iptables-mod-ipsec +kmod-ipt-ipsec))
|
|
$(eval $(call BuildPlugin,vici,Versatile IKE Configuration Interface,))
|
|
$(eval $(call BuildPlugin,whitelist,peer identity whitelisting,))
|
|
$(eval $(call BuildPlugin,wolfssl,WolfSSL crypto,+PACKAGE_strongswan-mod-wolfssl:libwolfssl))
|
|
$(eval $(call BuildPlugin,x509,x509 certificate,))
|
|
$(eval $(call BuildPlugin,xauth-eap,EAP XAuth backend,))
|
|
$(eval $(call BuildPlugin,xauth-generic,generic XAuth backend,))
|
|
$(eval $(call BuildPlugin,xcbc,xcbc crypto,))
|