rsync --server -e VERSION issue

Matt McCutchen matt at mattmccutchen.net
Wed Mar 19 19:11:47 GMT 2008


On Wed, 2008-03-19 at 19:55 +0100, Olivier Thauvin wrote:
> It seems latest rsync pass -e to the remote server to specify rsync client is 
> a preversion (A thing I understand because -e works on all rsync version). 
> However, this cause problems on server having options restriction, like 
> denying -e because it allow to execute any command on it.
> 
> So I suggest this patch to limit effect to unstable version of clients.

As you'll see in the lines of code following your change, -e is used to
signal incremental-recursion and symlink-times support as well as the
use of an unreleased protocol, so it shouldn't be conditioned solely on
the unreleased protocol.  -e does not cause an rsync *server* to execute
arbitrary commands (it is used as a remote-shell command only by
clients), so it is safe and restricted-rsync setups need to be updated
to accept it.  Note: the "support/rrsync" in the rsync 3.0.0 release
wasn't updated to accept -e, but the current development version accepts
it.

If you as a client are stuck communicating with an old restricted-rsync
setup that rejects -e, you can specify as your remote shell command
(using the client -e option) a wrapper script that removes the -e part
from the server command.

Matt



More information about the rsync mailing list