add some minimal checks to import_key that the default hostname is legitimate.
authorJameson Graef Rollins <jrollins@finestructure.net>
Tue, 17 Feb 2009 04:45:28 +0000 (23:45 -0500)
committerJameson Graef Rollins <jrollins@finestructure.net>
Tue, 17 Feb 2009 04:45:28 +0000 (23:45 -0500)
src/share/mh/import_key

index 74dc0b3816d7584b2483498238efb6599299896b..ac311338f9321c04a18baccbb0b859371d43d1e2 100644 (file)
 import_key() {
 
 local hostName
+local domain
 local userID
 
-hostName=${1:-$(hostname -f)}
+hostName="$1"
+
+# use the default hostname if not specified
+if [ -z "$hostName" ] ; then
+    hostName=$(hostname -f)
+    # test that the domain is not obviously illegitimate
+    domain=${foo##*.}
+    case $domain in
+       'local'|'localdomain')
+           failure "Host domain '$domain' is not legitimate.  Aborting key import."
+           ;;
+    esac
+    # test that there are at least two parts
+    if (( $(echo "$hostName" | tr . ' ' | wc -w) < 2 )) ; then
+       failure "Host name '$hostName' is not legitimate.  Aborting key import."
+    fi
+fi
+
 userID="ssh://${hostName}"
 
 # create host home