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

Goldstein Lyor commented on SSHD-927:
-------------------------------------

{quote}Why is the affecting only if the file already exists on remote server 
?{quote}
That is something to ask the developers of the client - however, if I had to 
venture a guess I would say that the client checks if the file already exists, 
and if so tries to avoid doing a large copy (or any copy at all) by comparing 
the hashes of the 2 files. There other such "standard" schemes - e.g. 
{{md5-hash}} as specified by [DRAFT 09 - section 
9.1.2|https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-09.txt].

{quote}Any plans of supporting this feature in SSHD?{quote}
I don't think so - this is a *proprietary* extension (and there are many more 
out there). The standard seem very clear on this issue - one should ask the 
server about its supported extensions before attempting to use any of them, or 
alternatively be prepared to handle {{SSH_FX_OP_UNSUPPORTED}}. This client 
seems to assume implicitly that the server is of its own "origin" and supports 
this extension, so no need to ask... :(.

Specifically for the SSHD SFTP subsystem implementation we could add a more 
convenient extensions registration mechanism so that users can easily add their 
own (they can still do so, but it is a bit more cumbersome). However, the 
effort must be justified by enough users asking for this feature since we have 
extremely limited R&D resources at our disposal. This is an open invitation 
though to propose such a mechanism and implement it for anyone who feels it is 
critical - we always welcome contributions.

> SFTP put fails terminating the connection if the remote file exists
> -------------------------------------------------------------------
>
>                 Key: SSHD-927
>                 URL: https://issues.apache.org/jira/browse/SSHD-927
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 2.1.0, 2.2.0
>         Environment: Java:
> C:\Program Files\Java\jdk1.8.0_201\bin>java -version
> java version "1.8.0_201"
> Java(TM) SE Runtime Environment (build 1.8.0_201-b26)
> Java HotSpot(TM) 64-Bit Server VM (build 25.201-b26, mixed mode)
> Apache SSHD : 2.1.0
> C:\temp>sftp2 --version
> sftp2: Tectia Client 6.4.14 on x86-pc-windows
> Build: 26
> Product: Tectia Client
> License type: commercial
> Copyright (C) SSH Communications Security Corporation.
> This software is protected by international copyright laws.
> All rights reserved.
> This product includes software developed by the OpenSSL Project
> for use in the OpenSSL Toolkit. (http://www.openssl.org/)
> SFT API: 2.0.3 (build 6.4.14.26)
>            Reporter: Logan
>            Priority: Major
>         Attachments: sshd.log, thread-callstack.txt
>
>
> Sftp put fails if the file already exists on the sftp server, terminating the 
> sfp session immediately.Below is the simple configuration to reproduce
>  
> {code:java}
> SshServer sshd = SshServer.setUpDefaultServer();
> sshd.setPort(9999);
> sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
> sshd.setSubsystemFactories(Arrays.asList(new SftpSubsystemFactory()));
> sshd.setFileSystemFactory(new VirtualFileSystemFactory(new 
> File("C:/temp").toPath()));
> sshd.setPasswordAuthenticator(AcceptAllPasswordAuthenticator.INSTANCE);
> sshd.start();
> {code}
>  
> {noformat}
> C:\temp>sftp2 test@localhost#9999
> Host key for the host "localhost#9999" not found from database.
> The fingerprint of the host public key is:
> Babble: "xodec-damen-ripeg-hehuh-venep-pebys-zureg-rynit-mypiz-byheh-zixax"
> RFC4716: "1d:4f:c2:a4:fe:58:93:61:fe:44:69:26:f2:41:34:f7"
> You can get a public key's fingerprint by running
> % ssh-keygen-g3 -F publickey.pub
> on the key file.
> Please select how you want to proceed.
>  cancel) Cancel the connection.
>  once) Proceed with the connection but do not save the key.
>  save) Proceed with the connection and save the key for future use.
> Please select one (cancel, once, save): once
> test@localhost#9999's password:
> Remote system type is POSIX.
> sftp> put ndp46-kb4483451-x64_41ba9b8a814351a318e78e4e1c02adc7e9fff67a.exe
> Error: Connection lost.
> {noformat}
> Upon Debugging I found the SftpSystem is terminated because the file channel 
> received close command ( see attached )
> Added event listener to see reading and read method are called but no 
> writing/write methods are never called.
>  
> This can reproducible with v2.2.0



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to