]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-key
cmdline/apt-key: Create new keyrings with mode 0644 instead of 0600
[apt.git] / cmdline / apt-key
index c184e3e755b44f96ffd40a43abc7102756d6bb4f..309c51b13aa6bbed3b5eb8d6c3c603e95aec84e7 100755 (executable)
@@ -32,6 +32,16 @@ requires_root() {
        fi
 }
 
+# gpg defaults to mode 0600 for new keyrings. Create one with 0644 instead.
+init_keyring() {
+    for path; do
+        if ! [ -e "$path" ]; then
+            touch -- "$path"
+            chmod 0644 -- "$path"
+        fi
+    done
+}
+
 add_keys_with_verify_against_master_keyring() {
     ADD_KEYRING=$1
     MASTER=$2
@@ -198,33 +208,42 @@ fi
 case "$command" in
     add)
         requires_root
+        init_keyring "$TRUSTEDFILE"
         $GPG --quiet --batch --import "$1"
         echo "OK"
         ;;
     del|rm|remove)
         requires_root
+        init_keyring "$TRUSTEDFILE"
         $GPG --quiet --batch --delete-key --yes "$1"
         echo "OK"
         ;;
     update)
+        init_keyring "$TRUSTEDFILE"
        update
        ;;
     net-update)
+        init_keyring "$TRUSTEDFILE"
        net_update
        ;;
     list)
+        init_keyring "$TRUSTEDFILE"
         $GPG --batch --list-keys
         ;;
     finger*)
+        init_keyring "$TRUSTEDFILE"
         $GPG --batch --fingerprint
         ;;
     export)
+        init_keyring "$TRUSTEDFILE"
         $GPG --armor --export "$1"
         ;;
     exportall)
+        init_keyring "$TRUSTEDFILE"
         $GPG --armor --export
         ;;
     adv*)
+        init_keyring "$TRUSTEDFILE"
         echo "Executing: $GPG $*"
         $GPG $*
         ;;