Package: duplicity Version: 0.6.08b-1+b1 Severity: important Tags: patch
At lenny's duplicity (0.4.11-2), it was possible to run the following command in the remote host without having the GPG keys or password: duplicity collection-status file:///var/backups/remote/remote-host.example.org/duplicity/ After upgrading to squeezy (duplicity 0.6.08b-1), I get the following prompt instead of the regular collection-status message: A sincronizar os meta-dados remotos com a cache local... GnuPG passphrase: When running on a non-interactive script[1][2] I get the following error: A sincronizar os meta-dados remotos com a cache local... /usr/lib/python2.6/getpass.py:83: GetPassWarning: Can not control echo on the terminal. passwd = fallback_getpass(prompt, stream) Warning: Password input may be echoed. GnuPG passphrase: Traceback (most recent call last): File "/usr/bin/duplicity", line 1251, in <module> with_tempdir(main) File "/usr/bin/duplicity", line 1244, in with_tempdir fn() File "/usr/bin/duplicity", line 1145, in main sync_archive() File "/usr/bin/duplicity", line 955, in sync_archive globals.gpg_profile.passphrase = get_passphrase(1, "sync") File "/usr/bin/duplicity", line 128, in get_passphrase pass1 = getpass.getpass("GnuPG passphrase: ") File "/usr/lib/python2.6/getpass.py", line 83, in unix_getpass passwd = fallback_getpass(prompt, stream) File "/usr/lib/python2.6/getpass.py", line 118, in fallback_getpass return _raw_input(prompt, stream) File "/usr/lib/python2.6/getpass.py", line 135, in _raw_input raise EOFError EOFError I can't find in upstream CHANGELOG[3] any reference about changed collection-status behavior but I found that commenting the sync_archive() call at main() the problem was solved. Therefore I created the following patch: --- duplicity-0.6.08b/duplicity 2011-05-04 16:25:08.000000000 -0300 +++ duplicity-0.6.08b.orig/duplicity 2010-03-11 22:39:07.000000000 -0300 @@ -1130,8 +1130,7 @@ check_resources(action) # check archive synch with remote, fix if needed - if action not in ["collection-status"]: - sync_archive() + sync_archive() # get current collection status col_stats = collections.CollectionsStatus(globals.backend, Having the ability to check the backup sets in the remote host without having the backup keys is an important feature to help backup auditing. An issue was issued upstream[4]. [1] https://git.sarava.org/?p=puppet-backup.git;a=blob;f=templates/rsync-check.sh.erb;h=879faaf59baee3da996f10659e59bbe2efccb683;hb=HEAD [2] https://git.sarava.org/?p=puppet-backup.git;a=blob;f=templates/rdiff-check.sh.erb;h=a2052ff75f1f1421aff98d0f1eab6c1f519d0d4b;hb=HEAD [3] http://duplicity.nongnu.org/CHANGELOG [4] https://bugs.launchpad.net/duplicity/+bug/777377 -- System Information: Debian Release: 6.0.1 APT prefers stable APT policy: (990, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-vserver-amd64 (SMP w/1 CPU core) Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to pt_BR.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages duplicity depends on: ii gnupg 1.4.10-4 GNU privacy guard - a free PGP rep ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib ii librsync1 0.9.7-7 rsync remote-delta algorithm libra ii python 2.6.6-3+squeeze6 interactive high-level object-orie ii python-central 0.6.16+nmu1 register and build utility for Pyt ii python-pexpect 2.3-1 Python module for automating inter duplicity recommends no packages. Versions of packages duplicity suggests: pn ncftp <none> (no description available) pn python-boto <none> (no description available) -- no debconf information
diff -Naur duplicity-0.6.13.orig/duplicity duplicity-0.6.13/duplicity --- duplicity-0.6.13.orig/duplicity 2011-04-02 14:48:22.000000000 -0300 +++ duplicity-0.6.13/duplicity 2011-05-04 16:28:33.000000000 -0300 @@ -1141,7 +1141,8 @@ check_resources(action) # check archive synch with remote, fix if needed - sync_archive() + if action not in ["collection-status"]: + sync_archive() # get current collection status col_stats = collections.CollectionsStatus(globals.backend,