diff options
| author | Silvio Rhatto <rhatto@riseup.net> | 2013-04-20 12:07:27 -0300 | 
|---|---|---|
| committer | Silvio Rhatto <rhatto@riseup.net> | 2013-10-26 13:18:19 -0200 | 
| commit | b8b8b46fbaf9acbdc769d311a064ab89bb670ef7 (patch) | |
| tree | fbf9251b4cc61da9a92898be8d86f85f11df3bfd | |
| parent | 0cb6fcd647f648b47a9afd190ee865e70236ded7 (diff) | |
| download | backupninja-b8b8b46fbaf9acbdc769d311a064ab89bb670ef7.tar.gz backupninja-b8b8b46fbaf9acbdc769d311a064ab89bb670ef7.tar.bz2  | |
Solve quoting issue with "su" (debian #683731) (upstream #4019)bug/4019
A fix for debian #677410 on commit 29dcdbae introduces a new issue on wheezy
machines where some rsync_options gets out of the rsync command quotes when
invoked by su.
As reported, running backupninja through `bash -x` shows that the `--delete`
option from the rsync command is not included in the single quote for the `su
-c` command:
    nice -n 0 su -c '/usr/bin/rsync -av' --delete '--recursive
    --delete-excluded    //home/ /tmp/test//home//'
This patch attempt to solve that issue by using the intermediary variable
$command.
| -rw-r--r-- | handlers/rsync.in | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/handlers/rsync.in b/handlers/rsync.in index 1954fc1..b2c4b59 100644 --- a/handlers/rsync.in +++ b/handlers/rsync.in @@ -1136,9 +1136,10 @@ for SECTION in $include; do    set_dest    info "Syncing $SECTION on $dest_path..." -  debug $nice $rsync ${rsync_options[@]} $filelist_flag $excludes $batch_option $orig $dest_path +  command="$rsync ${rsync_options[@]} --delete-excluded $filelist_flag $excludes $batch_option $orig $dest_path" +  debug $nice su -c "$command"    set_pipefail -  $nice su -c "$rsync ${rsync_options[@]} --delete-excluded $filelist_flag $excludes $batch_option $orig $dest_path" | tee -a $log +  $nice su -c "$command" | tee -a $log    check_rsync_exit_status $?    restore_pipefail  | 
