Subject: [bug#48626] [PATCH] strongswan: enable more sensible defaults.

From: Domagoj Stolfa <[email-masked]>
Date: Mon, 24 May 2021 16:35:02 +0100

Presently, the strongswan defaults are too minimal to be used with most
common VPN setups. This commit enables support for a number of things
that should make strongswan much more usable in Guix. It also explicitly
disables AESNI in order to not rely on an Intel implementation.
---
 gnu/packages/networking.scm | 52 +++++++++++++++++++++++++++++++++++--
 1 file changed, 50 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8bcaa98fbb..1ce7adfde9 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2863,14 +2863,62 @@ displays the results in real time.")
        (list
         ;; Disable bsd-4 licensed plugins.
         "--disable-des"
-        "--disable-blowfish")))
+        "--disable-blowfish"
+        ;; Disable AESNI
+        "--disable-aesni"
+        ;; Disable systemd
+        "--disable-systemd"
+        ;; Don't use mysql or OpenLDAP
+        "--disable-mysql"
+        "--disable-ldap"
+        ;; Enable the rest needed for a sensible configuration
+        "--enable-attr-sql"
+        "--enable-chapoly"
+        "--enable-curl"
+        "--enable-dhcp"
+        "--enable-farp"
+        "--enable-md4"
+        "--enable-eap-aka"
+        "--enable-eap-aka-3gpp"
+        "--enable-eap-dynamic"
+        "--enable-eap-identity"
+        "--enable-eap-md5"
+        "--enable-eap-mschapv2"
+        "--enable-eap-peap"
+        "--enable-eap-radius"
+        "--enable-eap-sim"
+        "--enable-eap-sim-file"
+        "--enable-eap-simaka-pseudonym"
+        "--enable-eap-simaka-reauth"
+        "--enable-eap-simaka-sql"
+        "--enable-eap-tls"
+        "--enable-eap-tnc"
+        "--enable-eap-ttls"
+        "--enable-xauth-eap"
+        "--enable-ext-auth"
+        "--enable-led"
+        "--enable-ha"
+        "--enable-mediation"
+        "--enable-soup"
+        "--enable-sql"
+        "--enable-sqlite"
+        "--enable-openssl"
+        "--enable-xauth-eap"
+        "--enable-xauth-noauth"
+        "--enable-xauth-pam"
+        ;; Use libcap by default
+        "--with-capabilities=libcap")))
     (inputs
      `(("curl" ,curl)
        ("gmp" ,gmp)
        ("libgcrypt" ,libgcrypt)
-       ("openssl" ,openssl)))
+       ("openssl" ,openssl)
+       ("libsoup" ,libsoup)
+       ("libcap" ,libcap)
+       ("linux-pam" ,linux-pam)))
     (native-inputs
      `(("coreutils" ,coreutils)
+       ("pkg-config" ,pkg-config)
        ("tzdata" ,tzdata-for-tests)))
     (synopsis "IKEv1/v2 keying daemon")
     (description "StrongSwan is an IPsec implementation originally based upon
-- 
2.31.1