diff options
Diffstat (limited to 'src/lib/libssl/tls13_client.c')
| -rw-r--r-- | src/lib/libssl/tls13_client.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 901b38f860..21d3960796 100644 --- a/src/lib/libssl/tls13_client.c +++ b/src/lib/libssl/tls13_client.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_client.c,v 1.104 2024/07/22 14:47:15 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.106 2025/12/04 21:16:17 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -53,9 +53,21 @@ tls13_client_init(struct tls13_ctx *ctx) | |||
| 53 | return 0; | 53 | return 0; |
| 54 | if ((ctx->hs->key_share = tls_key_share_new(groups[0])) == NULL) | 54 | if ((ctx->hs->key_share = tls_key_share_new(groups[0])) == NULL) |
| 55 | return 0; | 55 | return 0; |
| 56 | if (!tls_key_share_generate(ctx->hs->key_share)) | 56 | if (!tls_key_share_client_generate(ctx->hs->key_share)) |
| 57 | return 0; | 57 | return 0; |
| 58 | 58 | ||
| 59 | /* | ||
| 60 | * Generate a second key share prediction if we have another | ||
| 61 | * supported group | ||
| 62 | */ | ||
| 63 | if (groups_len > 1) { | ||
| 64 | if ((ctx->hs->tls13.key_share = tls_key_share_new(groups[1])) == | ||
| 65 | NULL) | ||
| 66 | return 0; | ||
| 67 | if (!tls_key_share_client_generate(ctx->hs->tls13.key_share)) | ||
| 68 | return 0; | ||
| 69 | } | ||
| 70 | |||
| 59 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); | 71 | arc4random_buf(s->s3->client_random, SSL3_RANDOM_SIZE); |
| 60 | 72 | ||
| 61 | /* | 73 | /* |
| @@ -450,7 +462,7 @@ tls13_client_hello_retry_send(struct tls13_ctx *ctx, CBB *cbb) | |||
| 450 | if ((ctx->hs->key_share = | 462 | if ((ctx->hs->key_share = |
| 451 | tls_key_share_new(ctx->hs->tls13.server_group)) == NULL) | 463 | tls_key_share_new(ctx->hs->tls13.server_group)) == NULL) |
| 452 | return 0; | 464 | return 0; |
| 453 | if (!tls_key_share_generate(ctx->hs->key_share)) | 465 | if (!tls_key_share_client_generate(ctx->hs->key_share)) |
| 454 | return 0; | 466 | return 0; |
| 455 | 467 | ||
| 456 | if (!tls13_client_hello_build(ctx, cbb)) | 468 | if (!tls13_client_hello_build(ctx, cbb)) |
