Question regarding X11 forwarding implementation

Varun Sethi sethi.varun at gmail.com
Tue Feb 13 23:01:40 EST 2007


Hi,
I am using openssh 4.1 on AIX. I have noticed a strange behaviour with
openssh X11 forwarding with respect to connection termination.
The behaviour is seen during connection termination between the pseudo X11
socket (say 6010) opened by sshd on server which interacts with the
X11 client application socket.

I have compared the behaviour of two X11 applications
1. xterm
2. wish (tcl/tk application)

Let's start with  xterm. Now when xterm appication wants to terminate the
connection, it starts with
sending "Fin" to the pseudo X11 socket. Now although this Fin get's ack'd
but I don't think that the
sshd polls this socket for the eof (end of conection request from the X11
client application). Even after receiving
a Fin and ack'ing it, it sends data with ack to the X11 application socket
which is expecting a Fin. On receiving
this ack, it responds by sending a RST, thus ending the connection.

Now in case of the wish application, the application sends a Fin to the
pseudo scoket. The pseudo socket ack's it
but then there is response at all from the pseudo socket . Thus the sshd
socket remains in the close_wait condition
and the X11 application socket remains in fin_wait_2 state for ever. As a
result when we try to end the ssh session, it hangs
in the end waiting for the X11 connection to terminate.

So am I looking at some sort of a bug in the wish applicaton or the ssh x11
forwarding needs to be modified to handle this situation.


I would appreciate if some one can respond to my mail

Regards


More information about the openssh-unix-dev mailing list