]> source.dussan.org Git - jgit.git/commit
Yet another work-around for a Jsch bug: timeouts 21/111421/2
authorThomas Wolf <thomas.wolf@paranor.ch>
Sat, 11 Nov 2017 10:41:10 +0000 (11:41 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Mon, 20 Nov 2017 21:44:23 +0000 (22:44 +0100)
commit5284cc1bf764207343a43effccdcada02c05b2bd
tree110b5a6efb5a5ef97adf39556a5749e45a512275
parent29c5f49f635f136c4595d43af74dd6106ad53c19
Yet another work-around for a Jsch bug: timeouts

Jsch 0.1.54 passes on the values from ~/.ssh/config for
"ServerAliveInterval" and "ConnectTimeout" as read from
the config file to java.net.Socket.setSoTimeout(). That
method expects milliseconds, but the values in the config
file are seconds!

The missing conversion in Jsch means that the timeout is
set way too low, and if the server doesn't respond within
that very short time frame, Jsch kills the connection and
then throws an exception with a message such as "session is
down" or "timeout in waiting for rekeying process".

As a work-around, do the conversion to milliseconds in the
Jsch-facing Config interface of OpenSshConfig. That way Jsch
already gets these values as milliseconds.

Bug: 526867
Change-Id: Ibc9b93f7722fffe10f3e770dfe7fdabfb3b97e74
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java