ssh3.9.2

Bill Pemberton wfp5p at viridian.itc.Virginia.EDU
Wed Sep 15 14:13:08 UTC 2004


Tiziana Manfroni writes:
> 
> 
> Host key not found from database.
> Key fingerprint:
> xihar-pemun-cimyv-direh-botoz-hepym-tifyn-codag-furim-dikyl-zuxox
> You can get a public key's fingerprint by running
> % ssh-keygen -F publickey.pub
> on the keyfile.
> warning: tcsetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1:
> Interrupted system call
> 

Here's a patch to fix the problem:

diff -uNr ssh-3.2.9.1.orig/lib/sshreadline/sshreadline.c ssh-3.2.9.1/lib/sshreadline/sshreadline.c
--- ssh-3.2.9.1.orig/lib/sshreadline/sshreadline.c	2003-12-03 08:17:20.000000000 -0500
+++ ssh-3.2.9.1/lib/sshreadline/sshreadline.c	2004-02-02 11:18:46.000000000 -0500
@@ -500,8 +500,9 @@
   new_term.c_lflag &= ~(ECHO | ICANON);
   new_term.c_cc[VMIN] = 1;
   new_term.c_cc[VTIME] = 1;
-  if (tcsetattr(fd, TCSAFLUSH, &new_term) < 0)
+   fast:  if (tcsetattr(fd, TCSAFLUSH, &new_term) < 0)
     {
+       if (EINTR == errno) goto fast;
       ssh_warning("tcsetattr failed in ssh_rl_set_tty_modes_for_fd: "
                   "fd %d: %.200s", fd, strerror(errno));
       return -1;
@@ -561,8 +562,9 @@
 {
   fcntl(fd, F_SETFL, fcntl_flags);
 
-  if (tcsetattr(fd, TCSAFLUSH, saved_tio) < 0)
+   fast1:   if (tcsetattr(fd, TCSAFLUSH, saved_tio) < 0)
     {
+        if (EINTR == errno) goto fast1;
       ssh_warning("tcsetattr failed in ssh_rl_restore_tty_modes_for_fd: "
                   "fd %d: %.200s", fd, strerror(errno));
       return -1;

-- 
Bill





More information about the fedora-list mailing list