applied patch to rdiff.helper, removed /etc/passwd from mysql handler.
authorelijah <elijah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Fri, 7 Oct 2005 16:02:27 +0000 (16:02 +0000)
committerelijah <elijah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Fri, 7 Oct 2005 16:02:27 +0000 (16:02 +0000)
git-svn-id: http://code.autistici.org/svn/backupninja/trunk@189 758a04ac-41e6-0310-8a23-8373a73cc35d

docs/changelog
handlers/mysql
handlers/rdiff.helper

index ee0d7271a1407b1e283a6a59f08392af9c3abb63..afd309727dde6bcc1a2694850ab998ba488db2ea 100644 (file)
@@ -1,8 +1,13 @@
 version 0.9 -- unreleased
+       *** IMPORTANT CHANGE, UPGRADE AT ONCE ***
+        fixed insecure temporary file creation 
+       *****************************************
        removed erroneous magic file marker in pgsql handler
-       fixed insecure temporary file creation
        fixed incorrect find positional
-       
+       changed direct grep of /etc/passwd to getent passwd.
+       rdiff helper has much better information on failed ssh attempt
+               (patch from cmccallum@thecsl.org).
+       
 version 0.8 -- September 15 2005
        added pgsql (PostgreSQL) handler, with vservers support.
        added vservers support to duplicity handler
index 4ac631b574bf9d2836b52d45c17246662d0571c2..569b0a206d21dc4b509539fd969c2ce6e9d181e3 100644 (file)
@@ -95,7 +95,7 @@ fi
 
 defaultsfile=""
 if [ "$dbusername" != "" -a "$dbpassword" != "" ]; then
-       home=`grep '^root:' /etc/passwd | awk -F: '{print $6}'`
+       home=`getent passwd "root" | awk -F: '{print $6}'`
        [ -d $home ] || fatal "Can't find root's home directory ($home)."
        mycnf="$home/.my.cnf"
        if [ -f $mycnf ]; then
index 2ad2a49201d88fe13a95daf8f8538c94f8406cd1..8be68ac71f5e5aed30b6908275270f9b9b9d48df 100644 (file)
@@ -81,7 +81,14 @@ do_rdiff_con() {
     echo "Copying root's public ssh key to authorized_keys of $rdiff_user@$rdiff_host. Specify the password for user $rdiff_user@$rdiff_host."
     ssh-copy-id -i /root/.ssh/id_[rd]sa.pub $rdiff_user@$rdiff_host
     if [ $? -ne 0 ]; then
-      msgBox "rdiff action wizard: error" "Failed to connect to $rdiff_user@$rdiff_host. Make sure you have the username and password correct."
+      echo "Couldn't copy root's public ssh key to authorized_keys of $rdiff_user@$rdiff_host. This time, testing whether directory is writable."
+      ssh $rdiff_user@$rdiff_host 'test -w .ssh || test -w .'
+      case $? in
+        0 )   msgBox "rdiff action wizard: error" "Directories are writable: Probably just a typo the first time." ;;
+        1 )   msgBox "rdiff action wizard: error" "Connected successfully to $rdiff_user@$rdiff_host, but unable to write. Check ownership and modes of ~$rdiff_user on $rdiff_host." ;;
+        255 ) msgBox "rdiff action wizard: error" "Failed to connect to $rdiff_user@$rdiff_host. Check hostname, username, and password." ;;
+        * )   msgBox "rdiff action wizard: error" "Unexpected error." ;;
+      esac 
       return
     else
       echo "Done. hit return to continue"