X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fma%2Fadd_certifier;h=28c229aec25de30120beca3b6c4ef0ed50f9f72a;hb=e93a298ec6f9abd80e30a933b0dd84c764d11bff;hp=e9731cc8da17740da7d73d4287286ccb2c5d73b3;hpb=54d24867975e5d8673b681e511f8b8fc6210a633;p=monkeysphere.git diff --git a/src/share/ma/add_certifier b/src/share/ma/add_certifier index e9731cc..28c229a 100644 --- a/src/share/ma/add_certifier +++ b/src/share/ma/add_certifier @@ -36,6 +36,8 @@ local fingerprint local ltsignCommand local trustval +PROMPT=true + # get options while true ; do case "$1" in @@ -51,6 +53,10 @@ while true ; do depth="$2" shift 2 ;; + -y) + PROMPT=false + shift 1 + ;; *) if [ "$(echo "$1" | cut -c 1)" = '-' ] ; then failure "Unknown option '$1'. @@ -90,30 +96,37 @@ if [ -f "$keyID" ] ; then fi else # get the key from the key server + log debug "retrieving key from keyserver..." gpg_sphere "--keyserver $KEYSERVER --recv-key '0x${keyID}!'" || failure "Could not receive a key with this ID from the '$KEYSERVER' keyserver." fi export keyID -# get the full fingerprint of a key ID -fingerprint=$(gpg_sphere "--list-key --with-colons --with-fingerprint 0x${keyID}!" | \ - grep '^fpr:' | grep "$keyID" | cut -d: -f10) +# 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) if [ -z "$fingerprint" ] ; then failure "Key '$keyID' not found." fi -log info -e "\nkey found:" +log info "key found:" gpg_sphere "--fingerprint 0x${fingerprint}!" -echo "Are you sure you want to add the above key as a" -read -p "certifier of users on this system? (y/N) " OK; OK=${OK:-N} -if [ "${OK/y/Y}" != 'Y' ] ; then - failure "Identity certifier not added." +if [ "$PROMPT" = true ] ; then + echo "Are you sure you want to add the above key as a" + read -p "certifier of users on this system? (y/N) " OK; OK=${OK:-N} + if [ "${OK/y/Y}" != 'Y' ] ; then + failure "Identity certifier not added." + fi +else + log debug "adding key without prompting." 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 @@ -142,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 @@ -149,9 +163,10 @@ if echo "$ltsignCommand" | \ gpg_core_sphere_sig_transfer # update the sphere trustdb + log debug "updating sphere trustdb..." gpg_sphere "--check-trustdb" - log info -e "\nIdentity certifier added." + log info "Identity certifier added." else failure "Problem adding identify certifier." fi