Mailing List Archive

[Bug 3431] New: scp truncates file when copying file over itself
https://bugzilla.mindrot.org/show_bug.cgi?id=3431

Bug ID: 3431
Summary: scp truncates file when copying file over itself
Product: Portable OpenSSH
Version: v9.0p1
Hardware: All
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: scp
Assignee: unassigned-bugs@mindrot.org
Reporter: christof.schmitt@us.ibm.com

With the new sftp based scp, using scp to copy a file over
itself, truncates that file:

Steps to Reproduce:

1. echo foo > /tmp/bar
2. scp /tmp/bar $(hostname):/tmp/bar
3. cat /tmp/bar

All data in that file is then lost.

This is a problem for scripts, e.g. cluster automation tools
that rely on the fact that a file /tmp/bar can be copied with
scp to all cluster nodes as /tmp/bar, including the node itself.

Changing this behavior is unexpected, and silently dropping the
data seems to be the worst possibly outcome.

In addition to scripts, admins might also be surprised that
copying files (maybe accidentally) to the same host, leaves those
files corrupted.

Would it be possible to change the behavior in this case?
Either explicitly returning an error, or finding a way
to preserve the data would be a better outcome.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2022-February/040059.html
suggests that possibly the sftp server could use a temp file.

--
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs