On Fri, 4 Jul 2025, Philipp Marek via openssh-unix-dev wrote: > Is this enough? I think so? > What about > > put -r ../ dest > put -r ../. dest > put -r ../.. dest The "filename" variable I check in my patch comes from basename(3), so it should be the final path component only. AFAIK basename("../") yields "..", so the 2nd case should be ok too. > I guess this resolves to the question whether source path structures > should be built in the destination (like -R for rsync says) or not. > > put -r ../../foo/.. dest > > With foo being a symlink the intention might not be clear (which > containing directory, of the symlink or its target?) I don't see the ambuguity here, the thing that will be transferred here will always be the contents of whatever directory ../../foo resolves to as sftp doesn't transfer symlinks (though maybe one day we'll get around to implementing https://bugzilla.mindrot.org/show_bug.cgi?id=428) -d _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev