Don't wait forever for jdwp response 83/87083/2
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 6 May 2019 21:27:08 +0000 (23:27 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 6 May 2019 21:37:41 +0000 (23:37 +0200)
Some of web services do not send any data when challenged with JDWP
challenge. This makes the script waiting forever for response.

To fix that let's introduce 10s timeout (experimental value) and
replace empty string with a new line to avoid bash warnings.

Issue-ID: SECCOM-231
Change-Id: I35546c001c5c54f298e8a4e346c2cf5d41e230ac
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
test/security/check_for_jdwp.sh

index 7bcbade..0facbff 100755 (executable)
@@ -47,7 +47,8 @@ do_jdwp_handshake() {
        local jdwp_challenge="JDWP-Handshake\n"
        local jdwp_response="JDWP-Handshake"
 
-       local response=`nc $ip $port <<<$jdwp_challenge`
+       # 10s timeout to avoid hangs when service doesn't answer at all
+       local response=`nc -w 10 $ip $port <<<$jdwp_challenge | tr '\0' '\n'`
        if [[ $response == *"$jdwp_response"* ]]; then
                return 0
        fi