fix ma so that the setup command is folded into the other commands, so
[monkeysphere.git] / src / monkeysphere-authentication
index c349e6fc93c3c062e07b0d5c4f60b3ca2f7daf07..8a4146f36c9df4a2fa1f417d29dd9532a6117c1e 100755 (executable)
@@ -14,6 +14,9 @@
 ########################################################################
 set -e
 
+# set the pipefail option so pipelines fail on first command failure
+set -o pipefail
+
 PGRM=$(basename $0)
 
 SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
@@ -52,7 +55,6 @@ usage: $PGRM <subcommand> [options] [args]
 Monkeysphere authentication admin tool.
 
 subcommands:
- setup (s)                           setup monkeysphere user authentication
  update-users (u) [USER]...          update user authorized_keys files
  add-id-certifier (c+) KEYID         import and tsign a certification key
    --domain (-n) DOMAIN                limit ID certifications to DOMAIN
@@ -95,19 +97,12 @@ core_fingerprint() {
        | grep ^fpr: | cut -d: -f10
 }
 
-# fail if authentication has not been setup
-check_no_setup() {
-    # FIXME: what is the right test to do here?
-    [ -d "$MADATADIR" ] \
-       || failure "This host appears to have not yet been set up for Monkeysphere authentication.
-Please run 'monkeysphere-authentication setup' first."
-}
-
 # export signatures from core to sphere
 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"
+       gpg_sphere "--import-options import-local-sigs --import" \
+       2>&1 | log debug
 }
 
 ########################################################################
@@ -164,40 +159,47 @@ shift
 case $COMMAND in
     'setup'|'setup'|'s')
        source "${MASHAREDIR}/setup"
-       setup "$@"
+       setup
        ;;
 
     'update-users'|'update-user'|'u')
-       check_no_setup
+       source "${MASHAREDIR}/setup"
+       setup
        source "${MASHAREDIR}/update_users"
        update_users "$@"
        ;;
 
     'add-identity-certifier'|'add-id-certifier'|'add-certifier'|'c+')
-       check_no_setup
+       source "${MASHAREDIR}/setup"
+       setup
        source "${MASHAREDIR}/add_certifier"
        add_certifier "$@"
        ;;
 
     'remove-identity-certifier'|'remove-id-certifier'|'remove-certifier'|'c-')
-       check_no_setup
+       source "${MASHAREDIR}/setup"
+       setup
        source "${MASHAREDIR}/remove_certifier"
        remove_certifier "$@"
        ;;
 
     'list-identity-certifiers'|'list-id-certifiers'|'list-certifiers'|'list-certifier'|'c')
-       check_no_setup
+       source "${MASHAREDIR}/setup"
+       setup
        source "${MASHAREDIR}/list_certifiers"
-       list_certifiers "$@"
+       list_certifiers
        ;;
 
     'diagnostics'|'d')
+       source "${MASHAREDIR}/setup"
+       setup
        source "${MASHAREDIR}/diagnostics"
        diagnostics
        ;;
 
     'gpg-cmd')
-       check_no_setup
+       source "${MASHAREDIR}/setup"
+       setup
        gpg_sphere "$@"
        ;;