]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tlsfuzzer: use random port for tls-fuzzer-nocert test
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 26 Sep 2018 20:34:16 +0000 (23:34 +0300)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 26 Sep 2018 21:37:03 +0000 (00:37 +0300)
Like the rest of tls-fuzzer tests, pass "-p PORT" to subtests, allowing
usage of random port for server.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
tests/suite/tls-fuzzer/gnutls-nocert.json
tests/suite/tls-fuzzer/tls-fuzzer-nocert.sh

index 2dc7673ad0d4caeb8f2062f8d4744e8f8295b963..f059f3d7fae27da23919c397a5b7f207ce910773 100644 (file)
@@ -8,10 +8,14 @@
                  "--noticket",
                  "--priority=@PRIORITY@",
                  "--disable-client-cert", "--port=@PORT@"],
+     "server_hostname": "localhost",
+     "server_port": @PORT@,
      "tests" : [
-         {"name" : "test-fuzzed-plaintext.py"},
+         {"name" : "test-fuzzed-plaintext.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-large-hello.py",
           "arguments" : [
+          "-p", "@PORT@",
           "two ext, #80 61384 bytes",
           "two ext, #80 12276 bytes",
           "ciphers even 8199",
           "fragmented, padding ext 0 bytes",
           "fragmented, padding ext 65354 bytes",
           "fragmented, padding ext 16213 bytes"]},
-         {"name" : "test-ecdsa-sig-flexibility.py"},
+         {"name" : "test-ecdsa-sig-flexibility.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-ocsp-stapling.py",
-          "arguments" : ["--no-status"] },
+          "arguments" : ["-p", "@PORT@",
+                         "--no-status"] },
          {"name" : "test-encrypt-then-mac-renegotiation.py",
           "comment" : "we are not strict in EtM required behavior in renegotiation",
-          "arguments" : ["-e", "Encrypt-then-MAC renegotiation crash"]},
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "Encrypt-then-MAC renegotiation crash"]},
          {"name" : "test-x25519.py",
           "comment" : "x448 is not supported",
-          "arguments" : ["-e", "all zero x448 key share",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "all zero x448 key share",
           "-e", "empty x448 key share",
           "-e", "sanity - negotiate x448",
           "-e", "too big x448 key share",
           "-e", "x448 key share of \"1\""
           ]},
          {"name" : "test-cve-2016-7054.py",
-          "arguments" : ["-e", "sanity"]},
-         {"name" : "test-cve-2016-6309.py"},
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "sanity"]},
+         {"name" : "test-cve-2016-6309.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-invalid-server-name-extension.py",
           "comment" : "we don't parse past the first valid name, and we don't validate input received",
-          "arguments" : ["-e", "SNI name with UTF-8",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "SNI name with UTF-8",
           "-e", "multiple host_names in SNI, RFC 6066 compliance",
           "-e", "incorrect SNI"]},
          {"name" : "test-invalid-server-name-extension-resumption.py",
           "comment" : "we don't follow the RFC precisely on SNI resumption, we cache the SNI and ignore the extensions",
-          "arguments" : ["-e", "Sanity check, bad SNI",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "Sanity check, bad SNI",
           "-e", "session resume with different SNI",
           "-e", "session resume with malformed SNI"]},
-         {"name" : "test-chacha20.py"},
-         {"name" : "test-aes-gcm-nonces.py" },
-         {"name" : "test-atypical-padding.py" },
+         {"name" : "test-chacha20.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-aes-gcm-nonces.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-atypical-padding.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-bleichenbacher-workaround.py",
-          "arguments" : ["-n", "20"]
+          "arguments" : ["-p", "@PORT@",
+                         "-n", "20"]
          },
-         {"name" : "test-clienthello-md5.py"},
+         {"name" : "test-clienthello-md5.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-client-compatibility.py",
-          "arguments" : ["-e", "18: IE 6 on XP",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "18: IE 6 on XP",
                          "-e", "52: YandexBot 3.0 on unknown",
                          "-e", "100: IE 6 on XP"]},
-         {"name" : "test-conversation.py"},
+         {"name" : "test-conversation.py",
+          "arguments" : ["-p", "@PORT@"] },
         {"name" : "test-client-hello-max-size.py",
          "comment" : "FIXME: we fail with: Handshake buffer length is 131400 (max: 131072)",
-         "arguments" : ["-e", "max client hello"]},
-        {"name" : "test-atypical-padding.py" },
+         "arguments" : ["-p", "@PORT@",
+                         "-e", "max client hello"]},
+        {"name" : "test-atypical-padding.py",
+          "arguments" : ["-p", "@PORT@"] },
         {"name" : "test-ffdhe-negotiation.py" ,
          "comment" : ["we don't prefer DHE over RSA if RSA is preferred by peer"],
-         "arguments" : ["-e", "Check if DHE preferred"]},
-         {"name" : "test-cve-2016-2107.py"},
-         {"name" : "test-dhe-rsa-key-exchange.py"},
+         "arguments" : ["-p", "@PORT@",
+                         "-e", "Check if DHE preferred"]},
+         {"name" : "test-cve-2016-2107.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-dhe-rsa-key-exchange.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-dhe-rsa-key-exchange-signatures.py",
           "comment" : "gnutls no longer allows sha224",
-          "arguments" : ["-e", "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA sha224 signature",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA sha224 signature",
                          "-e", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 sha224 signature",
                          "-e", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA sha224 signature",
                          "-e", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 sha224 signature",
                          "-e", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA sha224 signature"]
          },
-         {"name" : "test-dhe-rsa-key-exchange-with-bad-messages.py"},
-         {"name" : "test-early-application-data.py"},
-         {"name" : "test-ecdhe-rsa-key-exchange.py"},
-         {"name" : "test-ecdhe-rsa-key-exchange-with-bad-messages.py"},
-         {"name" : "test-empty-extensions.py"},
-         {"name" : "test-export-ciphers-rejected.py"},
-         {"name" : "test-extensions.py"},
+         {"name" : "test-dhe-rsa-key-exchange-with-bad-messages.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-early-application-data.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-ecdhe-rsa-key-exchange.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-ecdhe-rsa-key-exchange-with-bad-messages.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-empty-extensions.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-export-ciphers-rejected.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-extensions.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-extended-master-secret-extension.py",
           "comment" : "gnutls does not allow switching from EMS to no EMS, and w/ECDHE test is incomplete",
-          "arguments" : ["-e", "renegotiate without EMS in session with EMS",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "renegotiate without EMS in session with EMS",
                          "-e", "EMS with session resume without extension"]},
          {"name" : "test-fallback-scsv.py",
-          "arguments" : ["--tls-1.3"]},
-         {"name" : "test-fuzzed-ciphertext.py"},
-         {"name" : "test-fuzzed-finished.py"},
-         {"name" : "test-fuzzed-MAC.py"},
-         {"name" : "test-fuzzed-padding.py"},
-         {"name" : "test-hello-request-by-client.py"},
+          "arguments" : ["-p", "@PORT@",
+                         "--tls-1.3"]},
+         {"name" : "test-fuzzed-ciphertext.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-fuzzed-finished.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-fuzzed-MAC.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-fuzzed-padding.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-hello-request-by-client.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-interleaved-application-data-and-fragmented-handshakes-in-renegotiation.py",
           "comment" : "gnutls doesn't support interleaved data with handshake",
           "exp_pass" : false},
          {"name" : "test-interleaved-application-data-in-renegotiation.py",
           "comment" : "gnutls doesn't support interleaved data with handshake",
           "exp_pass" : false},
-         {"name" : "test-invalid-cipher-suites.py"},
-         {"name" : "test-invalid-client-hello.py"},
-         {"name" : "test-invalid-client-hello-w-record-overflow.py"},
-         {"name" : "test-invalid-compression-methods.py"},
-         {"name" : "test-invalid-content-type.py"},
-         {"name" : "test-invalid-rsa-key-exchange-messages.py"},
-         {"name" : "test-invalid-session-id.py"},
-         {"name" : "test-invalid-version.py"},
-         {"name" : "test-large-number-of-extensions.py"},
-         {"name" : "test-message-duplication.py"},
-         {"name" : "test-message-skipping.py"},
+         {"name" : "test-invalid-cipher-suites.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-client-hello.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-client-hello-w-record-overflow.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-compression-methods.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-content-type.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-rsa-key-exchange-messages.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-session-id.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-invalid-version.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-large-number-of-extensions.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-message-duplication.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-message-skipping.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-ocsp-stapling.py",
           "comment" : "test requires OCSP setup",
-          "exp_pass" : false},
+          "exp_pass" : false,
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-openssl-3712.py",
           "comment" : "gnutls doesn't support interleaved data with handshake",
-          "exp_pass" : false},
+          "exp_pass" : false,
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-record-layer-fragmentation.py",
           "comment" : "These tests rely on fragmenting the first bytes of the handshake header. Gnutls is limited on that, and doesn't accept handshake header fragmentation.",
-          "arguments" : ["-e", "non fragmented, over fragmentation limit: 65535 fragment - 16332B extension",
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "non fragmented, over fragmentation limit: 65535 fragment - 16332B extension",
                          "-e", "small, maximum fragmentation: 1 fragment - 20B extension",
                          "-e", "medium, maximum fragmentation: 1 fragment - 1024B extension"]},
-         {"name" : "test-sessionID-resumption.py"},
-         {"name" : "test-sig-algs.py"
-         },
+         {"name" : "test-sessionID-resumption.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sig-algs.py",
+          "arguments" : ["-p", "@PORT@"] },
          {"name" : "test-signature-algorithms.py",
           "comment" : "gnutls doesn't tolerate that much",
-          "arguments" : ["-e", "tolerance max (32764) number of methods"]
+          "arguments" : ["-p", "@PORT@",
+                         "-e", "tolerance max (32764) number of methods"]
          },
-         {"name" : "test-sslv2-connection.py"},
-         {"name" : "test-sslv2-force-cipher-3des.py"},
-         {"name" : "test-sslv2-force-cipher-non3des.py"},
-         {"name" : "test-sslv2-force-cipher.py"},
-         {"name" : "test-sslv2-force-export-cipher.py"},
-         {"name" : "test-sslv2hello-protocol.py"},
-         {"name" : "test-TLSv1_2-rejected-without-TLSv1_2.py"},
-         {"name" : "test-truncating-of-client-hello.py" },
-         {"name" : "test-truncating-of-finished.py"},
-         {"name" : "test-truncating-of-kRSA-client-key-exchange.py"},
-         {"name" : "test-unsupported-curve-fallback.py"},
-         {"name" : "test-version-numbers.py"},
-         {"name" : "test-zero-length-data.py"}
+         {"name" : "test-sslv2-connection.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sslv2-force-cipher-3des.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sslv2-force-cipher-non3des.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sslv2-force-cipher.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sslv2-force-export-cipher.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-sslv2hello-protocol.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-TLSv1_2-rejected-without-TLSv1_2.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-truncating-of-client-hello.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-truncating-of-finished.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-truncating-of-kRSA-client-key-exchange.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-unsupported-curve-fallback.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-version-numbers.py",
+          "arguments" : ["-p", "@PORT@"] },
+         {"name" : "test-zero-length-data.py",
+          "arguments" : ["-p", "@PORT@"] }
      ]
     }
 ]
index f577f71249c9e109d2a1e5145a8a41bcc66baa76..c1175e0e74f542076d4ec43c23b4ad2bef54ff8d 100755 (executable)
@@ -27,11 +27,7 @@ TMPFILE=tls-fuzzer.$$.tmp
 
 . "${srcdir}/../scripts/common.sh"
 
-# We hard-code the port because of limitations in tlsfuzzer
-#eval "${GETPORT}"
-PORT=4433
-
-$LOCKFILE
+eval "${GETPORT}"
 
 pushd tls-fuzzer
 
@@ -69,5 +65,4 @@ rm -f ${TMPFILE}
 popd
 popd
 
-$UNLOCKFILE
 exit $retval