[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#198275: scp behavior concerning remote filenames and special characters



The behavior of scp when there are special characters in remote
"filenames" should be documented in the man page, such as:

  Special characters in the remote file names are not escaped and
  will be interpreted by the remote shell.

In fact, I've often used this feature, e.g. "scp host:file\* ." to
retrieve several files.

If this is not considered to be safe, then scp should probably
detect special characters and return an error.

Another suggestion:

The different behaviors could be implemented as options to put in
the user's .ssh/config file (remote shells may behave in different
manners, but as options may be host-dependent, this is not a real
problem). For instance, this could be:

  ShellMetaCharacters "'`*?\
  ShellQuote no | auto | error

(no = current behavior, auto = spaces and metacharacters are
automatically quoted by scp, error = if the file name contains
a space or a metacharacter, then an error is returned by scp).

I don't know if POSIX completly defines the metacharacters, but
if it does, one should be able to write:

  ShellMetaCharacters posix

and this should probably be the default.

Any comment?

-- 
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA




Reply to: