upstream: Unit test for kex_proposal_populate_entries.

OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006
This commit is contained in:
dtucker@openbsd.org 2023-03-06 12:15:47 +00:00 committed by Darren Tucker
parent 3f9231c2e1
commit 03acc50d0c
No known key found for this signature in database
2 changed files with 44 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: test_proposal.c,v 1.1 2023/02/02 12:12:52 djm Exp $ */
/* $OpenBSD: test_proposal.c,v 1.2 2023/03/06 12:15:47 dtucker Exp $ */
/*
* Regress test KEX
*
@ -81,3 +81,41 @@ kex_proposal(void)
}
TEST_DONE();
}
void
kex_proposal_populate_tests(void)
{
char *prop[PROPOSAL_MAX], *kexalgs, *ciphers, *macs, *hkalgs;
const char *comp = compression_alg_list(0);
int i;
struct ssh ssh;
struct kex kex;
kexalgs = kex_alg_list(',');
ciphers = cipher_alg_list(',', 0);
macs = mac_alg_list(',');
hkalgs = kex_alg_list(',');
ssh.kex = &kex;
TEST_START("compat_kex_proposal_populate");
for (i = 0; i <= 1; i++) {
kex.server = i;
for (ssh.compat = 0; ssh.compat < 0x40000000; ) {
kex_proposal_populate_entries(&ssh, prop, NULL, NULL,
NULL, NULL, NULL);
kex_proposal_free_entries(prop);
kex_proposal_populate_entries(&ssh, prop, kexalgs,
ciphers, macs, hkalgs, comp);
kex_proposal_free_entries(prop);
if (ssh.compat == 0)
ssh.compat = 1;
else
ssh.compat <<= 1;
}
}
free(kexalgs);
free(ciphers);
free(macs);
free(hkalgs);
}

View File

@ -1,4 +1,4 @@
/* $OpenBSD: tests.c,v 1.2 2023/02/02 12:12:52 djm Exp $ */
/* $OpenBSD: tests.c,v 1.3 2023/03/06 12:15:47 dtucker Exp $ */
/*
* Placed in the public domain
*/
@ -6,11 +6,13 @@
#include "../test_helper/test_helper.h"
void kex_tests(void);
void kex_proposal(void);
void kex_proposal_tests(void);
void kex_proposal_populate_tests(void);
void
tests(void)
{
kex_tests();
kex_proposal();
kex_proposal_tests();
kex_proposal_populate_tests();
}