BIO_ssl: Make helper functions configure BIOs for QUIC correctly

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21715)
This commit is contained in:
Hugo Landau 2023-08-09 17:46:32 +01:00
parent 2e1760118b
commit 573f16c997

View File

@ -438,6 +438,12 @@ BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
#ifndef OPENSSL_NO_SOCK
BIO *ret = NULL, *buf = NULL, *ssl = NULL;
# ifndef OPENSSL_NO_QUIC
if (ctx != NULL && IS_QUIC_CTX(ctx))
/* Never use buffering for QUIC. */
return BIO_new_ssl_connect(ctx);
# endif
if ((buf = BIO_new(BIO_f_buffer())) == NULL)
return NULL;
if ((ssl = BIO_new_ssl_connect(ctx)) == NULL)
@ -459,6 +465,13 @@ BIO *BIO_new_ssl_connect(SSL_CTX *ctx)
if ((con = BIO_new(BIO_s_connect())) == NULL)
return NULL;
# ifndef OPENSSL_NO_QUIC
if (ctx != NULL && IS_QUIC_CTX(ctx))
if (!BIO_set_sock_type(con, SOCK_DGRAM))
goto err;
#endif
if ((ssl = BIO_new_ssl(ctx, 1)) == NULL)
goto err;
if ((ret = BIO_push(ssl, con)) == NULL)