I've tracked down the problem. A patch is attached for the Oneiric
package. The issue is that ssh enumerates and closes its file
descriptors before opening /dev/tty, so the PTY slave is temporarily
closed and thus an EIO is delivered to the PTY master in read(). The
solution is to keep the slave open in the vinagre process until ssh has
opened the terminal. I have also sent the patch to upstream.

(Note that this only addresses the regression where ssh tunneling
started failing every time. There is a pre-existing race issue where ssh
sometimes receives a SIGHUP after the user enters their password, but it
is unrelated and this patch does not address it.)

** Patch added: 
"vinagre-fix-ssh-tunneling-eio-when-slave-temporarily-closed.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/vinagre/+bug/764632/+attachment/2548920/+files/vinagre-fix-ssh-tunneling-eio-when-slave-temporarily-closed.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/764632

Title:
  The "Use SSH tunnel" option doesn't work

To manage notifications about this bug go to:
https://bugs.launchpad.net/vinagre/+bug/764632/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to