Misha Koshelev
2010-Apr-24 15:11 UTC
Update on "non-dying" nx connections over unreliable network
Dear Sirs & Madams: Thank you so much for your help. To remind, my situation is a wireless connection that is unreliable, where: (a) upon disconnect, !M's nxclient does not recognize connection death (b) after I manually kill nxssh and reconnect, reconnection takes some time. My idea: intercept myself in between NX client and server - detect connection drop, and reconnect. This is proving quite difficult. My prototype is here. For now, I have dropped all encryption. http://people.hnl.bcm.edu/misha/tmp/nx.zip You will find: nx/comps - compiles server (setuid root currently) nx/compc - compiles client (moves old one to mxssh and replaces) Host name and port are hardcoded at the moment. To test: ssh server cd nx ./server Then connect on the client using !M's client. Unfortunately, I seem to have ended up with a glorified way of peeking at the NX authentication connection (please see included logs in ZIP file, password is masked). I am guessing at this point, the proxy connection is probably launched. However, I am not quite clear what part nxssh actually plays in making this proxy connection on the client side (as opposed to nxclient; in other words, even if my NX server connected to proxy port right away on the server, would this do any good?) Perhaps someone could point me to a more detailed explanation of the protocol? Also, I remember someone suggested to simply use VNC. Is there a good way to run VNC so that I can connect to my actual NX session via VNC? I am sorry I am new at this... but willing to learn :) Thank you Thank you Misha
Goran Hasse
2010-Apr-24 18:47 UTC
Update on "non-dying" nx connections over unreliable network
A little note. TCP was constructed to coop with unreliable networks. ;-) In the past if every link dropt between you and your peer and then came back agin. The connection still was there. So in my opinion your nxclient is doing the right thing. How should it know that your wireless link has gone away? Who should send "client gone". In the old days an FTP transfer could handle about an hour of lost link and then resume. But this was in the old days. 2010/4/24 Misha Koshelev <misha680 at gmail.com>:> Dear Sirs & Madams: > > Thank you so much for your help. To remind, my situation is a wireless connection that is unreliable, where: > (a) upon disconnect, !M's nxclient does not recognize connection death > (b) after I manually kill nxssh and reconnect, reconnection takes some time. > > My idea: > intercept myself in between NX client and server - detect connection drop, and reconnect. This is proving quite difficult. > > My prototype is here. For now, I have dropped all encryption. > > http://people.hnl.bcm.edu/misha/tmp/nx.zip > > You will find: > nx/comps - compiles server (setuid root currently) > nx/compc - compiles client (moves old one to mxssh and replaces) > > Host name and port are hardcoded at the moment. To test: > > ssh server > cd nx > ./server > > Then connect on the client using !M's client. > > Unfortunately, I seem to have ended up with a glorified way of peeking at the NX authentication connection (please see included logs in > ZIP file, password is masked). > > I am guessing at this point, the proxy connection is probably launched. However, I am not quite clear what part nxssh actually plays in making this proxy connection on the client side (as opposed to nxclient; in other words, even if my NX server connected to proxy port right away on the server, would this do any good?) Perhaps someone could point me to a more detailed explanation of the protocol? > > Also, I remember someone suggested to simply use VNC. Is there a good way to run VNC so that I can connect to my actual NX session via VNC? I am sorry I am new at this... but willing to learn :) > > Thank you > > Thank you > Misha > _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev at mindrot.org > https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev >-- gorhas at gmail.com Mob: 070-5530148