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

Thomas Wolf commented on SSHD-1215:
-----------------------------------

Roberto, without a test case that shows me the problem I cannot discuss 
possible fixes.

Where is it written that the combination of SSH_FXF_CREATE_TRUNCATE and 
ACE4_APPEND_DATA were wrong? I can't find any such statement in the draft SFTP 
RFCs.

If I understand your description correctly, you have

  
WinSCP--->Front-End(Server-Part)->Front-End(Client-Part)--->Back-End(Server-Part)->Disk

Front-End (both parts) and Back-End are implemented with Apache MINA sshd.

You wrote initially it worked if WinSCP contacted the Back-End server directly:

  WinSCP--->Back-End(Server-Part)->Disk

So this works. I presume WinSCP opens the file also in the same way 
(SSH_FXF_CREATE_TRUNCATE plus ACE4_APPEND_DATA|ACE4_ADD_DATA). Indeed if I do 
that with an Apache MINA sshd client, it also works.

So I suspect the problem is in your front-end. It may be in some part of Apache 
MINA sshd that is used in that front-end, or it may be in your code, or it may 
be that your code uses the Apache MINA sshd library in a way we didn't foresee.

So I need a test front-end that works the way your real front-end works, a test 
back-end, a test client that opens a file, and the whole combination must 
reproduce the problem. Otherwise there is nothing I can do. So far all my 
attempts to write such a test case have been unsuccessful: whatever I do, it 
just works.

I see that you reported the problem against Apache MINA sshd 2.6.0. Maybe try 
with version 2.7.0. Perhaps it's a problem that has been fixed in the meantime.

 

> WinsCP transfer failure to Apache SSHD Server
> ---------------------------------------------
>
>                 Key: SSHD-1215
>                 URL: https://issues.apache.org/jira/browse/SSHD-1215
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: Roberto Deandrea
>            Priority: Blocker
>         Attachments: logs.zip
>
>
> Hi
> I have a failure transferring small files from a WinSCP SFTP client version 
> 5.19.2 to a front-end Apache SSHD Server 2.6.0.
> The front-end Apache SSHD server is configured with a Filesystem built upon 
> SFTPFileSystemProvider to proxy files to an Apache SSHD back-end server.
> WinSCP SFTP transfer files successfully directly to back-end Apache SSHD 
> Server.
> I traced the SFTP file transfer on the front-end server and back-end server 
> and it seems that something get wrong in the remote FileSystem set on the 
> front-end server.
> From traces it seems that the first chunk of file is received correctly by 
> the back-end server, but something is wrong on the second chuck of file 
> transmitted.
> -------------------------------------------------------------------------------------------------------------------------
> First SSH_FXP_WRITE chunk received from front-end server :
> [16/09/21 09:18:26:364 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.server.AbstractSftpSubsystemHelper 1 process 
> process(ServerSessionImpl[allfuser1@/172.18.202.33:55400])[length=32757, 
> type=SSH_FXP_WRITE, id=19718] processing
> [16/09/21 09:18:26:364 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.server.SftpSubsystem 3 doWrite 
> doWrite(ServerSessionImpl[allfuser1@/172.18.202.33:55400])[id=19718] 
> *SSH_FXP_WRITE 
> (handle=de6fcf635cb34b0e6d3d56643b7539a3[[/upload/rsa.key|https://issues.apache.org/upload/rsa.key]],
>  offset=0, data=byte[32704])*
> First SSH_FXP_WRITE chunk sent by front-end SFTP client to back.end-server :
> [16/09/21 09:18:26:913 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.client.impl.DefaultSftpClient 3 send 
> send(SftpChannelSubsystem[id=0, 
> recipient=0]-ClientSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:6471][sftp])
>  cmd=SSH_FXP_WRITE, len=32752, id=139
> [16/09/21 09:18:27:010 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.client.impl.AbstractSftpClient 3 checkResponseStatus 
> checkResponseStatus(SftpChannelSubsystem[id=0, 
> recipient=0]-ClientSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:6471][sftp])[id=139]
>  cmd=SSH_FXP_WRITE status=SSH_FX_OK lang= msg=
>  
> First SSH_FXP_WRITE chunk received succesfully from back-end server :
> [16/09/21 09:18:27:007 CEST] 00005c15 id=00000000 
> org.apache.sshd.sftp.server.SftpSubsystem 3 doWrite 
> doWrite(ServerSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:34445])[id=139]
>  *SSH_FXP_WRITE 
> (handle=c88cfd55dd514ccdd0428571191f5ea1[[/upload/rsa.key|https://issues.apache.org/upload/rsa.key]],
>  offset=0, data=byte[32704])*
> [16/09/21 09:18:27:545 CEST] 00005c15 id=00000000 
> org.apache.sshd.sftp.server.AbstractSftpSubsystemHelper 1 process 
> process(ServerSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:34445])[length=32757,
>  
> -----------------------------------------------------------------------------------------------------
> Second SSH_FXP_WRITE chunk received from front-end server:
> [16/09/21 09:18:27:012 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.server.AbstractSftpSubsystemHelper 1 process 
> process(ServerSessionImpl[allfuser1@/172.18.202.33:55400])[length=32757, 
> type=SSH_FXP_WRITE, id=19974] processing
> [16/09/21 09:18:27:013 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.server.SftpSubsystem 3 doWrite 
> doWrite(ServerSessionImpl[allfuser1@/172.18.202.33:55400])[id=19974] 
> *SSH_FXP_WRITE 
> (handle=de6fcf635cb34b0e6d3d56643b7539a3[[/upload/rsa.key|https://issues.apache.org/upload/rsa.key]],
>  offset=32704, data=byte[32704])*
>  
> Second SSH_FXP_WRITE chunk sent by front-end SFTP client to back-end server:
> [16/09/21 09:18:27:473 CEST] 00000175 id=00000000 
> org.apache.sshd.sftp.client.impl.DefaultSftpClient 3 send 
> send(SftpChannelSubsystem[id=0, 
> recipient=0]-ClientSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:6471][sftp])
>  cmd=SSH_FXP_WRITE, len=32752, *id=141*
>  
> Second SSH_FXP_WRITE chunk received from back-end server:
> type=SSH_FXP_WRITE, *id=141*] processing
> [16/09/21 09:18:27:545 CEST] 00005c15 id=00000000 
> org.apache.sshd.sftp.server.SftpSubsystem 3 doWrite 
> doWrite(ServerSessionImpl[DMZ/172.18.202.33/allfuser1@/10.6.6.22:34445])[*id=141*]
>  SSH_FXP_WRITE 
> (handle=c88cfd55dd514ccdd0428571191f5ea1[[/upload/rsa.key|https://issues.apache.org/upload/rsa.key]],
>  *offset=0, data=byte[32704*])
> Now the back-end server complains about this data. The back-end server is 
> expecting a chunk of data at offset=32704 and not offset = 0. 
> java.io.IOException: 
> position([/upload/rsa.key|https://issues.apache.org/upload/rsa.key]) *illegal 
> file channel position, expected frsPosition: 32704, found: 0*
> This is a blocking error and causes the connection closing of the parts 
> involved.
> ----------------------------------------------------------------------------------------------------------------------
> Full traces are attached to this jira.
>  
> Questions and considerations.
>  # Is this a known problem and is fixed in the latest release of Apache SSHD?
>  # If this is a new problem can you suggest me how to fix it, or better 
> troubleshoot it
>  # Let me know if you need further info for troubleshooting
>  
> Thanks in advance  for your support
>  
> Kind Regards
> Roberto Deandrea
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to