From: Jameson Graef Rollins <jrollins@finestructure.net>
Date: Fri, 20 Feb 2009 05:38:59 +0000 (-0500)
Subject: explicitly set GNUPGHOME in su_monkeysphere_user calls to gpg in add_revoker, to... 
X-Git-Tag: monkeysphere_0.23~31
X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=b15d917fc6ac1d5258ade0ff14f5ee6eda6892ee;p=monkeysphere.git

explicitly set GNUPGHOME in su_monkeysphere_user calls to gpg in add_revoker, to avoid any confusion about having GNUPGHOME as a tempdir exported to the environment.
---

diff --git a/src/share/mh/add_revoker b/src/share/mh/add_revoker
index 239dcfc..428b958 100644
--- a/src/share/mh/add_revoker
+++ b/src/share/mh/add_revoker
@@ -61,24 +61,23 @@ if [ -f "$keyID" -o "$keyID" = '-' ] ; then
 
 # else, get the key from the keyserver
 else
-    # create a temporary directory for storing the downloaded key
-    local GNUPGHOME="$tmpDir"
-    chmod 0700 "$GNUPGHOME"
-    chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$GNUPGHOME"
-    export GNUPGHOME
+    # fix permissions and ownership on temporary directory which will
+    # be used by monkeysphere user for storing the downloaded key
+    chmod 0700 "$tmpDir"
+    chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$tmpDir"
 
     # download the key from the keyserver as the monkeysphere user
     log verbose "searching keyserver $KEYSERVER for keyID $keyID..."
-    su_monkeysphere_user "gpg --quiet --keyserver $KEYSERVER --recv-key 0x${keyID}!" \
+    su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --quiet --keyserver $KEYSERVER --recv-key 0x${keyID}!" \
 	|| failure "Could not receive a key with this ID from the '$KEYSERVER' keyserver."
 
     # get the full fingerprint of new revoker key
     log debug "getting fingerprint of revoker key..."
-    fingerprint=$(su_monkeysphere_user "gpg --list-key --with-colons --with-fingerprint 0x${keyID}!" \
+    fingerprint=$(su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --list-key --with-colons --with-fingerprint 0x${keyID}!" \
 	| grep '^fpr:' | grep "$keyID" | cut -d: -f10)
 
     log info "key found:"
-    su_monkeysphere_user "gpg --fingerprint 0x${fingerprint}!"
+    su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --fingerprint 0x${fingerprint}!"
 
     if [ "$PROMPT" = "true" ] ; then
 	echo "Are you sure you want to add the above key as a"
@@ -92,7 +91,7 @@ else
 
     # export the new key to the host keyring
     log debug "loading key into host keyring..."
-    su_monkeysphere_user "gpg --quiet --export 0x${fingerprint}!" \
+    su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --quiet --export 0x${fingerprint}!" \
 	| gpg_host --import
 fi