fix some things in ma certifier functions:
authorJameson Graef Rollins <jrollins@finestructure.net>
Thu, 12 Feb 2009 23:23:05 +0000 (18:23 -0500)
committerJameson Graef Rollins <jrollins@finestructure.net>
Thu, 12 Feb 2009 23:23:05 +0000 (18:23 -0500)
- fix left over bad invocations of gpg_sphere --list-keys
- add some more debug log output

src/share/ma/add_certifier
src/share/ma/list_certifiers
src/share/ma/remove_certifier

index 2e53455b144dc2f77e002b94038d33b8b2fca7d3..28c229aec25de30120beca3b6c4ef0ed50f9f72a 100644 (file)
@@ -102,7 +102,7 @@ fi
 
 export keyID
 
-# get the full fingerprint of a key ID
+# get the full fingerprint of new certifier key
 log debug "getting fingerprint of certifier key..."
 fingerprint=$(gpg_sphere "--list-key --with-colons --with-fingerprint 0x${keyID}!" \
     | grep '^fpr:' | grep "$keyID" | cut -d: -f10)
@@ -126,6 +126,7 @@ fi
 
 # export the key to the core keyring so that the core can sign the
 # new certifier key
+log debug "exporting retrieved certifier key to core keyring..."
 gpg_sphere "--export 0x${fingerprint}!" | gpg_core --import
 
 case "$trust" in
@@ -154,6 +155,7 @@ EOF
     )
 
 # core ltsigns the newly imported certifier key
+log debug "executing core ltsign script..."
 if echo "$ltsignCommand" | \
     gpg_core --quiet --command-fd 0 --edit-key "0x${fingerprint}!" ; then
 
@@ -161,6 +163,7 @@ if echo "$ltsignCommand" | \
     gpg_core_sphere_sig_transfer
 
     # update the sphere trustdb
+    log debug "updating sphere trustdb..."
     gpg_sphere "--check-trustdb"
 
     log info "Identity certifier added."
index e37485ead6bbba2e0ac2455c98c14361ea1f674b..d8b8f339bf7bdf1cbd9ef49e265a2a17c2db7147 100644 (file)
@@ -18,13 +18,20 @@ list_certifiers() {
 local keys
 local key
 
-# find trusted keys in authentication keychain
-keys=$(gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-keys --with-colons --fingerprint" | \
-    grep ^pub: | cut -d: -f2,5 | egrep '^(u|f):' | cut -d: -f2)
+# find trusted keys in sphere keychain
+log debug "finding trusted keys..."
+
+# NOTE: looking for only 'f' keys here (used to be '(u|f)'), since the
+# only key that should be 'u' is the core key, which is not
+# technically a certifier in the sense we're worried about.  Is this
+# not correct?  Should we be sorting out the certifier keys in a
+# different way?
+keys=$(gpg_sphere "--list-keys --with-colons --fingerprint" | \
+    grep ^pub: | cut -d: -f2,5 | egrep '^f:' | cut -d: -f2)
 
 # output keys
 for key in $keys ; do
-    gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-key --fingerprint $key"
+    gpg_sphere "--list-key --fingerprint 0x${key}!"
 done
 
 }
index c7aabea88aaeabe4ccd8d683e26e41ac8c526a72..4e56264d695f5140ff2fb11bc4f8eb730bc0110c 100644 (file)
@@ -23,7 +23,7 @@ if [ -z "$keyID" ] ; then
     failure "You must specify the key ID of a key to remove."
 fi
 
-if gpg_sphere "--no-options --list-options show-uid-validity --keyring ${GNUPGHOME_AUTHENTICATION}/pubring.gpg --list-key 0x${keyID}!" ; then
+if gpg_sphere "--list-key --fingerprint 0x${keyID}!" ; then
     read -p "Really remove above listed identity certifier? (y/N) " OK; OK=${OK:-N}
     if [ "${OK/y/Y}" != 'Y' ] ; then
        failure "Identity certifier not removed."