Skip to content

Conversation

@tomaswolf
Copy link
Member

  • Fix current directory handling in SCPShell for WinSCP
  • Better handle SFTP append in SFTPv3 for buggy servers: send reasonable write offsets

Some SFTP v3 servers have trouble with append mode for file uploads.
OpenSSH < 6.3 didn't have append mode implemented, and some server
identifying as "7.9.0.0_openssh" apparently also cannot do it.

As a work-around get the file size first, then use that as base offset
for writing. This is at best an approximation of true append mode. We
still send the "append" flag, so for correct servers there will be no
change, but with the work-around appending may work as expected in most
cases even for servers that get append mode wrong.
Fix the handling of the home directory when a RootedFileSystem is used.

'currentDir' and 'homeDir' must be paths from the file system used.
WinSCP may, at least initially, send Windows-style paths; so ensure
that the path is converted.

When listing the root directory, don't include the ".." entry for the
parent directory.

Tested manually on Windows.
@tomaswolf tomaswolf merged commit 29f2d09 into apache:master Mar 15, 2025
7 checks passed
@tomaswolf tomaswolf deleted the winscp branch March 15, 2025 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant