From: Daniel Kahn Gillmor Date: Fri, 24 Jul 2009 15:08:05 +0000 (-0400) Subject: only touch the known_hosts file if it does not exist, and create the parent directory... X-Git-Tag: monkeysphere_0.26~24^2 X-Git-Url: https://codewiz.org/gitweb?p=monkeysphere.git;a=commitdiff_plain;h=72721ebd269341e82b8e477d78a7f041d3639129 only touch the known_hosts file if it does not exist, and create the parent directory if it does not exist. if more than one level of enclosing directory does not exist, this will fail cryptically. --- diff --git a/src/share/common b/src/share/common index 8e2232d..c10e71b 100644 --- a/src/share/common +++ b/src/share/common @@ -896,7 +896,10 @@ update_known_hosts() { # touch the known_hosts file so that the file permission check # below won't fail upon not finding the file - (umask 0022 && touch "$KNOWN_HOSTS") + if [ ! -f "$KNOWN_HOSTS" ]; then + [ -d $(dirname "$KNOWN_HOSTS") ] || mkdir -m 0700 $(dirname "$KNOWN_HOSTS") + touch "$KNOWN_HOSTS" + fi # check permissions on the known_hosts file path check_key_file_permissions $(whoami) "$KNOWN_HOSTS" || failure