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"
subcommands:
update-users (u) [USER]... update user authorized_keys files
+ keys-for-user (k) USER output user authorized_keys lines to stdout
refresh-keys (r) refresh keys in keyring
add-id-certifier (c+) KEYID|FILE import and tsign a certification key
}
# 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
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
}
########################################################################
source "${MASHAREDIR}/setup"
setup
source "${MASHAREDIR}/update_users"
- update_users "$@"
+ OUTPUT_STDOUT= update_users "$@"
+ ;;
+
+ 'keys-for-user'|'k')
+ (( $# > 0 )) || failure "Must specify user."
+ source "${MASHAREDIR}/setup"
+ setup
+ source "${MASHAREDIR}/update_users"
+ OUTPUT_STDOUT=true update_users "$1"
;;
'refresh-keys'|'refresh'|'r')
source "${MASHAREDIR}/setup"
setup
- gpg_sphere "--keyserver $KEYSERVER --refresh-keys"
+ gpg_sphere --keyserver "$KEYSERVER" --refresh-keys
;;
'add-identity-certifier'|'add-id-certifier'|'add-certifier'|'c+')