Markus Duft created SSHD-305:
--------------------------------
Summary: SFTP: wrong directory contents read on windows when
cd'ing to root (C:)
Key: SSHD-305
URL: https://issues.apache.org/jira/browse/SSHD-305
Project: MINA SSHD
Issue Type: Bug
Environment: MINA SSHD on Windows 8.1
Reporter: Markus Duft
When connecting to the SFTP subsystem running on a windows server, directory
listing for the root directory (C:) in my case is wrong/does not work.
Actually, the response is "Failure" due to an IOException. I debugged it a
little, and my finding is, that in the end in
org.apache.sshd.common.file.nativefs.NativeFileSystemView.getFile(String,
String) it instantiates a new File("/C:"). This however does not do what is
expected it seems. calling .list() on this File lists the contents of the
current working directory of ther server!
This results in a wrong file list, and as soon as
org.apache.sshd.server.sftp.SftpSubsystem.writeAttrs(Buffer, SshFile, boolean)
tries to read attributes for those files, it will throw an IOException:
java.io.FileNotFoundException: /C:/.classpath
at
org.apache.sshd.server.sftp.SftpSubsystem.writeAttrs(SftpSubsystem.java:973)
at
org.apache.sshd.server.sftp.SftpSubsystem.sendName(SftpSubsystem.java:840)
at
org.apache.sshd.server.sftp.SftpSubsystem.process(SftpSubsystem.java:615)
at org.apache.sshd.server.sftp.SftpSubsystem.run(SftpSubsystem.java:334)
at java.lang.Thread.run(Thread.java:724)
As you can see the not found file is C:\.classpath which clearly does not
exist, but $(PWD)/.classpath does exist, as the server runs from the plugin i'm
developing in eclipse.
--
This message was sent by Atlassian JIRA
(v6.2#6252)