From 2f90ea3daef94ab9806ae20eab1f37986d53eade Mon Sep 17 00:00:00 2001 From: Hugo Landau Date: Wed, 3 May 2023 19:22:15 +0100 Subject: QUIC APL: Allow DTLSv1 APIs to be used for compatibility Reviewed-by: Matt Caswell Reviewed-by: Tim Hudson Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/20879) --- ssl/quic/quic_impl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ssl') diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c index 8f319ec977..d9ee5cf96e 100644 --- a/ssl/quic/quic_impl.c +++ b/ssl/quic/quic_impl.c @@ -1057,6 +1057,18 @@ long ossl_quic_ctrl(SSL *s, int cmd, long larg, void *parg) /* This ctrl also needs to be passed to the internal SSL object */ return SSL_ctrl(ctx.qc->tls, cmd, larg, parg); + case DTLS_CTRL_GET_TIMEOUT: /* DTLSv1_get_timeout */ + { + int is_infinite; + + if (!ossl_quic_get_event_timeout(s, parg, &is_infinite)) + return 0; + + return !is_infinite; + } + case DTLS_CTRL_HANDLE_TIMEOUT: /* DTLSv1_handle_timeout */ + /* For legacy compatibility with DTLS calls. */ + return ossl_quic_handle_events(s) == 1 ? 1 : -1; default: /* Probably a TLS related ctrl. Defer to our internal SSL object */ return SSL_ctrl(ctx.qc->tls, cmd, larg, parg); -- cgit v1.2.3