Bug 1791

Summary: Newlines in filenames are converted to ^J
Product: Portable OpenSSH Reporter: Joel R. Voss <jvoss>
Component: scpAssignee: Assigned to nobody <unassigned-bugs>
Status: CLOSED WONTFIX    
Severity: minor CC: dtucker
Priority: P2    
Version: 5.3p1   
Hardware: All   
OS: Linux   

Description Joel R. Voss 2010-07-07 01:00:51 AEST
When copying a file with newlines (and probably many other characters) to a server with scp, the newlines are converted to ^J. Since this is not a direct copy, I consider it a bug. I do not suspect that it is a feature though I have not checked yet which part of the code is causing this. In Linux and *nix, all characters are possible in filenames except null and slash. Unicode is one good reason for this.

jvoss@ASLinWS01:~$ env | grep LA
LANG=en_US.UTF-8
LANGUAGE=
jvoss@ASLinWS01:~$ scp 'waiting
for
what1.png' altsci.com:altsci/cell/uploads/
Enter passphrase for key '/home/jvoss/.ssh/id_dsa':
waiting\^Jfor\^Jwhat1.png     100%   50KB  49.8KB/s   00:00    

jvoss@dmitry:~/altsci/cell$ ls uploads/waiting*1.png
uploads/waiting\^Jfor\^Jwhat1.png

http://www.cell-game.com/uploads/waiting%0Afor%0Awhat1.png
Comment 1 Darren Tucker 2010-07-07 08:19:59 AEST
Unfortunately this is an unfixable limitation of the scp (rcp) protocol (it uses a newline to indicate the end of the file metadata).  Use sftp if this bothers you.
Comment 2 Damien Miller 2011-01-24 12:33:58 AEDT
Move resolved bugs to CLOSED after 5.7 release