guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#48803] [PATCH] gnu: Add strongswan service.


From: Tobias Geerinckx-Rice
Subject: [bug#48803] [PATCH] gnu: Add strongswan service.
Date: Fri, 25 Jun 2021 01:17:43 +0200

Domagoj!

This is finally on master with the following changes:

Domagoj Stolfa 写道:
* gnu/services/vpn.scm (strongswan-configuration): New record type.
   (charon-plugins, strongswan-configuration-file)
(strongswan-shepherd-service, strongswan-service-type): New variables.

I don't know where this extra spacing came from but removed it.

+@subheading StrongSwan

I'm sure some style guides disapprove, but I changed all usage of ‘StrongSwan’ to upstream's ‘strongSwan’.

+Currently, the StrongSwan service only provides legacy-style configuration with
+ipsec.conf and ipsec.secrets files.

We have cool @file{} mark up so I used it.

+@defvr {Scheme Variable} strongswan-service-type
+A service type for StrongSwan configuration.

Added a very brief ‘IPsec VPN’ context.

+@lisp
+(service strongswan-service-type
+         (strongswan-configuration
+         (ipsec-conf "/etc/ipsec.conf")
+         (ipsec-secrets "/etc/ipsec.secrets")))

Fixed the indentation.

+@item @code{ipsec-conf} (default: @code{#f})
+The path to an ipsec.conf file. If set to @code{#f}, @code{ipsec-secrets} will
+also be ignored.

Reworded this to match the exception I added below. Added moar @file{}.

 @c %end of automatic openvpn-server documentation

This indicates that the author of the previous OpenVPN section automated the docs somehow. I moved it back.

 @subsubheading Wireguard
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index 2bcbf76727..691cc3c05a 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu services shepherd)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages networking)

Oops, noticed this only now… I don't think it's needed anymore. Can you confirm?

‘guix system’ & friends will now throw an inelegant error if ipsec-conf & ipsec-secrets are incongruent. I couldn't get meaningful location data out of CONFIG. This does the job:

+        (throw 'error
+ (G_ "strongSwan ipsec-conf and ipsec-secrets must \
+both be (un)set")))))

+(define strongswan-service-type
+  (service-type
+   (name 'strongswan)
+   (extensions
+    (list (service-extension shepherd-root-service-type
+                             strongswan-shepherd-service)))))

I added a default-value so people can simply write

 (service strongswan-service-type)

and a short description.

Thank you very much!

T G-R

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]