Why is -e sent to the remote rsync side?
shachar at shemesh.biz
Sun Oct 5 06:22:41 GMT 2008
So, I've done some RTFS, and this is what I've got. I'd still love it if
Wayne could confirm that my understanding of the source is correct.
Shachar Shemesh wrote:
> So my questions:
> 1. Why does rsync need to pass "-e" to the remote side? After all, the
> connection is already established at that point.
-e when combined with --server means something different than it does
normally. With --server it is a means for the client to hand over to the
server the options and command lines it received itself (hard links,
symbolic link processing etc.) as well as the protocol version used.
> 2. What does this -e mean? What causes the remote side to really not
> run anything (trying to run ".L" from the path would be the way I
> would interpret the command at that point - obviously rsync disagrees :-)
The "." means protocol 3.0 (with explicit numbers for other numbers.
i.e. - protocol version 3.1 will be listed as "3.1". The current code
says protocol 4.0 will also be listed as ".", but I'm fairly sure that's
just a bug that has not manifested yet).
The L means LUTIMES support.
The thing I would like Wayne to confirm is that if the --server option
is given, the "-e" option will never cause an application to be run, and
should thus not be considered dangerous.
More information about the rsync