Commit a981006cc8 for openssl.org
commit a981006cc8ec94d6108639af57e47a435ab83bdb
Author: Matt Caswell <matt@openssl.foundation>
Date: Thu Aug 20 11:29:03 2026 +0100
Guard the QUIC poll test hook so no-quic builds compile
poll_translate() calls ossl_quic_poll_translate_test_step_cb, a test
instrumentation hook whose declaration and definition both sit inside
#ifndef OPENSSL_NO_QUIC. On master that is safe, because the whole of
poll_translate() is inside the same guard.
This branch widens that guard to
#if !defined(OPENSSL_NO_QUIC) || !defined(OPENSSL_NO_DTLS)
so that SSL_poll() works for DTLS, so poll_translate() is now also
compiled when QUIC is disabled. The hook call came along into the wider
region and does not compile there.
Guard the call itself. Configurations that disable QUIC, directly or by
cascade from no-tls1_3 or no-tls, then build again.
Assisted-by: Claude Code:claude-opus-5
Reviewed-by: Ryan Hooper <ryanh@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Merge-date: Fri Aug 21 18:10:41 2026
Merged-from: https://github.com/openssl/openssl/pull/32441
diff --git a/ssl/rio/poll_immediate.c b/ssl/rio/poll_immediate.c
index 18a47aab23..8298572833 100644
--- a/ssl/rio/poll_immediate.c
+++ b/ssl/rio/poll_immediate.c
@@ -470,9 +470,11 @@ static int poll_translate(SSL_POLL_ITEM *items,
for (i = 0; i < num_items; ++i) {
item = &ITEM_N(items, stride, i);
+#ifndef OPENSSL_NO_QUIC
if (ossl_quic_poll_translate_test_step_cb != NULL)
ossl_quic_poll_translate_test_step_cb(i,
ossl_quic_poll_translate_test_step_cb_arg);
+#endif
switch (item->desc.type) {
case BIO_POLL_DESCRIPTOR_TYPE_SSL: