summaryrefslogtreecommitdiff
path: root/tests/suite/tls-fuzzer
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-06-08 13:13:27 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2018-06-12 13:01:17 +0000
commit6376d09c76b3984fc2a98f13d2ad0e374cc458ce (patch)
tree665ee32f9923ee5f7c7ac7417a3ae3f7aa1aa029 /tests/suite/tls-fuzzer
parent03968481e0bf9e6ad2b657bb82f23f3cf0e02135 (diff)
downloadgnutls-6376d09c76b3984fc2a98f13d2ad0e374cc458ce.tar.gz
tlsfuzzer: update to the latest version
Also enable the TLS 1.3 tests. Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'tests/suite/tls-fuzzer')
-rw-r--r--tests/suite/tls-fuzzer/gnutls-nocert-tls13.json26
m---------tests/suite/tls-fuzzer/python-ecdsa0
-rwxr-xr-xtests/suite/tls-fuzzer/tls-fuzzer-nocert-tls13.sh68
m---------tests/suite/tls-fuzzer/tlsfuzzer0
m---------tests/suite/tls-fuzzer/tlslite-ng0
5 files changed, 94 insertions, 0 deletions
diff --git a/tests/suite/tls-fuzzer/gnutls-nocert-tls13.json b/tests/suite/tls-fuzzer/gnutls-nocert-tls13.json
new file mode 100644
index 0000000000..c060080139
--- /dev/null
+++ b/tests/suite/tls-fuzzer/gnutls-nocert-tls13.json
@@ -0,0 +1,26 @@
+[
+ {"server_command": ["@SERVER@", "--http",
+ "--x509keyfile", "tests/serverX509Key.pem",
+ "--x509certfile", "tests/serverX509Cert.pem",
+ "--x509keyfile", "../../../certs/ecc256.pem",
+ "--x509certfile", "../../../certs/cert-ecc256.pem",
+ "--debug=3",
+ "--priority=@PRIORITY@",
+ "--disable-client-cert", "--port=@PORT@"],
+ "tests" : [
+ {"name" : "test-tls13-conversation.py"},
+ {"name" : "test-tls13-empty-alert.py"},
+ {"name" : "test-tls13-legacy-version.py"},
+ {"name" : "test-tls13-nociphers.py"},
+ {"name" : "test-tls13-pkcs-signature.py"},
+ {"name" : "test-tls13-record-padding.py"},
+ {"name" : "test-tls13-signature-algorithms.py"},
+ {"name" : "test-tls13-version-negotiation.py"},
+ {"name" : "test-tls13-zero-length-data.py",
+ "comment" : "in these tests tlsfuzzer splits ClientHello into the first 2 bytes and the remainder, which gnutls doesn't support",
+ "arguments": ["-e", "zero-length app data interleaved in handshake",
+ "-e", "zero-len app data with padding interleaved in handshake",
+ "-e", "zero-len app data with large padding interleaved in handshake"]}
+ ]
+ }
+]
diff --git a/tests/suite/tls-fuzzer/python-ecdsa b/tests/suite/tls-fuzzer/python-ecdsa
-Subproject c877639b55fa0651ecbbcc8b0d01627d25e5e8c
+Subproject ffe9a61390c76ff6f6636e29f26b45c900535aa
diff --git a/tests/suite/tls-fuzzer/tls-fuzzer-nocert-tls13.sh b/tests/suite/tls-fuzzer/tls-fuzzer-nocert-tls13.sh
new file mode 100755
index 0000000000..d853a34665
--- /dev/null
+++ b/tests/suite/tls-fuzzer/tls-fuzzer-nocert-tls13.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+# Copyright (C) 2016-2017 Red Hat, Inc.
+#
+# This file is part of GnuTLS.
+#
+# GnuTLS is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GnuTLS is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GnuTLS; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+srcdir="${srcdir:-.}"
+SERV="../../../../src/gnutls-serv${EXEEXT}"
+CLI="../../../../src/gnutls-cli${EXEEXT}"
+
+OUTFILE=tls-fuzzer.debug.log
+TMPFILE=tls-fuzzer.$$.tmp
+
+. "${srcdir}/../scripts/common.sh"
+
+# We hard-code the port because of limitations in tlsfuzzer
+#eval "${GETPORT}"
+PORT=4433
+
+$LOCKFILE
+
+pushd tls-fuzzer
+
+if ! test -d tlsfuzzer;then
+ exit 77
+fi
+
+rm -f "$OUTFILE"
+
+pushd tlsfuzzer
+test -L ecdsa || ln -s ../python-ecdsa/src/ecdsa ecdsa
+test -L tlslite || ln -s ../tlslite-ng/tlslite tlslite 2>/dev/null
+
+wait_for_free_port $PORT
+
+retval=0
+
+PRIORITY="NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1"
+
+TLS_PY=./tlslite-ng/scripts/tls.py
+#TLS_PY=$(which tls.py)
+
+sed -e "s|@SERVER@|$SERV|g" -e "s/@PORT@/$PORT/g" -e "s/@PRIORITY@/$PRIORITY/g" ../gnutls-nocert-tls13.json >${TMPFILE}
+
+PYTHONPATH=. python tests/scripts_retention.py ${TMPFILE} ${SERV}
+retval=$?
+
+rm -f ${TMPFILE}
+
+popd
+popd
+
+$UNLOCKFILE
+exit $retval
diff --git a/tests/suite/tls-fuzzer/tlsfuzzer b/tests/suite/tls-fuzzer/tlsfuzzer
-Subproject ff3ab5e356e413bba5845deecdfe105dd207a9a
+Subproject 4d3c5249f8afeb8433beb1b7978f957bea80fe0
diff --git a/tests/suite/tls-fuzzer/tlslite-ng b/tests/suite/tls-fuzzer/tlslite-ng
-Subproject 57d97d290043c6e1ef730e89b57c11937898667
+Subproject 2b9c15f697e465e117ff57b89f3ea1537de722e