sync with OpenBSD -current

This commit is contained in:
purplerain 2024-09-03 18:50:36 +00:00
parent 676afb990b
commit 39bad15604
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
65 changed files with 14096 additions and 1714 deletions

View file

@ -1,4 +1,4 @@
/* $OpenBSD: kexgen.c,v 1.8 2021/12/19 22:08:06 djm Exp $ */
/* $OpenBSD: kexgen.c,v 1.9 2024/09/02 12:13:56 djm Exp $ */
/*
* Copyright (c) 2019 Markus Friedl. All rights reserved.
*
@ -117,6 +117,11 @@ kex_gen_client(struct ssh *ssh)
case KEX_KEM_SNTRUP761X25519_SHA512:
r = kex_kem_sntrup761x25519_keypair(kex);
break;
#ifdef WITH_MLKEM
case KEX_KEM_MLKEM768X25519_SHA256:
r = kex_kem_mlkem768x25519_keypair(kex);
break;
#endif
default:
r = SSH_ERR_INVALID_ARGUMENT;
break;
@ -189,6 +194,12 @@ input_kex_gen_reply(int type, u_int32_t seq, struct ssh *ssh)
r = kex_kem_sntrup761x25519_dec(kex, server_blob,
&shared_secret);
break;
#ifdef WITH_MLKEM
case KEX_KEM_MLKEM768X25519_SHA256:
r = kex_kem_mlkem768x25519_dec(kex, server_blob,
&shared_secret);
break;
#endif
default:
r = SSH_ERR_INVALID_ARGUMENT;
break;
@ -240,6 +251,8 @@ out:
explicit_bzero(kex->c25519_client_key, sizeof(kex->c25519_client_key));
explicit_bzero(kex->sntrup761_client_key,
sizeof(kex->sntrup761_client_key));
explicit_bzero(kex->mlkem768_client_key,
sizeof(kex->mlkem768_client_key));
sshbuf_free(server_host_key_blob);
free(signature);
sshbuf_free(tmp);
@ -307,6 +320,12 @@ input_kex_gen_init(int type, u_int32_t seq, struct ssh *ssh)
r = kex_kem_sntrup761x25519_enc(kex, client_pubkey,
&server_pubkey, &shared_secret);
break;
#ifdef WITH_MLKEM
case KEX_KEM_MLKEM768X25519_SHA256:
r = kex_kem_mlkem768x25519_enc(kex, client_pubkey,
&server_pubkey, &shared_secret);
break;
#endif
default:
r = SSH_ERR_INVALID_ARGUMENT;
break;