fix need for only single argument to gpg_sphere
[monkeysphere.git] / src / monkeysphere-authentication
index 7d08aacc12fb06d23130a539d9737e34e18459e1..94642b6a4680f46e497448472999b728d1311fdf 100755 (executable)
@@ -19,14 +19,11 @@ set -o pipefail
 
 PGRM=$(basename $0)
 
-SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
+SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"__SYSSHAREDIR_PREFIX__/share/monkeysphere"}
 export SYSSHAREDIR
 . "${SYSSHAREDIR}/defaultenv"
 . "${SYSSHAREDIR}/common"
 
-SYSDATADIR=${MONKEYSPHERE_SYSDATADIR:-"/var/lib/monkeysphere"}
-export SYSDATADIR
-
 # sharedir for authentication functions
 MASHAREDIR="${SYSSHAREDIR}/ma"
 
@@ -55,6 +52,7 @@ Monkeysphere authentication admin tool.
 subcommands:
  update-users (u) [USER]...        update user authorized_keys files
  refresh-keys (r)                  refresh keys in keyring
+ keys-for-user USER                output valid keys for user
 
  add-id-certifier (c+) KEYID|FILE  import and tsign a certification key
    [--domain (-n) DOMAIN]            limit ID certifications to DOMAIN
@@ -79,8 +77,6 @@ gpg_core() {
 }
 
 # function to interact with the gpg sphere keyring
-# FIXME: this function requires only a single argument because of
-# problems with quote expansion.  this needs to be fixed/improved.
 gpg_sphere() {
     GNUPGHOME="$GNUPGHOME_SPHERE"
     export GNUPGHOME
@@ -101,7 +97,7 @@ core_fingerprint() {
 gpg_core_sphere_sig_transfer() {
     log debug "exporting core local sigs to sphere..."
     gpg_core --export-options export-local-sigs --export | \
-       gpg_sphere "--import-options import-local-sigs --import" 2>&1 | log debug
+       gpg_sphere --import-options import-local-sigs --import 2>&1 | log debug
 }
 
 ########################################################################
@@ -164,17 +160,22 @@ case $COMMAND in
        setup
        ;;
 
-    'update-users'|'update-user'|'u')
+    'update-users'|'update-user'|'update'|'u')
        source "${MASHAREDIR}/setup"
        setup
        source "${MASHAREDIR}/update_users"
        update_users "$@"
        ;;
 
-    'refresh-keys'|'r')
+    'refresh-keys'|'refresh'|'r')
        source "${MASHAREDIR}/setup"
        setup
-       gpg_sphere "--keyserver $KEYSERVER --refresh-keys"
+       gpg_sphere --keyserver "$KEYSERVER" --refresh-keys
+       ;;
+
+    'keys-for-user')
+       source "${MASHAREDIR}/keys_for_user"
+       keys_for_user "$@"
        ;;
 
     'add-identity-certifier'|'add-id-certifier'|'add-certifier'|'c+')