xpipe/dist/changelogs/1.7.16.md
2024-01-20 19:06:57 +00:00

2.4 KiB

SSH Timeouts and connection time

Over time, there have always been a few complaints about SSH connection timeout errors and slow SSH connection startup. These especially popped up in the latest release even though no obvious code was changed.

As it turns out, increasing the value for ConnectTimeout in SSH does not actually only change the timeout after which an error is thrown, it is also used by some servers as a guideline for their response time. E.g. if you specify a 10s timeout, some servers will always take 10s to respond. This is of course not mentioned in any of the spec but is more of an implementation choice.

In the latest release this caused more errors as the timeout was set higher. It should also have affected many SSH connections basically since the release of XPipe. I don't know how many people have been affected by this, it heavily depends on which ssh server and configuration your server runs. It happens for example on my proxmox instances and my AWS EC2 instances. If your connections now start up much faster than before, then you are probably affected by it.

This release should fix all of these issues simply by not specifying a connect timeout at all. Great work there. If you are using ConnectTimeout in your SSH configs, just remove it as it makes everything slower without having the effect of a timeout.

I would like to exchange a few words with whoever thought: A newly connected SSH client specified a 10s connect timeout? That means we can sit around idle for 9 seconds. That is a great idea.

Fixes

  • Fix annoying log directory errors that occurred on first startup
  • Fix SSH connections failing on Windows systems where the username contained non-ASCII characters due to an OpenSSH client bug by working around it
  • Fix SSH connection failing when another RemoteCommand was set in a config file
  • Fix child connection validity not updating when parent is changed from invalid to valid
  • Fix some applications launched on Windows, e.g. some terminals and editors, starting in minimized mode
  • Fix SSH config importer not handling file wildcards correctly when they also contained a file extension
  • Fix actions that shut down XPipe, e.g. automatic updates and debug mode, not correctly executing if it exited too fast
  • Fix error about nonexistent logs directory on first startup
  • Fix possible NullPointers when checking whether current SSH session has died