From: David Kalnischkies Date: Wed, 1 Oct 2014 21:58:05 +0000 (+0200) Subject: ensure world-readability for trusted.gpg in postinst X-Git-Tag: 1.1.exp4~16 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/8b32e72c6f7143de4ec02f44e362b0df9e21e024 ensure world-readability for trusted.gpg in postinst apt-key creates trusted.gpg if it needs it with 644 nowadays, but before it ensured this, it was gpg creating it, which gives it by default 600. Not a problem as long as our gpgv is run as root, but now that we drop privileges we have to ensure that we can also read trusted.gpg files created by earlier apt-key versions. Closes: 647001 --- diff --git a/debian/apt.postinst b/debian/apt.postinst index deb422aa5..5820db587 100755 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -22,6 +22,10 @@ case "$1" in rm -f "$keyring" fi done + # apt-key before 0.9.8.2 could create 0600 trusted.gpg file + if test -e /etc/apt/trusted.gpg ; then + chmod -f 0644 /etc/apt/trusted.gpg || true + fi fi if dpkg --compare-versions "$2" lt-nl 0.9.9.5; then diff --git a/test/integration/test-apt-key b/test/integration/test-apt-key index d5adec5bd..e6ac530a6 100755 --- a/test/integration/test-apt-key +++ b/test/integration/test-apt-key @@ -41,7 +41,14 @@ gpg: unchanged: 1' aptkey --fakeroot update testaptkeys 'pub 2048R/DBAC8DAE 2010-08-18' + testsuccess test ! -e rootdir/etc/apt/trusted.gpg testsuccess aptkey --fakeroot add ./keys/rexexpired.pub + msgtest 'Check if trusted.gpg is created with permissions set to' '0644' + if [ "$(stat -c '%a' rootdir/etc/apt/trusted.gpg )" = '644' ]; then + msgpass + else + msgfail + fi testaptkeys 'pub 2048R/27CE74F9 2013-07-12 [expired: 2013-07-13] pub 2048R/DBAC8DAE 2010-08-18'