Ticket #3654 (new defect)

Opened 2 years ago

Last modified 2 weeks ago

Broken sftp connection when uploading files to SSHDroid

Reported by: x905 Owned by:
Priority: major Milestone: 4.8.22
Component: mc-vfs Version: master
Keywords: Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

in 4.8.17 has been broken sftp connection command
server is sshdroid on android device
4.8.17 can connect, browse files and upload small files (up to 20 kb), but 30 kb cant - and hangs
4.8.15 in same situation works fine (except error -31 as always)

some add info https://www.linux.org.ru/forum/midnight/12592086

Change History

comment:1 Changed 2 years ago by and

maybe #3406

comment:2 Changed 2 years ago by zaytsev

  • Milestone changed from 4.8.18 to 4.8.19

comment:3 Changed 10 months ago by zaytsev

  • Milestone changed from 4.8.20 to 4.8.21

comment:4 Changed 4 months ago by x905

Two years gone - it is time to fix this bug !

comment:5 Changed 4 months ago by zaytsev

Is it still present in current master after all SFTP fixes we've done so far?

comment:6 Changed 4 months ago by x905

GNU Midnight Commander 729f6ee - bug still present
Coping file from device to host - ok
Coping file to device from host - fails
Device is android with SSHDroid

comment:7 Changed 4 months ago by zaytsev

  • Version changed from 4.8.17 to master
  • Summary changed from 4.8.17 broken sftp connection to Broken sftp connection when uploading files to SSHDroid
  • Milestone changed from 4.8.21 to 4.8.22

Ok, thanks for the info. That's sad, but someone needs to invest time to reproduce and fix it...

comment:8 Changed 2 weeks ago by andrew_b

I installed Android_x86-7.1-r2 in virtual machine.

After a series of experiments I found out the following.

Currently, the maximum size of the buffer used to copy/move data (the data chunk) is 128K, regardless of source and destination. On my PC, my local openssh-7.2p server works fine with such data chunks, but SSHDroid doesn't. I got the correct data transfer to Android only after I set the buffer size down to 16K.

I don't have a nice way to fix this yet.

Note: See TracTickets for help on using tickets.