The branch, master has been updated via bb853b3 Add -wo option for write-only rrsync mode. from cce4486 Fixed logging of %b & %c when using --log-file.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit bb853b32055a16e983267c6f5b8244aac311fdf9 Author: Wayne Davison <way...@samba.org> Date: Sun Sep 13 16:15:17 2015 -0700 Add -wo option for write-only rrsync mode. ----------------------------------------------------------------------- Summary of changes: NEWS | 1 + support/rrsync | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/NEWS b/NEWS index 3ab8b2d..1071988 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,7 @@ Changes since 3.1.1: BackupPC happier. - Made configure choose to use linux xattrs on netbsd (rather than not supporting xattrs). + - Added -wo (write-only) option to rrsync support script. - Misc. manpage tweaks. DEVELOPER RELATED: diff --git a/support/rrsync b/support/rrsync index 5d2b8ae..9195aa2 100644 --- a/support/rrsync +++ b/support/rrsync @@ -15,11 +15,21 @@ use constant RSYNC => '/usr/bin/rsync'; use constant LOGFILE => 'rrsync.log'; my $Usage = <<EOM; -Use 'command="$0 [-ro] SUBDIR"' +Use 'command="$0 [-ro|-wo] SUBDIR"' in front of lines in $ENV{HOME}/.ssh/authorized_keys EOM -our $ro = (@ARGV && $ARGV[0] eq '-ro') ? shift : ''; # -ro = Read-Only +# Handle the -ro and -wo options. +our $only = ''; +while (@ARGV && $ARGV[0] =~ /^-([rw])o$/) { + my $r_or_w = $1; + if ($only && $only ne $r_or_w) { + die "$0: the -ro and -wo options conflict.\n"; + } + $only = $r_or_w; + shift; +} + our $subdir = shift; die "$0: No subdirectory specified\n$Usage" unless defined $subdir; $subdir = abs_path($subdir); @@ -41,7 +51,8 @@ die "$0: Not invoked via sshd\n$Usage" unless defined $command; die "$0: SSH_ORIGINAL_COMMAND='$command' is not rsync\n" unless $command =~ s/^rsync\s+//; die "$0: --server option is not first\n" unless $command =~ /^--server\s/; our $am_sender = $command =~ /^--server\s+--sender\s/; # Restrictive on purpose! -die "$0 -ro: sending to read-only server not allowed\n" if $ro && !$am_sender; +die "$0 sending to read-only server not allowed\n" if $only eq 'r' && !$am_sender; +die "$0 reading from write-only server not allowed\n" if $only eq 'w' && $am_sender; ### START of options data produced by the cull_options script. ### @@ -116,8 +127,8 @@ our %long_opt = ( 'perms' => 0, 'preallocate' => 0, 'recursive' => 0, - 'remove-sent-files' => $ro ? -1 : 0, - 'remove-source-files' => $ro ? -1 : 0, + 'remove-sent-files' => $only eq 'r' ? -1 : 0, + 'remove-source-files' => $only eq 'r' ? -1 : 0, 'safe-links' => 0, 'sender' => 0, 'server' => 0, -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs