Make sure client channels do not start pumping the input stream and sending 
data before the various channel requests have been sent

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

Branch: refs/heads/master
Commit: 14aa8c8597da0aa859773d0d642497e5f49d6bba
Parents: 5c0ecf4
Author: Guillaume Nodet <[email protected]>
Authored: Tue Jul 23 10:25:48 2013 +0200
Committer: Guillaume Nodet <[email protected]>
Committed: Tue Jul 23 10:25:48 2013 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/sshd/client/channel/ChannelExec.java | 2 +-
 .../main/java/org/apache/sshd/client/channel/ChannelShell.java    | 3 +--
 .../java/org/apache/sshd/client/channel/ChannelSubsystem.java     | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/14aa8c85/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java 
b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
index 8a1146f..3650313 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
@@ -40,7 +40,6 @@ public class ChannelExec extends ChannelSession {
     }
 
     protected void doOpen() throws IOException {
-        super.doOpen();
         log.info("Send SSH_MSG_CHANNEL_REQUEST exec");
         Buffer buffer = 
session.createBuffer(SshConstants.Message.SSH_MSG_CHANNEL_REQUEST, 0);
         buffer.putInt(recipient);
@@ -49,5 +48,6 @@ public class ChannelExec extends ChannelSession {
         buffer.putString(command);
         writePacket(buffer);
 
+        super.doOpen();
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/14aa8c85/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java 
b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
index b060f63..a4ec085 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelShell.java
@@ -149,8 +149,6 @@ public class ChannelShell extends ChannelSession {
     }
 
     protected void doOpen() throws IOException {
-        super.doOpen();
-
         Buffer buffer;
 
         if (agentForwarding) {
@@ -203,6 +201,7 @@ public class ChannelShell extends ChannelSession {
         buffer.putBoolean(false);
         writePacket(buffer);
 
+        super.doOpen();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/14aa8c85/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java 
b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
index c11dd89..d38578c 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
@@ -40,7 +40,6 @@ public class ChannelSubsystem extends ChannelSession {
     }
 
     protected void doOpen() throws IOException {
-        super.doOpen();
         log.info("Send SSH_MSG_CHANNEL_REQUEST exec");
         Buffer buffer = 
session.createBuffer(SshConstants.Message.SSH_MSG_CHANNEL_REQUEST, 0);
         buffer.putInt(recipient);
@@ -49,5 +48,6 @@ public class ChannelSubsystem extends ChannelSession {
         buffer.putString(subsystem);
         writePacket(buffer);
 
+        super.doOpen();
     }
 }

Reply via email to