diff --git a/testssl.sh b/testssl.sh index 085edd7..89cd7c3 100755 --- a/testssl.sh +++ b/testssl.sh @@ -134,7 +134,7 @@ TERM_CURRPOS=0 # custom line wrapping ne # following variables make use of $ENV, e.g. OPENSSL= ./testssl.sh # 0 means (normally) true here. Some of the variables are also accessible with a command line switch, see --help -declare -x OPENSSL +declare -x OPENSSL OPENSSL_TIMEOUT COLOR=${COLOR:-2} # 2: Full color, 1: b/w+positioning, 0: no ESC at all COLORBLIND=${COLORBLIND:-false} # if true, swap blue and green in the output SHOW_EACH_C=${SHOW_EACH_C:-false} # where individual ciphers are tested show just the positively ones tested @@ -7284,6 +7284,10 @@ find_openssl_binary() { grep -q '\-xmpp' $s_client_has && \ HAS_XMPP=true + if [[ "$OPENSSL_TIMEOUT" != "" ]]; then + OPENSSL="timeout --preserve-status $OPENSSL_TIMEOUT $OPENSSL" + fi + return 0 } @@ -7689,7 +7693,7 @@ parse_hn_port() { prepare_logging() { local fname_prefix="$1" - [[ -z "$fname_prefix" ]] && fname_prefix="$NODE" + [[ -z "$fname_prefix" ]] && fname_prefix="$NODE:$PORT" if "$do_logging"; then if [[ -z "$LOGFILE" ]]; then @@ -8654,6 +8658,10 @@ parse_cmd_line() { OPENSSL=$(parse_opt_equal_sign "$1" "$2") [[ $? -eq 0 ]] && shift ;; + --openssl-timeout|--openssl-timeout=*) + OPENSSL_TIMEOUT=$(parse_opt_equal_sign "$1" "$2") + [[ $? -eq 0 ]] && shift + ;; --mapping|--mapping=*) local cipher_mapping cipher_mapping=$(parse_opt_equal_sign "$1" "$2")