[
https://issues.apache.org/jira/browse/SSHD-120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13022223#comment-13022223
]
Otto Frost commented on SSHD-120:
---------------------------------
bug fix, cas with empty dir not handled
case SSH_FXP_READDIR: {
// System.out.println("SftpSybsystem.process
SSH_FXP_READDIR");
String handle = buffer.getString();
try {
Handle p = handles.get(handle);
if (!(p instanceof DirectoryHandle)) {
sendStatus(id, SSH_FX_INVALID_HANDLE,
handle);
} else if (((DirectoryHandle) p).isDone()) {
sendStatus(id, SSH_FX_EOF, "", "");
} else if (!p.getFile().doesExist()) {
sendStatus(id, SSH_FX_NO_SUCH_FILE,
p.getFile()
.getAbsolutePath());
} else if (!p.getFile().isDirectory()) {
sendStatus(id, SSH_FX_NOT_A_DIRECTORY,
p.getFile()
.getAbsolutePath());
} else if (!p.getFile().isReadable()) {
sendStatus(id,
SSH_FX_PERMISSION_DENIED, p.getFile()
.getAbsolutePath());
} else {
DirectoryHandle dh = (DirectoryHandle)
p;
List<SshFile> listSshFiles =
dh.getFile().listSshFiles();
if(listSshFiles.size() == 0){
dh.setDone(true);
sendStatus(id, SSH_FX_EOF, "", "");
}else{
SshFile[] virtualFiles = new SshFile[1];
for (int i = 0; i < 1; ++i) {
virtualFiles[i] =
listSshFiles.get(dh.getCurrentFile());
dh.increaseCurrentFile();
}
List<SshFile> listSshFiles2 =
Collections.unmodifiableList(Arrays.asList(virtualFiles));
//listSshFiles.get(index);
//sendName(id,
p.getFile().listSshFiles());
sendName(id, listSshFiles2);
if(dh.getCurrentFile()>=
listSshFiles.size()){
((DirectoryHandle) p).setDone(true);
//sendStatus(id,SSH_FX_EOF,"" );
}
}
}
} catch (IOException e) {
sendStatus(id, SSH_FX_FAILURE, e.getMessage());
}
break;
}
> list 1500 files in one directory not working for mindterm sftp client
> ---------------------------------------------------------------------
>
> Key: SSHD-120
> URL: https://issues.apache.org/jira/browse/SSHD-120
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 0.5.0
> Environment: windows xp professional sun jre 1.5
> windows 2003 server sun jre 1.5
> mindterm 3.4 ftp2sftp
> Reporter: Otto Frost
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> mindterm is used in ftp2sftp mode
> trying to list files in a directory "manyfiles" with > 1500 files doesn't
> work on the "apache mina sshd"
> when doing the following operation it doesn't work. In the "manyfiles" dir
> there are >1500 files.
> mindterm can list files in a directory with < 50 files
> mindterm can list files on a opensshd server with a directory with > 1500
> files, therefore we think the error is in the "apache mina sshd" and not in
> mindterm, at least there is some incompatibility...
> ftp> o localhost 2120
> Connected to WKE198515.u-dom1.u-ssi.net.
> 220 FTPToSFTPProxy use 'ssh2-user@ssh2-host[:port]' as your username or
> ;ssh2-us
> er;keyfile;10@ssh2-host[:port]
> User (WKE198515.u-dom1.u-ssi.net:(none)): a@localhost:2222
> 331 Password required for a@localhost:2222.
> Password:
> 230 User a@localhost:2222 logged in.
> ftp> cd ../../../tst/manyfiles
> 250 CWD command successful.
> ftp> ls
> 200 PORT command successful.
> 150 Opening ASCII mode data connection for nlst.
> Connection closed by remote host.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira