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