diff --git a/CHANGES.md b/CHANGES.md index 3b5b7e418..57ff237e7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,3 +17,8 @@ # [Version 2.8.0 to 2.9.0](./docs/changes/2.9.0.md) # Planned for next version + +## Bug fixes + +* [SSHD-1281](https://issues.apache.org/jira/browse/SSHD-1281) ClientSession.auth().verify() is terminated with timeout +* [SSHD-1285](https://issues.apache.org/jira/browse/SSHD-1285) 2.9.0 release broken on Java 8 diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java index a38dfd0b7..7af9e46ae 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java @@ -179,20 +179,24 @@ protected void onCompleted(Void result, Object attachment) { } } - debug("onCompleted - failed {} to start session: {}", - t.getClass().getSimpleName(), t.getMessage(), t); + log.debug("onCompleted - failed to start session: {} {}", t.getClass().getSimpleName(), t.getMessage(), t); - try { - socket.close(); - } catch (IOException err) { - if (debugEnabled) { - log.debug("onCompleted - failed {} to close socket: {}", - err.getClass().getSimpleName(), err.getMessage()); + IoSession session = future.getSession(); + if (session != null) { + session.close(true); + } else { + try { + socket.close(); + } catch (IOException err) { + if (debugEnabled) { + log.debug("onCompleted - failed to close socket: {} {}", err.getClass().getSimpleName(), + err.getMessage()); + } } - } - future.setException(t); - unmapSession(sessionId); + future.setException(t); + unmapSession(sessionId); + } } }