/*
- * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.
*
- * Licensed under the OpenSSL license (the "License"). You may not use
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
#include <openssl/ssl.h>
#include <string.h>
-#include "ssltestlib.h"
+#include "helpers/ssltestlib.h"
#include "testutil.h"
-#include "../ssl/packet_locl.h"
+#include "internal/packet.h"
static char *cert = NULL;
static char *privkey = NULL;
static BIO_METHOD *method_watchccs = NULL;
-static const BIO_METHOD *bio_f_watchccs_filter()
+static const BIO_METHOD *bio_f_watchccs_filter(void)
{
if (method_watchccs == NULL) {
method_watchccs = BIO_meth_new(BIO_TYPE_WATCHCCS_FILTER,
"Watch CCS filter");
- if ( method_watchccs == NULL
+ if (method_watchccs == NULL
|| !BIO_meth_set_write(method_watchccs, watchccs_write)
|| !BIO_meth_set_read(method_watchccs, watchccs_read)
|| !BIO_meth_set_puts(method_watchccs, watchccs_puts)
return 0;
if (msgtype == SSL3_MT_CLIENT_HELLO) {
chseen++;
- expectedrecvers = TLS1_VERSION;
+
/*
* Skip legacy_version (2 bytes) and Random (32 bytes) to read
* session_id.
return 0;
if (chseen == 1) {
+ expectedrecvers = TLS1_VERSION;
+
/* Save the session id for later */
chsessidlen = PACKET_remaining(&sessionid);
if (!PACKET_copy_bytes(&sessionid, chsessid, chsessidlen))
} else {
badccs = 1;
}
- } else if(rectype == SSL3_RT_APPLICATION_DATA) {
+ } else if (rectype == SSL3_RT_APPLICATION_DATA) {
if (bio == s_to_c_fbio)
sappdataseen = 1;
else
sappdataseen = cappdataseen = badccs = badvers = badsessid = 0;
chsessidlen = 0;
- if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(),
- &sctx, &cctx, cert, privkey)))
+ if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(),
+ TLS_client_method(), TLS1_VERSION, 0,
+ &sctx, &cctx, cert, privkey))
+ || !TEST_true(SSL_CTX_set_max_early_data(sctx,
+ SSL3_RT_MAX_PLAIN_LENGTH)))
goto err;
/*
if ((tst >= 3 && tst <= 5) || tst >= 9) {
/* HRR handshake */
+#if defined(OPENSSL_NO_EC)
+# if !defined(OPENSSL_NO_DH)
+ if (!TEST_true(SSL_CTX_set1_groups_list(sctx, "ffdhe3072")))
+ goto err;
+# endif
+#else
if (!TEST_true(SSL_CTX_set1_groups_list(sctx, "P-256")))
goto err;
+#endif
}
s_to_c_fbio = BIO_new(bio_f_watchccs_filter());
return ret;
}
+OPT_TEST_DECLARE_USAGE("certfile privkeyfile\n")
+
int setup_tests(void)
{
+ if (!test_skip_common_options()) {
+ TEST_error("Error parsing test options\n");
+ return 0;
+ }
+
if (!TEST_ptr(cert = test_get_argument(0))
|| !TEST_ptr(privkey = test_get_argument(1)))
return 0;