Skip to content

Commit a05e697

Browse files
committed
UI improvements IPv6
* IPv6 addresses which won't be scanned will be put in round brackets to feedback th UI * logic bug fixed which always said "Testing all IPv4 addresses (port $PORT):". Simplyfied the MULTIPLE_CHECKS output
1 parent d0505e5 commit a05e697

1 file changed

Lines changed: 34 additions & 37 deletions

File tree

testssl.sh

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22305,7 +22305,6 @@ shouldwedo_ipv6() {
2230522305
local i=0
2230622306

2230722307
"$do_ipv4_only" && return 0
22308-
2230922308
while true; do
2231022309
bash -c "exec 5<>/dev/tcp/$1/$PORT" &>/dev/null
2231122310
if [[ $? -eq 0 ]]; then
@@ -22316,7 +22315,6 @@ shouldwedo_ipv6() {
2231622315
((i++))
2231722316
[[ $i -ge $MAX_SOCKET_FAIL ]] && break
2231822317
done
22319-
2232022318
if ! "$IPv6_OK"; then
2232122319
if "$do_ipv6_only"; then
2232222320
connectivity_problem $i $MAX_SOCKET_FAIL "IPv6 connect problem" "repeated IPv6 connect problems when IPv6-only scan requested"
@@ -22404,7 +22402,13 @@ determine_ip_addresses() {
2240422402
[[ -z $IPADDRs2CHECK ]] && IPADDRs2CHECK="${addr}" || IPADDRs2CHECK="${IPADDRs2CHECK} ${addr}"
2240522403
done
2240622404
fi
22407-
22405+
# If scanning IPV6 doesn't work, put the address to show in round brackets to
22406+
# signal the user / UI that those won't be scanned. We don't do that for IPv4, yet
22407+
for addr in $IPADDRs2SHOW; do
22408+
if is_ipv6addr $addr && ! "$IPv6_OK" ; then
22409+
IPADDRs2SHOW=${IPADDRs2SHOW/$addr/($addr)}
22410+
fi
22411+
done
2240822412
return 0
2240922413
}
2241022414

@@ -23324,22 +23328,19 @@ run_mx_all_ips() {
2332423328
determine_ip_addresses || continue
2332523329
if [[ $(count_words "$IPADDRs2CHECK") -gt 1 ]]; then # we have more than one ipv4 address to check
2332623330
MULTIPLE_CHECKS=true
23327-
if [[ "$do_ipv4_only" ]]; then
23328-
pr_bold "Testing all IPv4 addresses (port $PORT): "
23329-
elif [[ "$do_ipv6_only" ]]; then
23330-
pr_bold "Testing all IPv6 addresses (port $PORT): "
23331-
else
23332-
pr_bold "Testing all IP addresses (port $PORT): "
23333-
fi
23334-
outln "$IPADDRs2CHECK"
23335-
for ip in $IPADDRs2CHECK; do
23336-
NODEIP="$ip"
23337-
lets_roll "${STARTTLS_PROTOCOL}"
23338-
done
23331+
fi
23332+
if "$do_ipv4_only"; then
23333+
pr_bold "Testing all IPv4 addresses (port $PORT): "
23334+
elif "$do_ipv6_only"; then
23335+
pr_bold "Testing all IPv6 addresses (port $PORT): "
2333923336
else
23337+
pr_bold "Testing all IP addresses (port $PORT): "
23338+
fi
23339+
outln "$IPADDRs2CHECK"
23340+
for ip in $IPADDRs2CHECK; do
2334023341
NODEIP="$ip"
2334123342
lets_roll "${STARTTLS_PROTOCOL}"
23342-
fi
23343+
done
2334323344
ret=$(($? + ret))
2334423345
done
2334523346
draw_line "-" $((TERM_WIDTH * 2 / 3))
@@ -25270,31 +25271,27 @@ lets_roll() {
2527025271
RET=$?
2527125272
else
2527225273
determine_ip_addresses
25273-
if [[ $(count_words "$IPADDRs2CHECK") -gt 1 ]]; then # we have more than one ipv4 address to check
25274+
if [[ $(count_words "$IPADDRs2CHECK") -gt 1 ]]; then
2527425275
MULTIPLE_CHECKS=true
25275-
if [[ "$do_ipv4_only" ]]; then
25276-
pr_bold "Testing all IPv4 addresses (port $PORT): "
25277-
elif [[ "$do_ipv6_only" ]]; then
25278-
pr_bold "Testing all IPv6 addresses (port $PORT): "
25279-
else
25280-
pr_bold "Testing all IP addresses (port $PORT): "
25281-
fi
25282-
outln "$IPADDRs2CHECK"
25283-
for ip in $IPADDRs2CHECK; do
25284-
draw_line "-" $((TERM_WIDTH * 2 / 3))
25285-
outln
25286-
NODEIP="$ip"
25287-
lets_roll "${STARTTLS_PROTOCOL}"
25288-
RET=$((RET + $?)) # RET value per IP address
25289-
done
25276+
fi
25277+
if "$do_ipv4_only"; then
25278+
pr_bold "Testing all IPv4 addresses (port $PORT): "
25279+
elif "$do_ipv6_only"; then
25280+
pr_bold "Testing all IPv6 addresses (port $PORT): "
25281+
else
25282+
pr_bold "Testing all IP addresses (port $PORT): "
25283+
fi
25284+
outln "$IPADDRs2CHECK"
25285+
for ip in $IPADDRs2CHECK; do
2529025286
draw_line "-" $((TERM_WIDTH * 2 / 3))
2529125287
outln
25292-
pr_bold "Done testing now all IP addresses (on port $PORT): "; outln "$IPADDRs2CHECK"
25293-
else # Just 1x ip4v to check, applies also if CMDLINE_IP was supplied
25294-
NODEIP="$IPADDRs2CHECK"
25288+
NODEIP="$ip"
2529525289
lets_roll "${STARTTLS_PROTOCOL}"
25296-
RET=$?
25297-
fi
25290+
RET=$((RET + $?)) # RET value per IP address
25291+
done
25292+
draw_line "-" $((TERM_WIDTH * 2 / 3))
25293+
outln
25294+
pr_bold "Done testing now all IP addresses (on port $PORT): "; outln "$IPADDRs2CHECK"
2529825295
fi
2529925296

2530025297
exit $RET

0 commit comments

Comments
 (0)