[ 
https://issues.apache.org/jira/browse/SSHD-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15945849#comment-15945849
 ] 

Piotr Praszmo commented on SSHD-733:
------------------------------------

RFC just says:
{quote}
This will return an error if the path does not specify a directory or if the 
directory is not readable.
{quote}
but it's not really clear, if path to symlink to directory specifies a 
directory.

I'm not sure about the "spirit" but SFTP commands seem to mimic POSIX calls. 
opendir() does follow symlinks. Following symlinks also makes "sftp" command 
behave like a local shell. I.e. you can "ls /path/to/symlink/"

I've tested this on OpenSSH, dropbear and lsh. They all follow symlinks in this 
case. So does apache-sshd-0.9.0. It would be great to get the same behavior 
everywhere.

Configurable option would work but I don't really see any benefits or current 
behavior. It just makes interchangeability with other servers harder.
Theoretically someone might rely on current behavior to detect symlinks but 
their code is broken on all those other servers. It's much more likely that 
someone will face regression moving to current Mina version.



> SSHD server displays file symlinks instead of dir symlinks
> ----------------------------------------------------------
>
>                 Key: SSHD-733
>                 URL: https://issues.apache.org/jira/browse/SSHD-733
>             Project: MINA SSHD
>          Issue Type: Wish
>    Affects Versions: 1.2.0
>         Environment: Windows/Linux
>            Reporter: Marcin Kozakiewicz
>            Priority: Minor
>
> We use sshd for junit testing of sftp file transfers. 
> Scenario:
> 1.create filesystem:
> {code}
> ├── mem0
> │   └── mem0.txt
> ├── run -> mem0
> └── run2 -> mem0
> {code}
> 2. Start SSh server with given file system.
> code snippet from out project:
> {code}
> _server = SshServer.setUpDefaultServer();
>         _server.setHost("localhost");
>         _server.setPort(PORT);
>         _server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
>         _server.setPasswordAuthenticator(new PasswordAuthenticator() {
>             @Override
>             public boolean authenticate(final String username, final String 
> password, final ServerSession session) {
>                 return USERNAME.equals(username) && PASSWORD.equals(password);
>             }
>         });
>         _server.setSubsystemFactories(singletonList(new 
> SftpSubsystemFactory()));
>         _server.setFileSystemFactory(new 
> VirtualFileSystemFactory(fileSystemPath));
>         _server.start();
> {code}
> 3. Connect to server with sftp client.
> Result:
> run and run2 symlinks are presented as file symlinks instead of directory 
> symlinks.
> Expected result:
> run and run2 are presented as directory symlinks.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to