From 72721ebd269341e82b8e477d78a7f041d3639129 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 24 Jul 2009 11:08:05 -0400 Subject: [PATCH] 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. --- src/share/common | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 -- 2.26.2