Red Hat Bugzilla – Bug 63741
ssh-add may never exit with gnome-askpass
Last modified: 2007-04-18 12:42:07 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.0 (X11; Linux i686; U;) Gecko/20020314
Description of problem:
Due to a change in readpass.c, it is possible that ssh-add will hang forever
trying to read a passphrase from gnome-ssh-askpass. With 2.9p2, readpass.c
would attempt one read() from the askpass program. In 3.1p1, the read() call is
in a while loop which will exit when the pipe closes (and read() returns -1) or
when the buffer fills.
If gnome-ssh-askpass is the first gnome application run, and esd is not
disabled, then gnome-ssh-askpass starts esd as a child. This esd process
inherits all of the open files from the gnome-ssh-askpass process, including the
pipe to ssh-add. gnome-ssh-askpass will exit, but ssh-add will continue to try
to read from the pipe which esd has open. This leaves the X display blank, and
in some configurations, prevent the rest of the login from proceeding.
Probably the obvious fix would be to modify gnome-libs so that before esd is
started, all open files are closed.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Use the following in .Xclients:
eval `ssh-agent -s`
2. Log in to X.
Actual Results: After entering the passphrase into the gnome-ssh-askpass
dialog, no windows appear.
Expected Results: After entering the passphrase into the gnome-ssh-askpass
dialog, gnome starts.
>Probably the obvious fix would be to modify gnome-libs so that before
>esd is started, all open files are closed.
Yes, of course.
However maybe it was already fixed? Please test with current Fedora Core.
If this problem still exists in a recent version of Fedora Core or RHEL please