From 5b6823907216d6c6c98fdb962f2005f154328878 Mon Sep 17 00:00:00 2001
From: Eric Brown <brown@fastmail.com>
Date: Tue, 24 Jul 2018 16:19:40 -0500
Subject: services: openssh: Add forwarding options.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/services/ssh.scm (<openssh-configuration>)[allow-agent-forwarding?]
[allow-tcp-forwarding?, gateway-ports?]: New fields.
(openssh-config-file): Handle them.
* doc/guix.texi (Networking Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/services/ssh.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'gnu/services')

diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index f158fdf01f..dd96ad6aec 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -289,6 +289,19 @@ The other options should be self-descriptive."
   ;; Boolean
   (x11-forwarding?       openssh-configuration-x11-forwarding?
                          (default #f))
+
+  ;; Boolean
+  (allow-agent-forwarding? openssh-configuration-allow-agent-forwarding?
+                           (default #t))
+
+  ;; Boolean
+  (allow-tcp-forwarding? openssh-configuration-allow-tcp-forwarding?
+                         (default #t))
+
+  ;; Boolean
+  (gateway-ports? openssh-configuration-gateway-ports?
+                         (default #f))
+
   ;; Boolean
   (challenge-response-authentication? openssh-challenge-response-authentication?
                                       (default #f))
@@ -418,6 +431,15 @@ of user-name/file-like tuples."
            (format port "X11Forwarding ~a\n"
                    #$(if (openssh-configuration-x11-forwarding? config)
                          "yes" "no"))
+           (format port "AllowAgentForwarding ~a\n"
+                   #$(if (openssh-configuration-allow-agent-forwarding? config)
+                         "yes" "no"))
+           (format port "AllowTcpForwarding ~a\n"
+                   #$(if (openssh-configuration-allow-tcp-forwarding? config)
+                         "yes" "no"))
+           (format port "GatewayPorts ~a\n"
+                   #$(if (openssh-configuration-gateway-ports? config)
+                         "yes" "no"))
            (format port "PidFile ~a\n"
                    #$(openssh-configuration-pid-file config))
            (format port "ChallengeResponseAuthentication ~a\n"
-- 
cgit 1.4.1