From: Micah Anderson Date: Mon, 20 Mar 2006 23:08:07 +0000 (+0000) Subject: Fixed su quoting usage, as outlined here: X-Git-Tag: backupninja-0.9.4~72 X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=commitdiff_plain;h=8f7a366d32296c68fb70c740c6143fec5487df2f Fixed su quoting usage, as outlined here: http://lists.debian.org/debian-devel-announce/2006/03/msg00003.html --- diff --git a/ChangeLog b/ChangeLog index 05125ba..13c92d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,15 @@ version 0.9.4 -- unreleased handler changes - mysql, pgsql, svn: fixed inversed vsname emptyness check mysql: . Fixed improper use of $vuserhome (Debian: #351083) . Fixed erroneous removal of tmpfile when it didn't exit + . Fixed inversed vsname emptiness check + . Fixed su quote usage to be more posixy + pgsql: + . Fixed inversed vsname emptiness check + . Fixed su quote usage to be more posixy + svn: + . Fixed inversed vsname emptiness check rdiff: . Fixed improper include/exclude symlink dereference dup: diff --git a/examples/example.rdiff b/examples/example.rdiff index da39329..698776e 100644 --- a/examples/example.rdiff +++ b/examples/example.rdiff @@ -86,7 +86,7 @@ directory = /backups host = backuphost # make the files owned by this user. you must be able to -# `su -c ssh backupuser@backhost` without specifying a password. +# `su -c "ssh backupuser@backhost"` without specifying a password. # only use if "[dest] type = remote" user = backupuser diff --git a/handlers/mysql b/handlers/mysql index ae54aae..4bfffbb 100644 --- a/handlers/mysql +++ b/handlers/mysql @@ -179,7 +179,7 @@ then else execstr="$MYSQLHOTCOPY --quiet --allowold --regexp /.\*/./.\*/ $hotdir" fi - debug "su $user -c '$execstr'" + debug 'su $user -c "$execstr"' if [ ! $test ] then output=`su $user -c "$execstr" 2>&1` @@ -202,7 +202,7 @@ then else execstr="$MYSQLHOTCOPY --allowold $db $hotdir" fi - debug "su $user -c '$execstr'" + debug 'su $user -c "$execstr"' if [ ! $test ] then output=`su $user -c "$execstr" 2>&1` @@ -230,7 +230,7 @@ then then if [ $usevserver = yes ] then - debug "echo show databases | $VSERVER $vsname exec su $user -c $MYSQL $defaultsfile | grep -v Database" + debug 'echo show databases | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database' databases=`echo 'show databases' | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database` if [ $? -ne 0 ] then @@ -253,7 +253,7 @@ fi else execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $dumpdir/${db}.sql" fi - debug "su $user -c '$execstr'" + debug 'su $user -c "$execstr"' if [ ! $test ] then output=`su $user -c "$execstr" 2>&1` diff --git a/handlers/pgsql b/handlers/pgsql index c7197a8..e9d40cf 100644 --- a/handlers/pgsql +++ b/handlers/pgsql @@ -72,9 +72,9 @@ chmod 700 $vroot$backupdir # if $databases = all, use pg_dumpall if [ "$databases" == "all" ]; then if [ $usevserver = yes ]; then - execstr="$VSERVER $vsname exec su - postgres -c $PGSQLDUMPALL > $backupdir/${vsname}.sql" + execstr='$VSERVER $vsname exec su - postgres -c "$PGSQLDUMPALL > $backupdir/${vsname}.sql"' else - execstr="su - postgres -c $PGSQLDUMPALL > $backupdir/${localhost}-all.sql" + execstr='su - postgres -c "$PGSQLDUMPALL > $backupdir/${localhost}-all.sql"' fi debug "$execstr" if [ ! $test ]; then @@ -94,9 +94,9 @@ else for db in $databases; do if [ $usevserver = yes ] then - execstr="$VSERVER $vsname exec su - postgres -c $PGSQLDUMP $db > $backupdir/${db}.sql" + execstr='$VSERVER $vsname exec su - postgres -c "$PGSQLDUMP $db > $backupdir/${db}.sql"' else - execstr="su - postgres -c $PGSQLDUMP $db > $backupdir/${db}.sql" + execstr='su - postgres -c "$PGSQLDUMP $db > $backupdir/${db}.sql"' fi debug "$execstr" if [ ! $test ]; then