Package: thunderbird
Version: 1:45.8.0-3
Tags: patch

The Thunderbird AppArmor profile has the subprofiles gpg and gpg2.
In stretch /usr/bin/gpg is actually gpg2 so you can't assume that "gpg" is
version 1 or 2 (if you want the profile to be compatible with jessie and 
strech).

I think it's best to just merge both subprofiles so it works with both gpg
versions, see attached patch.
This also solves the problem that signature verification is broken because the
/tmp/data.sig rules were missing from the "gpg" subprofile.

Felix
diff -Nur a/debian/apparmor/usr.bin.thunderbird 
b/debian/apparmor/usr.bin.thunderbird
--- a/debian/apparmor/usr.bin.thunderbird       2017-03-30 01:28:32.000000000 
+0200
+++ b/debian/apparmor/usr.bin.thunderbird       2017-03-31 10:25:42.498230893 
+0200
@@ -182,53 +182,14 @@
   /usr/bin/locale Uxr,
 
   /usr/bin/gpg Cx -> gpg,
-
-  profile gpg {
-    #include <abstractions/base>
-
-    # Required to import keys from keyservers
-    #include <abstractions/nameservice>
-    #include <abstractions/p11-kit>
-
-
-  /usr/share/xul-ext/enigmail/chrome/enigmail.jar r,
-
-    # For smartcards?
-    /dev/bus/usb/ r,
-    /dev/bus/usb/[0-9]*/ r,
-    /dev/bus/usb/[0-9]*/[0-9]* r,
-
-    # LDAP key servers
-    /etc/ldap/ldap.conf r,
-
-    /usr/bin/gpg mr,
-    /usr/lib/gnupg/gpgkeys_* ix,
-    owner @{HOME}/.gnupg r,
-    owner @{HOME}/.gnupg/gpg.conf r,
-    owner @{HOME}/.gnupg/random_seed rwk,
-    owner @{HOME}/.gnupg/pubring.gpg{,~} rw,
-    owner @{HOME}/.gnupg/secring.gpg rw,
-    owner @{HOME}/.gnupg/trustdb.gpg rw,
-    owner @{HOME}/.gnupg/*.gpg.{lock,tmp} rwl,
-    owner @{HOME}/.gnupg/.#*[0-9]  rw,
-    owner @{HOME}/.gnupg/.#*[0-9]x rwl,
-    owner @{HOME}/** r,
-
-    owner /run/user/[0-9]*/keyring-*/gpg rw,
-
-    # for inline pgp
-    owner /tmp/encfile rw,
-    owner /tmp/encfile-[0-9]* rw,
-  }
-
-  /usr/bin/gpg2              Cx -> gpg2,
-  /usr/bin/gpgconf           Cx -> gpg2,
-  /usr/bin/gpg-connect-agent Cx -> gpg2,
+  /usr/bin/gpg2              Cx -> gpg,
+  /usr/bin/gpgconf           Cx -> gpg,
+  /usr/bin/gpg-connect-agent Cx -> gpg,
 
   # TB tries to create this file but has no business doing so
   deny @{HOME}/.gnupg/gpg-agent.conf w,
 
-  profile gpg2 {
+  profile gpg {
     #include <abstractions/base>
 
     # Required to import keys from keyservers
@@ -236,6 +197,8 @@
     #include <abstractions/p11-kit>
     /usr/lib/gnupg2/gpg2keys_hkp ix,
 
+    /usr/share/xul-ext/enigmail/chrome/enigmail.jar r,
+
     # silence noise from enigmail 1.9+
     deny owner @{HOME}/.{icedove,thunderbird}/*/.parentlock w,
     deny owner @{HOME}/.{icedove,thunderbird}/*/panacea.dat w,
@@ -243,8 +206,6 @@
     deny owner @{HOME}/.{icedove,thunderbird}/**/*.msf w,
     deny owner @{HOME}/.cache/thunderbird/**/_CACHE_* w,
 
-    /usr/share/xul-ext/enigmail/chrome/enigmail.jar r,
-
     # For smartcards?
     /dev/bus/usb/ r,
     /dev/bus/usb/[0-9]*/ r,
@@ -253,25 +214,30 @@
     # LDAP key servers
     /etc/ldap/ldap.conf r,
 
-    /usr/bin/gpg-connect-agent mr,
-    owner @{HOME}/.gnupg/S.gpg-agent rw,
-    owner @{HOME}/.gnupg/S.dirmngr rw,
-
+    /usr/bin/gpg mr,
     /usr/bin/gpg2 mr,
+    /usr/bin/gpg-connect-agent mr,
+    /usr/lib/gnupg/gpgkeys_* ix,
     owner @{HOME}/.gnupg/ rw,
     owner @{HOME}/.gnupg/gpg.conf r,
     owner @{HOME}/.gnupg/random_seed rwk,
     owner @{HOME}/.gnupg/pubring.gpg{,~} rw,
     owner @{HOME}/.gnupg/secring.gpg rw,
     owner @{HOME}/.gnupg/trustdb.gpg rw,
+    owner @{HOME}/.gnupg/S.gpg-agent rw,
+    owner @{HOME}/.gnupg/S.dirmngr rw,
     owner @{HOME}/.gnupg/*.gpg.{lock,tmp} rwl,
     owner @{HOME}/.gnupg/.gpg-*.lock rwl,
     owner @{HOME}/.gnupg/gnupg_spawn_*.lock rwl,
+    owner @{HOME}/.gnupg/.#*[0-9]  rw,
+    owner @{HOME}/.gnupg/.#*[0-9]x rwl,
     owner @{HOME}/.gnupg/.#lk0x[0-9a-f]* rwl,
     owner @{HOME}/.gnupg/.gpg-v[0-9]*-migrated rw,
     owner @{HOME}/** r,
     owner @{PROC}/@{pids}/mountinfo r,
 
+    owner /run/user/[0-9]*/keyring-*/gpg rw,
+
     # for inline pgp
     owner /tmp/encfile rw,
     owner /tmp/encfile-[0-9]* rw,

Reply via email to