summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/ssltestlib.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/ssltestlib.c b/test/ssltestlib.c
index 57039e77a9..1981cb5696 100644
--- a/test/ssltestlib.c
+++ b/test/ssltestlib.c
@@ -645,6 +645,8 @@ int create_ssl_connection(SSL *serverssl, SSL *clientssl)
{
int retc = -1, rets = -1, err, abortctr = 0;
int clienterr = 0, servererr = 0;
+ unsigned char buf;
+ size_t readbytes;
do {
err = SSL_ERROR_WANT_WRITE;
@@ -678,5 +680,20 @@ int create_ssl_connection(SSL *serverssl, SSL *clientssl)
}
} while (retc <=0 || rets <= 0);
+ /*
+ * We attempt to read some data on the client side which we expect to fail.
+ * This will ensure we have received the NewSessionTicket in TLSv1.3 where
+ * appropriate.
+ */
+ if (SSL_read_ex(clientssl, &buf, sizeof(buf), &readbytes) > 0) {
+ if (readbytes != 0) {
+ printf("Unexpected success reading data %"OSSLzu"\n", readbytes);
+ return 0;
+ }
+ } else if (SSL_get_error(clientssl, 0) != SSL_ERROR_WANT_READ) {
+ printf("SSL_read_ex() failed\n");
+ return 0;
+ }
+
return 1;
}