guix-commits
[Top][All Lists]
Advanced

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

03/08: ssh: Add a longer SSH timeout by default.


From: guix-commits
Subject: 03/08: ssh: Add a longer SSH timeout by default.
Date: Tue, 15 Oct 2019 08:21:00 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 81c5873ab7405de8d6c2f6024f05a5afe43fe005
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 15 12:33:46 2019 +0200

    ssh: Add a longer SSH timeout by default.
    
    * guix/ssh.scm (open-ssh-session): Add #:timeout parameter, and add call
    to 'session-set!' to honor it.
---
 guix/ssh.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/guix/ssh.scm b/guix/ssh.scm
index b6b55bd..5fd3c28 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -61,11 +61,16 @@
   "address@hidden,zlib")
 
 (define* (open-ssh-session host #:key user port identity
-                           (compression %compression))
+                           (compression %compression)
+                           (timeout 3600))
   "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'
-specifies; otherwise use them.  Throw an error on failure."
+specifies; otherwise use them.  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
@@ -86,6 +91,7 @@ specifies; otherwise use them.  Throw an error on failure."
        ;; Use public key authentication, via the SSH agent if it's available.
        (match (userauth-public-key/auto! session)
          ('success
+          (session-set! session 'timeout timeout)
           session)
          (x
           (disconnect! session)



reply via email to

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