You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2014/02/10 16:41:33 UTC
[3/3] git commit: Finally fix Scp
Finally fix Scp
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/417774f7
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/417774f7
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/417774f7
Branch: refs/heads/master
Commit: 417774f79684e7300d68a1a381a923826fee6721
Parents: 83fdcd2
Author: Guillaume Nodet <gn...@apache.org>
Authored: Mon Feb 10 16:41:23 2014 +0100
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Mon Feb 10 16:41:23 2014 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/sshd/common/scp/ScpHelper.java | 2 ++
sshd-core/src/test/java/org/apache/sshd/ScpTest.java | 6 ++++++
2 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/417774f7/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
index b9198f3..ea9911d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
@@ -101,6 +101,7 @@ public class ScpHelper {
case 'E':
line = ((char) c) + readLine();
log.debug("Received header: " + line);
+ ack();
return;
default:
//a real ack that has been acted upon already
@@ -264,6 +265,7 @@ public class ScpHelper {
}
public void send(List<String> paths, boolean recursive, boolean preserve) throws IOException {
+ readAck(false);
for (String pattern : paths) {
int idx = pattern.indexOf('*');
if (idx >= 0) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/417774f7/sshd-core/src/test/java/org/apache/sshd/ScpTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/ScpTest.java b/sshd-core/src/test/java/org/apache/sshd/ScpTest.java
index 4b978c5..49913aa 100644
--- a/sshd-core/src/test/java/org/apache/sshd/ScpTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/ScpTest.java
@@ -466,6 +466,8 @@ public class ScpTest extends BaseTest {
InputStream is = c.getInputStream();
c.setCommand("scp -f " + path);
c.connect();
+ os.write(0);
+ os.flush();
String header = readLine(is);
assertEquals("C0644 11 out.txt", header);
int length = Integer.parseInt(header.substring(6, header.indexOf(' ', 6)));
@@ -489,6 +491,8 @@ public class ScpTest extends BaseTest {
InputStream is = c.getInputStream();
c.setCommand("scp -r -f " + path);
c.connect();
+ os.write(0);
+ os.flush();
String header = readLine(is);
assertTrue(header.startsWith("D0755 0 "));
os.write(0);
@@ -519,6 +523,8 @@ public class ScpTest extends BaseTest {
InputStream is = c.getInputStream();
c.setCommand("scp -f " + path);
c.connect();
+ os.write(0);
+ os.flush();
assertEquals(2, is.read());
c.disconnect();
return null;