Comment 0 for bug 1385599

Revision history for this message
Remy van Elst (raymii) wrote :

Duplicity 0.7.0 fails with a plain FTP backend on certificate validation. It worked with 0.6.24. I installed lftp because 0.7.0 does not use ncftp anymore.

    Command:

        duplicity -v 9 --asynchronous-upload --volsize 25 --tempdir="/tmp" --file-prefix="94e55ec9-1cd9-4988-bf86-68e12b24a935." --name="94e55ec9-1cd9-4988-bf86-68e12b24a935." --exclude-device-files --exclude-globbing-filelist=/etc/backup/exclude.conf --full-if-older-than="2D" --encrypt-key=B5EBDA9B --sign-key=8C12A683 / ftp://user@ipaddr

    Output:

        Using archive dir: /root/.cache/duplicity/94e55ec9-1cd9-4988-bf86-68e12b24a935.
        Using backup name: 94e55ec9-1cd9-4988-bf86-68e12b24a935.
        Import of duplicity.backends.botobackend Succeeded
        Import of duplicity.backends.cfbackend Succeeded
        Import of duplicity.backends.copycombackend Succeeded
        Import of duplicity.backends.dpbxbackend Failed: No module named dropbox
        Import of duplicity.backends.ftpbackend Succeeded
        Import of duplicity.backends.ftpsbackend Failed: the scheme ftps already has a backend associated with it
        Import of duplicity.backends.gdocsbackend Succeeded
        Import of duplicity.backends.giobackend Succeeded
        Import of duplicity.backends.hsibackend Succeeded
        Import of duplicity.backends.imapbackend Succeeded
        Import of duplicity.backends.localbackend Succeeded
        Import of duplicity.backends.megabackend Succeeded
        Import of duplicity.backends.par2backend Succeeded
        Import of duplicity.backends.rsyncbackend Succeeded
        Import of duplicity.backends.sshbackend Succeeded
        Import of duplicity.backends.swiftbackend Succeeded
        Import of duplicity.backends.sxbackend Succeeded
        Import of duplicity.backends.tahoebackend Succeeded
        Import of duplicity.backends.webdavbackend Succeeded
        Import of duplicity.backends.~par2wrapperbackend Succeeded
        LFTP version is 4.3.3
        Using temporary directory /tmp/duplicity-Kvedf4-tempdir
        Registering (mkstemp) temporary file /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1
        Reading globbing filelist /etc/backup/exclude.conf
        Main action: inc
        ================================================================================
        duplicity 0.7.0 (October 23, 2014)
        Args: /usr/local/bin/duplicity -v 9 --asynchronous-upload --volsize 25 --tempdir=/tmp --file-prefix=94e55ec9-1cd9-4988-bf86-68e12b24a935. --name=94e55ec9-1cd9-4988-bf86-68e12b24a935. --exclude-device-files --exclude-globbing-filelist=/etc/backup/exclude.conf --full-if-older-than=2D --encrypt-key=B5EBDA9B --sign-key=8C12A683 / ftp://<email address hidden>@85.222.228.67
        Linux 1204-php-sql-base-2 3.2.0-69-virtual #103-Ubuntu SMP Tue Sep 2 05:21:29 UTC 2014 x86_64 x86_64
        /usr/bin/python2 2.7.3 (default, Feb 27 2014, 19:58:35)
        [GCC 4.6.3]
        ================================================================================
        Registering (mkstemp) temporary file /tmp/duplicity-Kvedf4-tempdir/mkstemp-Cm3YqW-2
        Temp has 13807632384 available, backup will use approx 60293120.
        Reading results of 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls ''''
        Backtrace of previous error: Traceback (innermost last):
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 368, in inner_retry
            return fn(self, *args)
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 567, in list
            return [tobytes(x) for x in self.backend._list()]
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backends/ftpbackend.py", line 104, in _list
            _, l, _ = self.subprocess_popen(commandline)
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 488, in subprocess_popen
            (private, result, stdout + '\n' + stderr))
         BackendException: Error running 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls '''': returned 1, with output:

        ls: Fatal error: Certificate verification: Not trusted

        Attempt 1 failed. BackendException: Error running 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls '''': returned 1, with output:

        ls: Fatal error: Certificate verification: Not trusted

        Reading results of 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls ''''
        Backtrace of previous error: Traceback (innermost last):
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 368, in inner_retry
            return fn(self, *args)
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 567, in list
            return [tobytes(x) for x in self.backend._list()]
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backends/ftpbackend.py", line 104, in _list
            _, l, _ = self.subprocess_popen(commandline)
          File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 488, in subprocess_popen
            (private, result, stdout + '\n' + stderr))
         BackendException: Error running 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls '''': returned 1, with output:

        ls: Fatal error: Certificate verification: Not trusted

        Attempt 2 failed. BackendException: Error running 'lftp -c 'source /tmp/duplicity-Kvedf4-tempdir/mkstemp-yOu6kX-1;ls '''': returned 1, with output:

        ls: Fatal error: Certificate verification: Not trusted

    Attempts continue to go on and fail.

    The solution for me was to add the following to /etc/lftp.conf:

        set ssl:verify-certificate no

    Then the backup works without issues.

    OS: Ubuntu 12.04 LTS 64 bit
    Duplicity installed from source, 0.7.0
    LFTP version is 4.3.3
    [GCC 4.6.3]
    /usr/bin/python2 2.7.3 (default, Feb 27 2014, 19:58:35)