home: services: ssh: Allow unset boolean options in ssh-config.
From man 5 ssh_config: Unless noted otherwise, for each parameter, the first obtained value will be used. We want to allow falling through to the first explicitly chosen user defined value. * gnu/home/services.ssh.scm (define-maybe boolean): New configuration. (openssh-host)[forward-x11?, forward-x11-trusted?, forward-agent?, compression?]: Replace default value with maybe-boolean. * doc/guix.texi (Secure Shell): Update documentation to match the changes in the code.
This commit is contained in:
parent
f8cf3982ff
commit
87cf2a859d
2 changed files with 12 additions and 9 deletions
|
@ -33,7 +33,7 @@ Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@*
|
||||||
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@*
|
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@*
|
||||||
Copyright @copyright{} 2016 Ben Woodcroft@*
|
Copyright @copyright{} 2016 Ben Woodcroft@*
|
||||||
Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
|
Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
|
||||||
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner@*
|
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@*
|
||||||
Copyright @copyright{} 2016 John Darrington@*
|
Copyright @copyright{} 2016 John Darrington@*
|
||||||
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
|
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
|
||||||
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@*
|
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@*
|
||||||
|
@ -43129,19 +43129,19 @@ TCP port number to connect to.
|
||||||
@item @code{user} (type: maybe-string)
|
@item @code{user} (type: maybe-string)
|
||||||
User name on the remote host.
|
User name on the remote host.
|
||||||
|
|
||||||
@item @code{forward-x11?} (default: @code{#f}) (type: boolean)
|
@item @code{forward-x11?} (type: maybe-boolean)
|
||||||
Whether to forward remote client connections to the local X11 graphical
|
Whether to forward remote client connections to the local X11 graphical
|
||||||
display.
|
display.
|
||||||
|
|
||||||
@item @code{forward-x11-trusted?} (default: @code{#f}) (type: boolean)
|
@item @code{forward-x11-trusted?} (type: maybe-boolean)
|
||||||
Whether remote X11 clients have full access to the original X11
|
Whether remote X11 clients have full access to the original X11
|
||||||
graphical display.
|
graphical display.
|
||||||
|
|
||||||
@item @code{forward-agent?} (default: @code{#f}) (type: boolean)
|
@item @code{forward-agent?} (type: maybe-boolean)
|
||||||
Whether the authentication agent (if any) is forwarded to the remote
|
Whether the authentication agent (if any) is forwarded to the remote
|
||||||
machine.
|
machine.
|
||||||
|
|
||||||
@item @code{compression?} (default: @code{#f}) (type: boolean)
|
@item @code{compression?} (type: maybe-boolean)
|
||||||
Whether to compress data in transit.
|
Whether to compress data in transit.
|
||||||
|
|
||||||
@item @code{proxy} (type: maybe-proxy-command-or-jump-list)
|
@item @code{proxy} (type: maybe-proxy-command-or-jump-list)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
|
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -118,6 +119,8 @@
|
||||||
(string-append " " (serialize-field-name field) " "
|
(string-append " " (serialize-field-name field) " "
|
||||||
(number->string value) "\n"))
|
(number->string value) "\n"))
|
||||||
|
|
||||||
|
(define-maybe boolean)
|
||||||
|
|
||||||
(define (serialize-boolean field value)
|
(define (serialize-boolean field value)
|
||||||
(string-append " " (serialize-field-name field) " "
|
(string-append " " (serialize-field-name field) " "
|
||||||
(if value "yes" "no") "\n"))
|
(if value "yes" "no") "\n"))
|
||||||
|
@ -235,19 +238,19 @@ Additionally, the field can be left unset to allow any address family.")
|
||||||
maybe-string
|
maybe-string
|
||||||
"User name on the remote host.")
|
"User name on the remote host.")
|
||||||
(forward-x11?
|
(forward-x11?
|
||||||
(boolean #f)
|
maybe-boolean
|
||||||
"Whether to forward remote client connections to the local X11 graphical
|
"Whether to forward remote client connections to the local X11 graphical
|
||||||
display.")
|
display.")
|
||||||
(forward-x11-trusted?
|
(forward-x11-trusted?
|
||||||
(boolean #f)
|
maybe-boolean
|
||||||
"Whether remote X11 clients have full access to the original X11 graphical
|
"Whether remote X11 clients have full access to the original X11 graphical
|
||||||
display.")
|
display.")
|
||||||
(forward-agent?
|
(forward-agent?
|
||||||
(boolean #f)
|
maybe-boolean
|
||||||
"Whether the authentication agent (if any) is forwarded to the remote
|
"Whether the authentication agent (if any) is forwarded to the remote
|
||||||
machine.")
|
machine.")
|
||||||
(compression?
|
(compression?
|
||||||
(boolean #f)
|
maybe-boolean
|
||||||
"Whether to compress data in transit.")
|
"Whether to compress data in transit.")
|
||||||
(proxy-command
|
(proxy-command
|
||||||
maybe-string
|
maybe-string
|
||||||
|
|
Reference in a new issue