diff --git a/doc/man3/SSL_clear.pod b/doc/man3/SSL_clear.pod index f5fc6e68ed..c4d2fa34c8 100644 --- a/doc/man3/SSL_clear.pod +++ b/doc/man3/SSL_clear.pod @@ -34,6 +34,8 @@ server method, even if TLS_*_methods were chosen on startup. This will might lead to connection failures (see L) for a description of the method's properties. +This function is not supported on QUIC SSL objects. + =head1 WARNINGS SSL_clear() resets the SSL object to allow for another connection. The diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c index 07f759522a..1a09d82c5c 100644 --- a/ssl/quic/quic_impl.c +++ b/ssl/quic/quic_impl.c @@ -493,7 +493,7 @@ void ossl_quic_deinit(SSL *s) /* No-op. */ } -/* SSL_reset */ +/* SSL_clear (ssl_reset method) */ int ossl_quic_reset(SSL *s) { QCTX ctx; @@ -501,11 +501,11 @@ int ossl_quic_reset(SSL *s) if (!expect_quic(s, &ctx)) return 0; - /* TODO(QUIC); Currently a no-op. */ - return 1; + /* Not supported. */ + return 0; } -/* SSL_clear */ +/* ssl_clear method (unused) */ int ossl_quic_clear(SSL *s) { QCTX ctx; diff --git a/test/quicapitest.c b/test/quicapitest.c index 55f4bf006b..78f13cf694 100644 --- a/test/quicapitest.c +++ b/test/quicapitest.c @@ -518,6 +518,10 @@ static int test_quic_forbidden_options(void) if (!TEST_ptr_null(SSL_dup(ssl))) goto err; + /* No clear */ + if (!TEST_false(SSL_clear(ssl))) + goto err; + testresult = 1; err: SSL_free(ssl);