Merge pull request #81 from floatingatoll/argparse_fixes

Argparse fixes
This commit is contained in:
Julien Vehent 2015-09-18 09:35:42 -04:00
commit 0de6abab61
1 changed files with 18 additions and 11 deletions

View File

@ -1397,19 +1397,26 @@ fi
# echo parameters left: $@
TEMPTARGET=$(sed -e 's/^.* //'<<<"${@}")
HOST=$(sed -e 's/:.*//'<<<"${TEMPTARGET}")
PORT=$(sed -e 's/.*://'<<<"${TEMPTARGET}")
# Default to https if no port given
if [[ "$HOST" = "$PORT" ]]; then
PORT=443
if (( $# < 1 )); then
echo "The final argument must be a valid HOST[:PORT], but none was provided." 1>&2
exit 1
fi
debug "host: $HOST"
debug "Port: $PORT"
PARAMS=("$@")
TARGET=${PARAMS[-1]}
unset PARAMS[-1]
# Refuse to proceed if the hostname starts with a hyphen, since hostnames can't
# begin with a hyphen and this likely means we accidentally parsed an option as
# a hostname.
if [[ -z $TARGET || $TARGET =~ ^[-:] || $TARGET =~ :.*[^0-9] ]]; then
echo "The final argument '$TARGET' is not a valid HOST[:PORT]." 1>&2
exit 1
fi
if ! [[ $TARGET =~ : ]]; then
TARGET="${TARGET}:443"
fi
TARGET=$HOST:$PORT
debug "target: $TARGET"
# test our openssl is usable
@ -1455,7 +1462,7 @@ if [[ $VERBOSE != 0 ]] ; then
$OPENSSLBIN ciphers ALL 2>/dev/null
fi
SCLIENTARGS=$(sed -e s,${TEMPTARGET},,<<<"${@}")
SCLIENTARGS="${PARAMS[*]}"
debug "sclientargs: $SCLIENTARGS"