Don't fail when authorized_user_ids or known_hosts files are not found.
authorJameson Graef Rollins <jrollins@phys.columbia.edu>
Mon, 28 Jul 2008 05:24:31 +0000 (22:24 -0700)
committerJameson Graef Rollins <jrollins@phys.columbia.edu>
Mon, 28 Jul 2008 05:24:31 +0000 (22:24 -0700)
debian/changelog
src/monkeysphere
src/monkeysphere-server

index 4f3c9054fc5048a2413ddcf9038f2440c1f6b792..adfed520488cfc147ac181ed224d2c1429139a3c 100644 (file)
@@ -1,8 +1,9 @@
 monkeysphere (0.5-1) experimental; urgency=low
 
   * Tweak how empty authorized_user_ids and known_hosts files are handled.
+  * Do not fail when authorized_user_ids or known_hosts file is not found.
 
- -- Jameson Graef Rollins <jrollins@phys.columbia.edu>  Sun, 27 Jul 2008 12:03:30 -0700
+ -- Jameson Graef Rollins <jrollins@phys.columbia.edu>  Sun, 27 Jul 2008 22:24:23 -0700
 
 monkeysphere (0.4-1) experimental; urgency=low
 
index 3f127e6f1c0f7dd49a2c08517814350d992ee602..cd7719345caefedbc9068327d809d6908d2941df 100755 (executable)
@@ -203,8 +203,9 @@ case $COMMAND in
     'update-known_hosts'|'update-known-hosts'|'k')
        MODE='known_hosts'
 
+       # check permissions on the known_hosts file path
        if ! check_key_file_permissions "$USER" "$KNOWN_HOSTS" ; then
-           failure "Improper permissions on known_hosts file."
+           failure "Improper permissions on known_hosts file path."
        fi
 
         # if hosts are specified on the command line, process just
@@ -216,8 +217,10 @@ case $COMMAND in
         # otherwise, if no hosts are specified, process every host
         # in the user's known_hosts file
        else
+           # exit if the known_hosts file does not exist
            if [ ! -e "$KNOWN_HOSTS" ] ; then
-               failure "known_hosts file '$KNOWN_HOSTS' does not exist."
+               log "known_hosts file '$KNOWN_HOSTS' does not exist."
+               exit
            fi
 
            process_known_hosts
@@ -228,13 +231,20 @@ case $COMMAND in
     'update-authorized_keys'|'update-authorized-keys'|'a')
        MODE='authorized_keys'
 
-        # fail if the authorized_user_ids file is empty
-       if [ ! -e "$AUTHORIZED_USER_IDS" ] ; then
-           failure "authorized_user_ids file '$AUTHORIZED_USER_IDS' does not exist."
+       # check permissions on the authorized_user_ids file path
+       if ! check_key_file_permissions "$USER" "$AUTHORIZED_USER_IDS" ; then
+           failure "Improper permissions on authorized_user_ids file path."
        fi
 
-       if ! check_key_file_permissions "$USER" "$AUTHORIZED_USER_IDS" ; then
-           failure "Improper permissions on authorized_user_ids file."
+       # check permissions on the authorized_keys file path
+       if ! check_key_file_permissions "$USER" "$AUTHORIZED_KEYS" ; then
+           failure "Improper permissions on authorized_keys file path."
+       fi
+
+        # exit if the authorized_user_ids file is empty
+       if [ ! -e "$AUTHORIZED_USER_IDS" ] ; then
+           log "authorized_user_ids file '$AUTHORIZED_USER_IDS' does not exist."
+           exit
        fi
 
        # process authorized_user_ids file
index 19b457fed71ea65cf34fa85234f22181619ea1e6..ce800593da8fec3cf82722393dc9ca7d05a31d3d 100755 (executable)
@@ -143,13 +143,15 @@ update_users() {
 
        log "----- user: $uname -----"
 
+        # exit if the authorized_user_ids file is empty
        if ! check_key_file_permissions "$uname" "$AUTHORIZED_USER_IDS" ; then
-           log "Improper permissions on authorized_user_ids file."
+           log "Improper permissions on authorized_user_ids file path."
            continue
        fi
 
+       # check permissions on the authorized_keys file path
        if ! check_key_file_permissions "$uname" "$RAW_AUTHORIZED_KEYS" ; then
-           log "Improper permissions on authorized_keys file."
+           log "Improper permissions on authorized_keys file path path."
            continue
        fi
 
@@ -206,8 +208,7 @@ update_users() {
        chgrp $(getent passwd "$uname" | cut -f4 -d:) "$AUTHORIZED_KEYS"
        chmod g+r "$AUTHORIZED_KEYS"
 
-       # if the resulting authorized_keys file is not empty, move
-       # it into place
+       # move the resulting authorized_keys file into place
        mv -f "$AUTHORIZED_KEYS" "${VARLIB}/authorized_keys/${uname}"
 
        # destroy temporary directory