explicity set the USER variable, since it's needed for checking file permissions...
[monkeysphere.git] / src / monkeysphere
index 0d8f4ff8011adb8882ee6f6a4b6b47212b02723d..aa9276cc426ece8925f55f475db789d704deeb3a 100755 (executable)
@@ -18,7 +18,8 @@ PGRM=$(basename $0)
 
 SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
 export SYSSHAREDIR
-. "${SYSSHAREDIR}/common" || exit 1
+. "${SYSSHAREDIR}/defaultenv"
+. "${SYSSHAREDIR}/common"
 
 # sharedir for host functions
 MSHAREDIR="${SYSSHAREDIR}/m"
@@ -69,7 +70,7 @@ check_gpg_sec_key_id() {
            gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons 2>/dev/null | egrep '^sec:')
            ;;
        1)
-           gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons "$keyID" | egrep '^sec:') || failure
+           gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons "$1" | egrep '^sec:') || failure
            ;;
        *)
            failure "You must specify only a single primary key ID."
@@ -86,12 +87,10 @@ check_gpg_sec_key_id() {
            echo "$gpgSecOut" | cut -d: -f5
            ;;
        *)
-           echo "Multiple primary secret keys found:"
-           for key in $(echo "$gpgSecOut" | cut -d: -f5) ; do
-               echo "  $key"
-           done
-           echo "Please specify which primary key to use."
-           failure
+           local seckeys=$(echo "$gpgSecOut" | cut -d: -f5)
+           failure "Multiple primary secret keys found:
+$seckeys
+Please specify which primary key to use."
            ;;
     esac
 }
@@ -124,7 +123,7 @@ check_gpg_authentication_subkey() {
        fi
        # if authentication key is valid, prompt to continue
        if [ "$validity" = 'u' ] ; then
-           echo "A valid authentication key already exists for primary key '$keyID'."
+           echo "A valid authentication key already exists for primary key '$keyID'." 1>&2
            if [ "$PROMPT" = "true" ] ; then
                read -p "Are you sure you would like to generate another one? (y/N) " OK; OK=${OK:N}
                if [ "${OK/y/Y}" != 'Y' ] ; then
@@ -190,6 +189,9 @@ export GNUPGHOME
 mkdir -p -m 0700 "$GNUPGHOME"
 export LOG_LEVEL
 
+# explicitly set the USER variable, for checking file permissions
+export USER=$(whoami)
+
 # get subcommand
 COMMAND="$1"
 [ "$COMMAND" ] || failure "Type '$PGRM help' for usage."
@@ -241,7 +243,7 @@ case $COMMAND in
        ;;
 
     'version'|'v')
-       echo "$VERSION"
+       version
        ;;
 
     '--help'|'help'|'-h'|'h'|'?')