From 7a5045baf1ee3f76a5e08ae86d86e67ed5a398d2 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 23 Jul 2013 12:01:37 +0200 Subject: dup: Gracefully handle legacy spaces between -o and IdentityFile. --- handlers/dup.in | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/handlers/dup.in b/handlers/dup.in index 36db959..a67848f 100644 --- a/handlers/dup.in +++ b/handlers/dup.in @@ -125,8 +125,16 @@ duplicity_sub="`echo $duplicity_version | @AWK@ -F '.' '{print $3}'`" ## duplicity >= 0.6.17 : paramiko backend if [ "$duplicity_major" -ge 0 -a "$duplicity_minor" -ge 6 -a "$duplicity_sub" -ge 17 ]; then if [ -n "$sshoptions" ]; then - echo "$sshoptions" | grep -Eqs '^-o[[:space:]]*IdentityFile=[^ ]+$' \ - || warning 'duplicity >= 0.6.17 only supports the IdentityFile SSH option' + if echo "$sshoptions" | grep -Eqs '^-o[[:space:]]*IdentityFile=[^ ]+$' ; then + spaceless_sshoptions="$(echo -n "$sshoptions" | @SED@ 's/^-o[[:space:]]*/-o/')" + if [ "$spaceless_sshoptions" != "$sshoptions" ] ; then + warning 'Since duplicity >= 0.6.17, sshoptions option requires no space between -o and IdentityFile.' + warning 'The bad space has been ignored. Update your duplicity handler config file to suppress this message.' + sshoptions="$spaceless_sshoptions" + fi + else + warning 'duplicity >= 0.6.17 only supports the IdentityFile SSH option' + fi fi execstr_options="${execstr_options} --ssh-options '$sshoptions'" if [ "$bandwidthlimit" != 0 ]; then -- cgit v1.2.3