diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-06-14 09:02:43 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-06-15 00:25:20 +0200 |
commit | 3d0749b4e30dfbbdfc9c365e8ab8f7bebaa96fd7 (patch) | |
tree | 17c8c285302978a7969fe0c6d3b1664e10f99c6e | |
parent | 7046e777212233b89df68379c270b448c45195ce (diff) | |
download | guix-3d0749b4e30dfbbdfc9c365e8ab8f7bebaa96fd7.tar.gz |
ssh: Add #:connection-timeout parameter to 'open-ssh-session'.
* guix/ssh.scm (open-ssh-session): Add #:connection-timeout parameter and honor it.
-rw-r--r-- | guix/ssh.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/ssh.scm b/guix/ssh.scm index 232b6bfe94..a6f0f2eb96 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -102,7 +102,8 @@ actual key does not match." (define* (open-ssh-session host #:key user port identity host-key (compression %compression) - (timeout 3600)) + (timeout 3600) + (connection-timeout 10)) "Open an SSH session for HOST and return it. IDENTITY specifies the file name of a private key to use for authenticating with the host. When USER, PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config' @@ -112,15 +113,16 @@ When HOST-KEY is true, it must be a string like \"ssh-ed25519 AAAAC3Nz… root@example.org\"; the server is authenticated and an error is raised if its host key is different from HOST-KEY. -Install TIMEOUT as the maximum time in seconds after which a read or write -operation on a channel of the returned session is considered as failing. +Error out if connection establishment takes more than CONNECTION-TIMEOUT +seconds. Install TIMEOUT as the maximum time in seconds after which a read or +write operation on a channel of the returned session is considered as failing. Throw an error on failure." (let ((session (make-session #:user user #:identity identity #:host host #:port port - #:timeout 10 ;seconds + #:timeout connection-timeout ;; #:log-verbosity 'protocol ;; Prevent libssh from reading |