uccpass: regenerate .gpg-id when reloading keys master
authorDavid Adam <zanchey@ucc.gu.uwa.edu.au>
Mon, 10 Jul 2017 16:25:10 +0000 (00:25 +0800)
committerDavid Adam <zanchey@ucc.gu.uwa.edu.au>
Mon, 10 Jul 2017 16:25:10 +0000 (00:25 +0800)
Fixes the problem where the keychain and the .gpg-id file can get out of sync,
and ensures that the key IDs are used rather than a (possibly old key for) an
email address.

uccpass

diff --git a/uccpass b/uccpass
index f399803..e4c48c7 100755 (executable)
--- a/uccpass
+++ b/uccpass
@@ -77,6 +77,7 @@ add_to_shell () {
 
 refresh_keys () {
     gpg2 --quiet --import $UCCPASS_KEYRING
+    gpg2 --with-colons $UCCPASS_KEYRING | grep '^pub' | cut -d: -f5 > $PASSWORD_STORE_DIR/.gpg-id
 }
 
 new_user_setup () {
@@ -126,15 +127,6 @@ new_user_setup () {
     # Get the key fingerprint
     KEY_FINGERPRINT=`gpg --list-secret-keys --with-fingerprint --with-colons $GIT_AUTHOR_EMAIL | grep '^fpr' | head -n 1 | cut -d: -f 10`
 
-    # Add to .gpg-id
-    echo -n " >> Adding your key to the access list... "
-    if grep -qF "<$GIT_AUTHOR_EMAIL>" $PASSWORD_STORE_DIR/.gpg-id; then
-        echo "already present!"
-    else
-        echo "<$GIT_AUTHOR_EMAIL>" >> $PASSWORD_STORE_DIR/.gpg-id
-        echo "ok."
-    fi
-
     # Add to key list
     # XXX: is it worth submitting these to an online keyserver?
     echo -n " >> Adding your key to the shared keyring... "

UCC git Repository :: git.ucc.asn.au