From 6033ee2c3cfef05ce2b6a26e6557ba42aba2ea3e Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 28 Apr 2015 11:32:28 +0000 Subject: setup-hostname: fix validation when non-interacitve When we specify the hostname as an arg we run the tool non-interactively and we only set it if the specified hostname is valid. --- setup-hostname.in | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/setup-hostname.in b/setup-hostname.in index 16d9b6b..20164bd 100644 --- a/setup-hostname.in +++ b/setup-hostname.in @@ -50,14 +50,16 @@ if [ -z "$name" ] && [ $# -eq 1 ]; then name="$1" fi -while true; do - if [ -n "$name" ]; then - HOST="$name" - else - HOST=`hostname` - echon "Enter system hostname (short form, e.g. 'foo') [$HOST]: " - default_read HOST `hostname` - fi +# if name is set, then we run non-interactively +if [ -n "$name" ] && ! valid_hostname "$name"; then + exit 1 +fi + +HOST="$name" +while [ -z "$name" ]; do + HOST=`hostname` + echon "Enter system hostname (short form, e.g. 'foo') [$HOST]: " + default_read HOST "$HOST" if valid_hostname "$HOST"; then break fi -- cgit v1.2.3