summaryrefslogtreecommitdiffstats
path: root/ssl/quic
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-08-10 19:29:27 +0100
committerHugo Landau <hlandau@openssl.org>2023-09-01 10:45:36 +0100
commit3760747ff452fcb3e29190e670073253c5b47d49 (patch)
tree92ba9c7122f68eeeff8d1e83dfcbab7f8684f0e8 /ssl/quic
parent277880e754c5a19cc456165560344204373a6b40 (diff)
Minor fixes
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21715)
Diffstat (limited to 'ssl/quic')
-rw-r--r--ssl/quic/quic_impl.c12
-rw-r--r--ssl/quic/quic_local.h3
2 files changed, 7 insertions, 8 deletions
diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c
index 49133f0ca7..839168040b 100644
--- a/ssl/quic/quic_impl.c
+++ b/ssl/quic/quic_impl.c
@@ -1565,15 +1565,13 @@ static int quic_do_handshake(QCTX *ctx)
if (!qc->started && !qc->addressing_probe_done) {
long rcaps = BIO_dgram_get_effective_caps(qc->net_rbio);
long wcaps = BIO_dgram_get_effective_caps(qc->net_wbio);
- int can_use_addressed =
- (wcaps & BIO_DGRAM_CAP_HANDLES_DST_ADDR) != 0
- && (rcaps & BIO_DGRAM_CAP_PROVIDES_SRC_ADDR) != 0;
- qc->addressed_mode = can_use_addressed;
- qc->addressing_probe_done = 1;
+ qc->addressed_mode_r = ((rcaps & BIO_DGRAM_CAP_PROVIDES_SRC_ADDR) != 0);
+ qc->addressed_mode_w = ((wcaps & BIO_DGRAM_CAP_HANDLES_DST_ADDR) != 0);
+ qc->addressing_probe_done = 1;
}
- if (!qc->started && qc->addressed_mode
+ if (!qc->started && qc->addressed_mode_w
&& BIO_ADDR_family(&qc->init_peer_addr) == AF_UNSPEC) {
/*
* We are trying to connect and are using addressed mode, which means we
@@ -1595,7 +1593,7 @@ static int quic_do_handshake(QCTX *ctx)
}
if (!qc->started
- && qc->addressed_mode
+ && qc->addressed_mode_w
&& BIO_ADDR_family(&qc->init_peer_addr) == AF_UNSPEC) {
/*
* If we still don't have a peer address in addressed mode, we can't do
diff --git a/ssl/quic/quic_local.h b/ssl/quic/quic_local.h
index aaaab128aa..f492dc656b 100644
--- a/ssl/quic/quic_local.h
+++ b/ssl/quic/quic_local.h
@@ -199,7 +199,8 @@ struct quic_conn_st {
unsigned int addressing_probe_done : 1;
/* Are we using addressed mode (BIO_sendmmsg with non-NULL peer)? */
- unsigned int addressed_mode : 1;
+ unsigned int addressed_mode_w : 1;
+ unsigned int addressed_mode_r : 1;
/* Default stream type. Defaults to SSL_DEFAULT_STREAM_MODE_AUTO_BIDI. */
uint32_t default_stream_mode;