From: Hugo Landau Date: Wed, 3 May 2023 18:22:15 +0000 (+0100) Subject: QUIC APL: Allow DTLSv1 APIs to be used for compatibility X-Git-Tag: openssl-3.2.0-alpha1~743 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f90ea3daef94ab9806ae20eab1f37986d53eade;p=thirdparty%2Fopenssl.git 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) --- diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c index 8f319ec9773..d9ee5cf96e2 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);