From 3baa905e223f4d3616de758891259e622b0c1f74 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Tue, 4 Jan 2022 11:01:58 +0000 Subject: Pull key share group/length CBB code up from tls13_key_share_public() This provides better symmetry with the parsing code and will allow for better reuse with the legacy stack, which has different message structures. ok inoguchi@ tb@ --- src/lib/libssl/tls13_key_share.c | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) (limited to 'src/lib/libssl/tls13_key_share.c') diff --git a/src/lib/libssl/tls13_key_share.c b/src/lib/libssl/tls13_key_share.c index 0d1c091462..70f1b673f6 100644 --- a/src/lib/libssl/tls13_key_share.c +++ b/src/lib/libssl/tls13_key_share.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tls13_key_share.c,v 1.6 2020/04/18 14:07:56 jsing Exp $ */ +/* $OpenBSD: tls13_key_share.c,v 1.7 2022/01/04 11:01:58 jsing Exp $ */ /* * Copyright (c) 2020 Joel Sing * @@ -187,28 +187,10 @@ tls13_key_share_public_x25519(struct tls13_key_share *ks, CBB *cbb) int tls13_key_share_public(struct tls13_key_share *ks, CBB *cbb) { - CBB key_exchange; - - if (!CBB_add_u16(cbb, ks->group_id)) - goto err; - if (!CBB_add_u16_length_prefixed(cbb, &key_exchange)) - goto err; - - if (ks->nid == NID_X25519) { - if (!tls13_key_share_public_x25519(ks, &key_exchange)) - goto err; - } else { - if (!tls13_key_share_public_ecdhe_ecp(ks, &key_exchange)) - goto err; - } - - if (!CBB_flush(cbb)) - goto err; - - return 1; + if (ks->nid == NID_X25519) + return tls13_key_share_public_x25519(ks, cbb); - err: - return 0; + return tls13_key_share_public_ecdhe_ecp(ks, cbb); } static int -- cgit v1.2.3-55-g6feb