diff --git a/doc/testssl.1 b/doc/testssl.1 index 532b90b..ac47cad 100644 --- a/doc/testssl.1 +++ b/doc/testssl.1 @@ -412,7 +412,7 @@ whole 9 yards \fB\-\-append\fR Normally, if an output file already exists and it has a file size greater zero, testssl\.sh will prompt you to manually remove the file exit with an error\. \fB\-\-append\fR however will append to this file, without a header\. The environment variable APPEND does the same\. Be careful using this switch/variable\. A complementary option which overwrites an existing file doesn\'t exist per design\. . .P -\fB\-\-outprefix \fR Prepend output filename prefix \fIfname_prefix\fR before \'\e${NODE}\.\'\. You can use as well the environment variable FNAME_PREFIX\. Using this any output files will be named \fB\.${NODE}\-p${port}${YYYYMMDD\-HHMM}\.\fR when no file name of the respective output option was specified\. +\fB\-\-outprefix \fR Prepend output filename prefix \fIfname_prefix\fR before \'\e${NODE}\-\'\. You can use as well the environment variable FNAME_PREFIX\. Using this any output files will be named \fB\-${NODE}\-p${port}${YYYYMMDD\-HHMM}\.\fR when no file name of the respective output option was specified\. If you do not like the separator \'\-\' you can as well supply a \fB\fR ending in \'\.\', \'_\' or \',\'\. In this case or if you already supplied \'\-\' no additional \'\-\' will be appended to \fB\fR\. . .P A few file output options can also be preset via environment variables\. diff --git a/doc/testssl.1.html b/doc/testssl.1.html index 1ee87d5..cf38f32 100644 --- a/doc/testssl.1.html +++ b/doc/testssl.1.html @@ -394,7 +394,7 @@ The same can be achieved by setting the environment variable WARNINGS--append Normally, if an output file already exists and it has a file size greater zero, testssl.sh will prompt you to manually remove the file exit with an error. --append however will append to this file, without a header. The environment variable APPEND does the same. Be careful using this switch/variable. A complementary option which overwrites an existing file doesn't exist per design.

-

--outprefix <fname_prefix> Prepend output filename prefix fname_prefix before '\${NODE}.'. You can use as well the environment variable FNAME_PREFIX. Using this any output files will be named <fname_prefix>.${NODE}-p${port}${YYYYMMDD-HHMM}.<format> when no file name of the respective output option was specified.

+

--outprefix <fname_prefix> Prepend output filename prefix fname_prefix before '\${NODE}-'. You can use as well the environment variable FNAME_PREFIX. Using this any output files will be named <fname_prefix>-${NODE}-p${port}${YYYYMMDD-HHMM}.<format> when no file name of the respective output option was specified. If you do not like the separator '-' you can as well supply a <fname_prefix> ending in '.', '_' or ','. In this case or if you already supplied '-' no additional '-' will be appended to <fname_prefix>.

A few file output options can also be preset via environment variables.

diff --git a/doc/testssl.1.md b/doc/testssl.1.md index 14c3367..b362d54 100644 --- a/doc/testssl.1.md +++ b/doc/testssl.1.md @@ -316,7 +316,7 @@ The same can be achieved by setting the environment variable `WARNINGS`. `--append` Normally, if an output file already exists and it has a file size greater zero, testssl.sh will prompt you to manually remove the file exit with an error. `--append` however will append to this file, without a header. The environment variable APPEND does the same. Be careful using this switch/variable. A complementary option which overwrites an existing file doesn't exist per design. -`--outprefix ` Prepend output filename prefix before '\${NODE}.'. You can use as well the environment variable FNAME_PREFIX. Using this any output files will be named `.${NODE}-p${port}${YYYYMMDD-HHMM}.` when no file name of the respective output option was specified. +`--outprefix ` Prepend output filename prefix before '\${NODE}-'. You can use as well the environment variable FNAME_PREFIX. Using this any output files will be named `-${NODE}-p${port}${YYYYMMDD-HHMM}.` when no file name of the respective output option was specified. If you do not like the separator '-' you can as well supply a `` ending in '.', '_' or ','. In this case or if you already supplied '-' no additional '-' will be appended to ``. A few file output options can also be preset via environment variables. diff --git a/testssl.sh b/testssl.sh index 4714c89..6e885b6 100755 --- a/testssl.sh +++ b/testssl.sh @@ -343,9 +343,9 @@ IP46ADDRs="" LOCAL_A=false # Does the $NODEIP come from /etc/hosts? LOCAL_AAAA=false # Does the IPv6 IP come from /etc/hosts? XMPP_HOST="" -PROXY="" -PROXYIP="" -PROXYPORT="" +PROXYIP="" # $PROXYIP:$PROXPORT is your proxy if --proxy is defined ... +PROXYPORT="" # ... and openssl has proxy support +PROXY="" # Once check_proxy() executed it contains $PROXYIP:$PROXPORT VULN_COUNT=0 SERVICE="" # Is the server running an HTTP server, SMTP, POP or IMAP? URI="" @@ -1080,6 +1080,10 @@ else tolower() { echo -n "${1,,}"; } fi +get_last_char() { + echo "${1:~0}" # "${string: -1}" would work too (both also in bash 3.2) +} + # Checking for last char. If already a separator supplied, we don't need an additional one debugme() { [[ "$DEBUG" -ge 2 ]] && "$@" return 0 @@ -16174,9 +16178,10 @@ check_proxy() { if ! "$HAS_PROXY"; then fatal "Your $OPENSSL is too old to support the \"-proxy\" option" $ERR_OSSLBIN fi - if [[ "$PROXY" == "auto" ]]; then - # get $ENV (https_proxy is the one we care about) + if [[ "$PROXY" == auto ]]; then + # Get $ENV https_proxy is the one we care about for connects PROXY="${https_proxy#*\/\/}" + # Fallback: [[ -z "$PROXY" ]] && PROXY="${http_proxy#*\/\/}" [[ -z "$PROXY" ]] && fatal "you specified \"--proxy=auto\" but \"\$http(s)_proxy\" is empty" $ERR_CMDLINE fi @@ -17475,7 +17480,15 @@ parse_cmd_line() { ;; --outprefix) FNAME_PREFIX="$(parse_opt_equal_sign "$1" "$2")" - [[ $? -eq 0 ]] && shift && FNAME_PREFIX="${FNAME_PREFIX}." + if [[ $? -eq 0 ]]; then + shift + case "$(get_last_char "$FNAME_PREFIX")" in + '.') ;; + '-') ;; + '_') ;; + *) FNAME_PREFIX="${FNAME_PREFIX}-" ;; + esac + fi ;; --openssl|--openssl=*) OPENSSL="$(parse_opt_equal_sign "$1" "$2")"