You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2015/12/09 11:07:08 UTC

[5/6] mina-sshd git commit: [SSHD-610] Disconnect reason should be propagated as error message

[SSHD-610] Disconnect reason should be propagated as error message


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/4cdbefc6
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/4cdbefc6
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/4cdbefc6

Branch: refs/heads/master
Commit: 4cdbefc61c80f4d089dfb8c48fe19258cfa2ef24
Parents: d99d480
Author: Lyor Goldstein <lg...@vmware.com>
Authored: Wed Dec 9 12:01:15 2015 +0200
Committer: Lyor Goldstein <lg...@vmware.com>
Committed: Wed Dec 9 12:01:15 2015 +0200

----------------------------------------------------------------------
 .../apache/sshd/client/session/ClientSessionImpl.java    | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/4cdbefc6/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
index d10e8cd..5a0a0f5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
@@ -146,6 +146,17 @@ public class ClientSessionImpl extends AbstractClientSession {
         super.exceptionCaught(t);
     }
 
+    @Override
+    protected void handleDisconnect(int code, String msg, String lang, Buffer buffer) throws Exception {
+        synchronized (lock) {
+            if (!authFuture.isDone()) {
+                authFuture.setException(new SshException(code, msg));
+            }
+        }
+
+        super.handleDisconnect(code, msg, lang, buffer);
+    }
+
     protected String nextServiceName() {
         synchronized (lock) {
             return nextServiceFactory.getName();