summaryrefslogtreecommitdiff
path: root/src/share/mh/import_key
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@finestructure.net>2009-02-16 23:45:28 -0500
committerJameson Graef Rollins <jrollins@finestructure.net>2009-02-16 23:45:28 -0500
commitf109b94f07ff55cf99976dc3cfe23b54b3797ad8 (patch)
tree676893eb71460a9921a42247a2e779e6497df1f9 /src/share/mh/import_key
parentcc26b64f9d83de2d9e567f9a1c223233fe0bb860 (diff)
add some minimal checks to import_key that the default hostname is legitimate.
Diffstat (limited to 'src/share/mh/import_key')
-rw-r--r--src/share/mh/import_key20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/share/mh/import_key b/src/share/mh/import_key
index 74dc0b3..ac31133 100644
--- a/src/share/mh/import_key
+++ b/src/share/mh/import_key
@@ -14,9 +14,27 @@
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