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(); } }
