#include <openssl/err.h>
#include <openssl/ssl.h>
#include <openssl/provider.h>
+#ifndef OPENSSL_NO_QUIC
+#include <openssl/quic.h>
+#endif
#include "helpers/handshake.h"
#include "helpers/ssl_test_ctx.h"
#ifndef OPENSSL_NO_DTLS
if (test_ctx->method == SSL_TEST_METHOD_DTLS) {
server_ctx = SSL_CTX_new_ex(libctx, NULL, DTLS_server_method());
- if (!TEST_true(SSL_CTX_set_max_proto_version(server_ctx, 0)))
+ if (!TEST_true(SSL_CTX_set_options(server_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION))
+ || !TEST_true(SSL_CTX_set_max_proto_version(server_ctx, 0)))
goto err;
if (test_ctx->extra.server.servername_callback !=
SSL_TEST_SERVERNAME_CB_NONE) {
if (!TEST_ptr(server2_ctx =
- SSL_CTX_new_ex(libctx, NULL, DTLS_server_method())))
+ SSL_CTX_new_ex(libctx, NULL, DTLS_server_method()))
+ || !TEST_true(SSL_CTX_set_options(server2_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION)))
goto err;
}
client_ctx = SSL_CTX_new_ex(libctx, NULL, DTLS_client_method());
if (test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RESUME) {
resume_server_ctx = SSL_CTX_new_ex(libctx, NULL,
DTLS_server_method());
- if (!TEST_true(SSL_CTX_set_max_proto_version(resume_server_ctx, 0)))
+ if (!TEST_true(SSL_CTX_set_max_proto_version(resume_server_ctx, 0))
+ || !TEST_true(SSL_CTX_set_options(resume_server_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION)))
goto err;
resume_client_ctx = SSL_CTX_new_ex(libctx, NULL,
DTLS_client_method());
#endif
server_ctx = SSL_CTX_new_ex(libctx, NULL, TLS_server_method());
- if (!TEST_true(SSL_CTX_set_max_proto_version(server_ctx, maxversion)))
+ if (!TEST_true(SSL_CTX_set_max_proto_version(server_ctx, maxversion))
+ || !TEST_true(SSL_CTX_set_options(server_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION)))
goto err;
/* SNI on resumption isn't supported/tested yet. */
if (test_ctx->extra.server.servername_callback !=
SSL_TEST_SERVERNAME_CB_NONE) {
if (!TEST_ptr(server2_ctx =
- SSL_CTX_new_ex(libctx, NULL, TLS_server_method())))
+ SSL_CTX_new_ex(libctx, NULL, TLS_server_method()))
+ || !TEST_true(SSL_CTX_set_options(server2_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION)))
goto err;
if (!TEST_true(SSL_CTX_set_max_proto_version(server2_ctx,
maxversion)))
resume_server_ctx = SSL_CTX_new_ex(libctx, NULL,
TLS_server_method());
if (!TEST_true(SSL_CTX_set_max_proto_version(resume_server_ctx,
- maxversion)))
+ maxversion))
+ || !TEST_true(SSL_CTX_set_options(resume_server_ctx,
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION)))
goto err;
resume_client_ctx = SSL_CTX_new_ex(libctx, NULL,
TLS_client_method());
goto err;
}
}
+#ifndef OPENSSL_NO_QUIC
+ if (test_ctx->method == SSL_TEST_METHOD_QUIC) {
+ server_ctx = SSL_CTX_new_ex(libctx, NULL, OSSL_QUIC_server_method());
+ if (test_ctx->extra.server.servername_callback !=
+ SSL_TEST_SERVERNAME_CB_NONE) {
+ if (!TEST_ptr(server2_ctx =
+ SSL_CTX_new_ex(libctx, NULL,
+ OSSL_QUIC_server_method())))
+ goto err;
+ }
+ client_ctx = SSL_CTX_new_ex(libctx, NULL, OSSL_QUIC_client_method());
+ if (test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RESUME) {
+ resume_server_ctx = SSL_CTX_new_ex(libctx, NULL,
+ OSSL_QUIC_server_method());
+ resume_client_ctx = SSL_CTX_new_ex(libctx, NULL,
+ OSSL_QUIC_client_method());
+ if (!TEST_ptr(resume_server_ctx)
+ || !TEST_ptr(resume_client_ctx))
+ goto err;
+ }
+ }
+#endif
#ifdef OPENSSL_NO_AUTOLOAD_CONFIG
if (!TEST_true(OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL)))