summaryrefslogtreecommitdiff
path: root/net-vpn/strongswan
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /net-vpn/strongswan
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'net-vpn/strongswan')
-rw-r--r--net-vpn/strongswan/Manifest6
-rw-r--r--net-vpn/strongswan/strongswan-5.9.2-r2.ebuild15
-rw-r--r--net-vpn/strongswan/strongswan-5.9.4-r1.ebuild11
-rw-r--r--net-vpn/strongswan/strongswan-5.9.5.ebuild306
4 files changed, 318 insertions, 20 deletions
diff --git a/net-vpn/strongswan/Manifest b/net-vpn/strongswan/Manifest
index 58c45889f089..7ea19da12c58 100644
--- a/net-vpn/strongswan/Manifest
+++ b/net-vpn/strongswan/Manifest
@@ -1,6 +1,8 @@
AUX ipsec 451 BLAKE2B deb3fff7043e04c1630119bb0cbbd6fa9b6f15666131ac9744a32d35cf3bc0629fe99cf9936b9cdb464627c1a8c121b8485f164166efda428825a55aab557d18 SHA512 d11ccc36ee89df5974547441fdb6c539dd3a7a5e235e318c1beddca7d4f5cace857f2dc75752e6fa913177eec9c3afcbed52de5bc08e8c314096d439cbc3bc6c
DIST strongswan-5.9.2.tar.bz2 4607281 BLAKE2B 84f5457bc970f49c9bc99d0ef41182d815e39b8a88be349ad0a78b531a983d3b3919d5c9f3b97793b0b2569f2c6b151cc3b5d9b145a8bfd663db6f79d8ff3dd6 SHA512 dca30b9be7847e0af59d1526c2e38d440b6729055cb3f0f0637d50d7381df465c7b59e79662efe63870a7a5a44eef696c02231274d2764f9e3c430ce2fd694f6
DIST strongswan-5.9.4.tar.bz2 4651000 BLAKE2B 071a0a0a144b369a7e4069d92340cecca9eef0c004949d91993c8f1cc0f39f7868749020d6e135fa59d5899d146f39172f87eb32a26ad788cb8a4c160597e328 SHA512 796356c1d5c1ad410f0ed944ab4a131076d26f120ec6fa57796fe4060b0741201199625883ddc9ebd8a7ad299495f073cec76a6780ebd8f375605aae16750cf3
-EBUILD strongswan-5.9.2-r2.ebuild 9498 BLAKE2B 08e05cff5db3d9ebcdd8c57214eac65f85d1aef2dd9d68ceb076c52c75f753dd6ae2153254c086f67de5fde6264021f929e542cb38ab6ab3c2c213290f7ad640 SHA512 25801fac161b550c188e4cb06822afdb0afd3951864fdd11b221c37d85574dd838047a95839e45f0617f4b6f015e7d73dcd0ab225eaaa1ad2443bf615761e050
-EBUILD strongswan-5.9.4-r1.ebuild 9541 BLAKE2B d92ad450c4d2d0e1f004eb432c14b38b80d53e2662beef0dd02f50e780135425e8f452b741e919d3e79e6889274375bbb6cdd483603abef3fce0b051be9752d8 SHA512 f1fc1e8cc72dd158db388869d1babeca199e891d8de2d27c78888bc0d70facc207a1936d0e60af83c8ff26a606ac52c3881bf96abd1caa50df875a220f9294a9
+DIST strongswan-5.9.5.tar.bz2 4722123 BLAKE2B 8b3adc44d5f5eb3824845ce9eda75e7b75f0f7394fbe84f827f4a8177e5299ca7170103ee6cd76e1e18aef85d7f124a43a505ceaf41ec4ed575eb214ebb6af21 SHA512 3b11c4edb1ffccf0ea5b8b843acfe2eb18dcd3857fc2818b8481c4febe7959261e1b2804c3af29068319df469fa0b784682d3ba4d49a3eb580841ff3c34e33a1
+EBUILD strongswan-5.9.2-r2.ebuild 9203 BLAKE2B 58be1eaa459fb75313553fcd283242c0679d5d60b4153fd8ec204d1977119cf5bcf33bffca00bffc30a3f2df1901dd2ccba74d033ae131bd6e376f04ceb2d06c SHA512 ba382b292d0a821e7d775d199a1a08bb8cbc1385053a1a693f2bf934cf0e36aa88d64b95ef920f35299c188b317ba77907b2a7947b04a214c715db6dda772f2c
+EBUILD strongswan-5.9.4-r1.ebuild 9262 BLAKE2B d24fd915be1deaf6a53ccf16ac86372d1a9eb6068837d52b180277b42a1cb6476be664486b6cfdf5e01608acec393631bb8ebc5f05ac4e3dc25330883050633b SHA512 c90caf067c095a917ed526f8e0407cf923132b19af7c0d201c3103623185d692940efec465eb215c2382481b16c440822969e34bcb37a1ddb96a43586b040eea
+EBUILD strongswan-5.9.5.ebuild 9245 BLAKE2B 4b550da0505344b8196cad3b1d7c9bd354bfbde183c170497527efdc9be63679b3b34387c4c8dd4ce2288f837f9b7fe20d71bd37a1279abe4ff3623d2e5363d2 SHA512 d93fb0b67c59c6de52c0230d9b19e1e6b93a3928dc8d12444b0d5f29624f779b4ea62ff65faa09d52cde46229178ba342a8d54185c1cc07387fd79646920a662
MISC metadata.xml 4614 BLAKE2B 36dda05c64629c1eb1a84af07c7e87fc473d887cb72828e8293f6333682ec71092d67ea4e6b29722402ff556111823d295b4c43a5142500ac8a682243ba6a903 SHA512 11bb9cdbd59efce68c5467d3615ddf32b94c497fbeaf69ac3d2aeb16cee733ab0db08d045e6b5f20f11c00139bd027bf3f65defcab31dc8cb12b638aa9b8e941
diff --git a/net-vpn/strongswan/strongswan-5.9.2-r2.ebuild b/net-vpn/strongswan/strongswan-5.9.2-r2.ebuild
index b537c194e061..8d920548b62e 100644
--- a/net-vpn/strongswan/strongswan-5.9.2-r2.ebuild
+++ b/net-vpn/strongswan/strongswan-5.9.2-r2.ebuild
@@ -276,18 +276,13 @@ pkg_postinst() {
if use non-root; then
elog
elog "${PN} has been installed without superuser privileges (USE=non-root)."
- elog "This imposes several limitations mainly to the IKEv1 daemon 'pluto'"
- elog "but also a few to the IKEv2 daemon 'charon'."
+ elog "This imposes a few limitations mainly to the daemon 'charon' in"
+ elog "regards of the use of iptables."
elog
- elog "Please carefully read: http://wiki.strongswan.org/wiki/nonRoot"
+ elog "Please carefully read: https://wiki.strongswan.org/projects/strongswan/wiki/ReducedPrivileges"
elog
- elog "pluto uses a helper script by default to insert/remove routing and"
- elog "policy rules upon connection start/stop which requires superuser"
- elog "privileges. charon in contrast does this internally and can do so"
- elog "even with reduced (user) privileges."
- elog
- elog "Thus if you require IKEv1 (pluto) or need to specify a custom updown"
- elog "script to pluto or charon which requires superuser privileges, you"
+ elog "Thus if you require to specify a custom updown"
+ elog "script to charon which requires superuser privileges, you"
elog "can work around this limitation by using sudo to grant the"
elog "user \"ipsec\" the appropriate rights."
elog "For example (the default case):"
diff --git a/net-vpn/strongswan/strongswan-5.9.4-r1.ebuild b/net-vpn/strongswan/strongswan-5.9.4-r1.ebuild
index 5d6ceeabdccc..32650ad0af2b 100644
--- a/net-vpn/strongswan/strongswan-5.9.4-r1.ebuild
+++ b/net-vpn/strongswan/strongswan-5.9.4-r1.ebuild
@@ -282,15 +282,10 @@ pkg_postinst() {
elog "This imposes several limitations mainly to the IKEv1 daemon 'pluto'"
elog "but also a few to the IKEv2 daemon 'charon'."
elog
- elog "Please carefully read: http://wiki.strongswan.org/wiki/nonRoot"
+ elog "Please carefully read: http://wiki.strongswan.org/projects/strongswan/wiki/ReducedPrivileges"
elog
- elog "pluto uses a helper script by default to insert/remove routing and"
- elog "policy rules upon connection start/stop which requires superuser"
- elog "privileges. charon in contrast does this internally and can do so"
- elog "even with reduced (user) privileges."
- elog
- elog "Thus if you require IKEv1 (pluto) or need to specify a custom updown"
- elog "script to pluto or charon which requires superuser privileges, you"
+ elog "Thus if you require to specify a custom updown"
+ elog "script to charon which requires superuser privileges, you"
elog "can work around this limitation by using sudo to grant the"
elog "user \"ipsec\" the appropriate rights."
elog "For example (the default case):"
diff --git a/net-vpn/strongswan/strongswan-5.9.5.ebuild b/net-vpn/strongswan/strongswan-5.9.5.ebuild
new file mode 100644
index 000000000000..5acae3b7ab5c
--- /dev/null
+++ b/net-vpn/strongswan/strongswan-5.9.5.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+inherit linux-info systemd
+
+DESCRIPTION="IPsec-based VPN solution, supporting IKEv1/IKEv2 and MOBIKE"
+HOMEPAGE="https://www.strongswan.org/"
+SRC_URI="https://download.strongswan.org/${P}.tar.bz2"
+
+LICENSE="GPL-2 RSA DES"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="+caps curl +constraints debug dhcp eap farp gcrypt +gmp ldap mysql networkmanager +non-root +openssl selinux sqlite systemd pam pkcs11"
+
+STRONGSWAN_PLUGINS_STD="led lookip systime-fix unity vici"
+STRONGSWAN_PLUGINS_OPT="aesni blowfish bypass-lan ccm chapoly ctr forecast gcm
+ha ipseckey newhope ntru padlock rdrand save-keys unbound whitelist
+xauth-noauth"
+for mod in $STRONGSWAN_PLUGINS_STD; do
+ IUSE="${IUSE} +strongswan_plugins_${mod}"
+done
+
+for mod in $STRONGSWAN_PLUGINS_OPT; do
+ IUSE="${IUSE} strongswan_plugins_${mod}"
+done
+
+COMMON_DEPEND="non-root? (
+ acct-user/ipsec
+ acct-group/ipsec
+ )
+ gmp? ( >=dev-libs/gmp-4.1.5:= )
+ gcrypt? ( dev-libs/libgcrypt:0 )
+ caps? ( sys-libs/libcap )
+ curl? ( net-misc/curl )
+ ldap? ( net-nds/openldap )
+ openssl? ( >=dev-libs/openssl-0.9.8:=[-bindist(-)] )
+ mysql? ( dev-db/mysql-connector-c:= )
+ sqlite? ( >=dev-db/sqlite-3.3.1 )
+ systemd? ( sys-apps/systemd )
+ networkmanager? ( net-misc/networkmanager )
+ pam? ( sys-libs/pam )
+ strongswan_plugins_unbound? ( net-dns/unbound:= net-libs/ldns )"
+
+DEPEND="${COMMON_DEPEND}
+ virtual/linux-sources
+ sys-kernel/linux-headers"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/logger
+ sys-apps/iproute2
+ !net-vpn/libreswan
+ selinux? ( sec-policy/selinux-ipsec )"
+
+UGID="ipsec"
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ elog "Linux kernel version: ${KV_FULL}"
+
+ if ! kernel_is -ge 2 6 16; then
+ eerror
+ eerror "This ebuild currently only supports ${PN} with the"
+ eerror "native Linux 2.6 IPsec stack on kernels >= 2.6.16."
+ eerror
+ fi
+
+ if kernel_is -lt 2 6 34; then
+ ewarn
+ ewarn "IMPORTANT KERNEL NOTES: Please read carefully..."
+ ewarn
+
+ if kernel_is -lt 2 6 29; then
+ ewarn "[ < 2.6.29 ] Due to a missing kernel feature, you have to"
+ ewarn "include all required IPv6 modules even if you just intend"
+ ewarn "to run on IPv4 only."
+ ewarn
+ ewarn "This has been fixed with kernels >= 2.6.29."
+ ewarn
+ fi
+
+ if kernel_is -lt 2 6 33; then
+ ewarn "[ < 2.6.33 ] Kernels prior to 2.6.33 include a non-standards"
+ ewarn "compliant implementation for SHA-2 HMAC support in ESP and"
+ ewarn "miss SHA384 and SHA512 HMAC support altogether."
+ ewarn
+ ewarn "If you need any of those features, please use kernel >= 2.6.33."
+ ewarn
+ fi
+
+ if kernel_is -lt 2 6 34; then
+ ewarn "[ < 2.6.34 ] Support for the AES-GMAC authentification-only"
+ ewarn "ESP cipher is only included in kernels >= 2.6.34."
+ ewarn
+ ewarn "If you need it, please use kernel >= 2.6.34."
+ ewarn
+ fi
+ fi
+}
+
+src_configure() {
+ local myconf=""
+
+ if use non-root; then
+ myconf="${myconf} --with-user=${UGID} --with-group=${UGID}"
+ fi
+
+ # If a user has already enabled db support, those plugins will
+ # most likely be desired as well. Besides they don't impose new
+ # dependencies and come at no cost (except for space).
+ if use mysql || use sqlite; then
+ myconf="${myconf} --enable-attr-sql --enable-sql"
+ fi
+
+ # strongSwan builds and installs static libs by default which are
+ # useless to the user (and to strongSwan for that matter) because no
+ # header files or alike get installed... so disabling them is safe.
+ if use pam && use eap; then
+ myconf="${myconf} --enable-eap-gtc"
+ else
+ myconf="${myconf} --disable-eap-gtc"
+ fi
+
+ for mod in $STRONGSWAN_PLUGINS_STD; do
+ if use strongswan_plugins_${mod}; then
+ myconf+=" --enable-${mod}"
+ fi
+ done
+
+ for mod in $STRONGSWAN_PLUGINS_OPT; do
+ if use strongswan_plugins_${mod}; then
+ myconf+=" --enable-${mod}"
+ fi
+ done
+
+ econf \
+ --disable-static \
+ --enable-ikev1 \
+ --enable-ikev2 \
+ --enable-swanctl \
+ --enable-socket-dynamic \
+ --enable-cmd \
+ $(use_enable curl) \
+ $(use_enable constraints) \
+ $(use_enable ldap) \
+ $(use_enable debug leak-detective) \
+ $(use_enable dhcp) \
+ $(use_enable eap eap-sim) \
+ $(use_enable eap eap-sim-file) \
+ $(use_enable eap eap-simaka-sql) \
+ $(use_enable eap eap-simaka-pseudonym) \
+ $(use_enable eap eap-simaka-reauth) \
+ $(use_enable eap eap-identity) \
+ $(use_enable eap eap-md5) \
+ $(use_enable eap eap-aka) \
+ $(use_enable eap eap-aka-3gpp2) \
+ $(use_enable eap md4) \
+ $(use_enable eap eap-mschapv2) \
+ $(use_enable eap eap-radius) \
+ $(use_enable eap eap-tls) \
+ $(use_enable eap eap-ttls) \
+ $(use_enable eap xauth-eap) \
+ $(use_enable eap eap-dynamic) \
+ $(use_enable farp) \
+ $(use_enable gmp) \
+ $(use_enable gcrypt) \
+ $(use_enable mysql) \
+ $(use_enable networkmanager nm) \
+ $(use_enable openssl) \
+ $(use_enable pam xauth-pam) \
+ $(use_enable pkcs11) \
+ $(use_enable sqlite) \
+ $(use_enable systemd) \
+ $(use_with caps capabilities libcap) \
+ --with-piddir=/run \
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use systemd; then
+ rm -rf "${ED}"/lib/systemd || die "Failed removing systemd lib."
+ fi
+
+ doinitd "${FILESDIR}"/ipsec
+
+ local dir_ugid
+ if use non-root; then
+ fowners ${UGID}:${UGID} \
+ /etc/ipsec.conf \
+ /etc/strongswan.conf
+
+ dir_ugid="${UGID}"
+ else
+ dir_ugid="root"
+ fi
+
+ diropts -m 0750 -o ${dir_ugid} -g ${dir_ugid}
+ dodir /etc/ipsec.d \
+ /etc/ipsec.d/aacerts \
+ /etc/ipsec.d/acerts \
+ /etc/ipsec.d/cacerts \
+ /etc/ipsec.d/certs \
+ /etc/ipsec.d/crls \
+ /etc/ipsec.d/ocspcerts \
+ /etc/ipsec.d/private \
+ /etc/ipsec.d/reqs
+
+ dodoc NEWS README TODO
+
+ # shared libs are used only internally and there are no static libs,
+ # so it's safe to get rid of the .la files
+ find "${D}" -name '*.la' -delete || die "Failed to remove .la files."
+}
+
+pkg_preinst() {
+ has_version "<net-vpn/strongswan-4.3.6-r1"
+ upgrade_from_leq_4_3_6=$(( !$? ))
+
+ has_version "<net-vpn/strongswan-4.3.6-r1[-caps]"
+ previous_4_3_6_with_caps=$(( !$? ))
+}
+
+pkg_postinst() {
+ if ! use openssl && ! use gcrypt; then
+ elog
+ elog "${PN} has been compiled without both OpenSSL and libgcrypt support."
+ elog "Please note that this might effect availability and speed of some"
+ elog "cryptographic features. You are advised to enable the OpenSSL plugin."
+ elif ! use openssl; then
+ elog
+ elog "${PN} has been compiled without the OpenSSL plugin. This might effect"
+ elog "availability and speed of some cryptographic features. There will be"
+ elog "no support for Elliptic Curve Cryptography (Diffie-Hellman groups 19-21,"
+ elog "25, 26) and ECDSA."
+ fi
+
+ if [[ $upgrade_from_leq_4_3_6 == 1 ]]; then
+ chmod 0750 "${ROOT}"/etc/ipsec.d \
+ "${ROOT}"/etc/ipsec.d/aacerts \
+ "${ROOT}"/etc/ipsec.d/acerts \
+ "${ROOT}"/etc/ipsec.d/cacerts \
+ "${ROOT}"/etc/ipsec.d/certs \
+ "${ROOT}"/etc/ipsec.d/crls \
+ "${ROOT}"/etc/ipsec.d/ocspcerts \
+ "${ROOT}"/etc/ipsec.d/private \
+ "${ROOT}"/etc/ipsec.d/reqs
+
+ ewarn
+ ewarn "The default permissions for /etc/ipsec.d/* have been tightened for"
+ ewarn "security reasons. Your system installed directories have been"
+ ewarn "updated accordingly. Please check if necessary."
+ ewarn
+
+ if [[ $previous_4_3_6_with_caps == 1 ]]; then
+ if ! use non-root; then
+ ewarn
+ ewarn "IMPORTANT: You previously had ${PN} installed without root"
+ ewarn "privileges because it was implied by the 'caps' USE flag."
+ ewarn "This has been changed. If you want ${PN} with user privileges,"
+ ewarn "you have to re-emerge it with the 'non-root' USE flag enabled."
+ ewarn
+ fi
+ fi
+ fi
+ if ! use caps && ! use non-root; then
+ ewarn
+ ewarn "You have decided to run ${PN} with root privileges and built it"
+ ewarn "without support for POSIX capability dropping. It is generally"
+ ewarn "strongly suggested that you reconsider- especially if you intend"
+ ewarn "to run ${PN} as server with a public ip address."
+ ewarn
+ ewarn "You should re-emerge ${PN} with at least the 'caps' USE flag enabled."
+ ewarn
+ fi
+ if use non-root; then
+ elog
+ elog "${PN} has been installed without superuser privileges (USE=non-root)."
+ elog "This imposes a few limitations mainly to the daemon 'charon' in"
+ elog "regards of the use of iptables."
+ elog
+ elog "Please carefully read: http://wiki.strongswan.org/projects/strongswan/wiki/ReducedPrivileges"
+ elog
+ elog "Thus if you require to specify a custom updown"
+ elog "script to charon which requires superuser privileges, you"
+ elog "can work around this limitation by using sudo to grant the"
+ elog "user \"ipsec\" the appropriate rights."
+ elog "For example (the default case):"
+ elog "/etc/sudoers:"
+ elog " ipsec ALL=(ALL) NOPASSWD: SETENV: /usr/sbin/ipsec"
+ elog "Under the specific connection block in /etc/ipsec.conf:"
+ elog " leftupdown=\"sudo -E ipsec _updown iptables\""
+ elog
+ fi
+ elog
+ elog "Make sure you have _all_ required kernel modules available including"
+ elog "the appropriate cryptographic algorithms. A list is available at:"
+ elog " https://wiki.strongswan.org/projects/strongswan/wiki/KernelModules"
+ elog
+ elog "The up-to-date manual is available online at:"
+ elog " https://wiki.strongswan.org/"
+ elog
+}