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 2017/01/20 08:45:43 UTC

mina-sshd git commit: [SSHD-725] Do not 2nd guess SFTP file channel read result

Repository: mina-sshd
Updated Branches:
  refs/heads/master 54be5a28f -> f390884f9


[SSHD-725] Do not 2nd guess SFTP file channel read result


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

Branch: refs/heads/master
Commit: f390884f92caead8b0f88309b21b442e12bf991f
Parents: 54be5a2
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Fri Jan 20 10:46:18 2017 +0200
Committer: Lyor Goldstein <ly...@gmail.com>
Committed: Fri Jan 20 10:46:18 2017 +0200

----------------------------------------------------------------------
 .../common/session/helpers/AbstractSession.java  |  2 +-
 .../sshd/server/subsystem/sftp/FileHandle.java   | 19 +++----------------
 2 files changed, 4 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f390884f/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
index 5263e34..18c84bc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
@@ -1605,7 +1605,7 @@ public abstract class AbstractSession extends AbstractKexFactoryManager implemen
         for (KexProposalOption paramType : KexProposalOption.VALUES) {
             String s = proposal.get(paramType);
             if (log.isTraceEnabled()) {
-                log.trace("sendKexInit(}|)[{}] {}", this, paramType.getDescription(), s);
+                log.trace("sendKexInit({})[{}] {}", this, paramType.getDescription(), s);
             }
             buffer.putString(GenericUtils.trimToEmpty(s));
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f390884f/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/FileHandle.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/FileHandle.java b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/FileHandle.java
index 02b90cf..f737a91 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/FileHandle.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/FileHandle.java
@@ -134,21 +134,8 @@ public class FileHandle extends Handle {
 
     public int read(byte[] data, int doff, int length, long offset) throws IOException {
         SeekableByteChannel channel = getFileChannel();
-        channel.position(offset);
-
-        long size = channel.size();
-        long curPos = channel.position();
-        long available = size - curPos;
-        if (available <= 0) {
-            return -1;
-        }
-
-        int bufLen = length;
-        if (bufLen > available) {
-            bufLen = (int) available;   // debug breakpoint
-        }
-
-        return channel.read(ByteBuffer.wrap(data, doff, bufLen));
+        channel = channel.position(offset);
+        return channel.read(ByteBuffer.wrap(data, doff, length));
     }
 
     public void append(byte[] data) throws IOException {
@@ -166,7 +153,7 @@ public class FileHandle extends Handle {
 
     public void write(byte[] data, int doff, int length, long offset) throws IOException {
         SeekableByteChannel channel = getFileChannel();
-        channel.position(offset);
+        channel = channel.position(offset);
         channel.write(ByteBuffer.wrap(data, doff, length));
     }