This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
The following commit(s) were added to refs/heads/master by this push:
new 14bbd54 [SSHD-1020] SSH connections getting closed abruptly with
timeout exceptions
14bbd54 is described below
commit 14bbd54a5a3030b15916dd7af95fb98cf3a4ad94
Author: Guillaume Nodet <[email protected]>
AuthorDate: Wed Jul 22 17:43:00 2020 +0200
[SSHD-1020] SSH connections getting closed abruptly with timeout exceptions
---
CHANGES.md | 1 +
.../org/apache/sshd/client/session/ClientConnectionService.java | 2 +-
.../src/main/java/org/apache/sshd/core/CoreModuleProperties.java | 4 ++--
sshd-netty/pom.xml | 7 ++++---
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 4e8967d..8678205 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -22,6 +22,7 @@
## Behavioral changes and enhancements
+* [SSHD-1020](https://issues.apache.org/jira/browse/SSHD-1020) SSH connections
getting closed abruptly with timeout exceptions.
* [SSHD-1028](https://issues.apache.org/jira/browse/SSHD-1028) Fix
SSH_MSG_DISCONNECT: Too many concurrent connections.
* [SSHD-1033](https://issues.apache.org/jira/browse/SSHD-1033) Fix
simultaneous usage of dynamic and local port forwarding.
* [SSHD-1039](https://issues.apache.org/jira/browse/SSHD-1039) Fix support for
some basic options in ssh/sshd cli.
diff --git
a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
index a32f80a..ab27200 100644
---
a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
+++
b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
@@ -125,7 +125,7 @@ public class ClientConnectionService
buf.putBoolean(withReply);
if (withReply) {
- Buffer reply = session.request(heartbeatRequest, buf,
heartbeatReplyMaxWait.toMillis(), TimeUnit.MILLISECONDS);
+ Buffer reply = session.request(heartbeatRequest, buf,
heartbeatReplyMaxWait);
if (reply != null) {
if (log.isTraceEnabled()) {
log.trace("sendHeartBeat({}) received reply size={}
for request={}",
diff --git
a/sshd-core/src/main/java/org/apache/sshd/core/CoreModuleProperties.java
b/sshd-core/src/main/java/org/apache/sshd/core/CoreModuleProperties.java
index 9e9b2d2..f51f1a1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/core/CoreModuleProperties.java
+++ b/sshd-core/src/main/java/org/apache/sshd/core/CoreModuleProperties.java
@@ -144,7 +144,7 @@ public final class CoreModuleProperties {
* for the reply. If non-positive then no reply is expected (nor
requested).
*/
public static final Property<Duration> HEARTBEAT_REPLY_WAIT
- = Property.durationSec("heartbeat-reply-wait", Duration.ZERO);
+ = Property.durationSec("heartbeat-reply-wait",
Duration.ofMinutes(5));
/**
* Whether to ignore invalid identities files when pre-initializing the
client session
@@ -275,7 +275,7 @@ public final class CoreModuleProperties {
* Key used to retrieve the value of the socket read timeout for NIO2
session implementation - in milliseconds.
*/
public static final Property<Duration> NIO2_READ_TIMEOUT
- = Property.duration("nio2-read-timeout",
IDLE_TIMEOUT.getRequiredDefault().plus(Duration.ofSeconds(15L)));
+ = Property.duration("nio2-read-timeout", Duration.ZERO);
/**
* Minimum NIO2 write wait timeout for a single outgoing packet - in
milliseconds
diff --git a/sshd-netty/pom.xml b/sshd-netty/pom.xml
index 50f492c..3c9595e 100644
--- a/sshd-netty/pom.xml
+++ b/sshd-netty/pom.xml
@@ -188,13 +188,13 @@
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reportsDirectory>${project.build.directory}/surefire-reports-netty</reportsDirectory>
<excludes>
- <!-- These tests use NIO and/or MINA explicitly -->
+ <!-- These tests use NIO and/or MINA explicitly -->
<exclude>**/*LoadTest.java</exclude>
<exclude>**/PortForwarding*Test.java</exclude>
<exclude>**/ProxyTest.java</exclude>
<exclude>**/Nio2ServiceTest.java</exclude>
- <!-- TODO need some more research as to why this
fails on Netty but not on NIO2 or MINA -->
+ <!-- TODO need some more research as to why this fails
on Netty but not on NIO2 or MINA -->
<exclude>**/ClientDeadlockTest.java</exclude>
<exclude>**/AsyncAuthInteractiveTest.java</exclude>
<exclude>**/ApacheServer*Test.java</exclude>
@@ -203,8 +203,9 @@
<exclude>**/BuiltinIoServiceFactoryFactoriesTest.java</exclude>
<exclude>**/ConcurrentConnectionTest.java</exclude>
<exclude>**/SignatureFactoriesTest.java</exclude>
+ <exclude>**/Sshd1033Test.java</exclude>
</excludes>
- <!-- No need to re-run core tests that do not involve
session creation -->
+ <!-- No need to re-run core tests that do not involve
session creation -->
<excludedGroups>org.apache.sshd.util.test.NoIoTestCase</excludedGroups>
</configuration>
</plugin>