summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2023-03-06 12:15:47 +0000
committerDarren Tucker <dtucker@dtucker.net>2023-03-07 17:31:57 +1100
commit03acc50d0ccb78fc91d1570de1cd0fdfea646028 (patch)
treebc4393de84cde8cceb5a2aabc33a3c577b861c75
parent3f9231c2e1f374ebb08016ba00ea97b47c0ed20b (diff)
upstream: Unit test for kex_proposal_populate_entries.
-rw-r--r--regress/unittests/kex/test_proposal.c40
-rw-r--r--regress/unittests/kex/tests.c8
2 files changed, 44 insertions, 4 deletions
diff --git a/regress/unittests/kex/test_proposal.c b/regress/unittests/kex/test_proposal.c
index d6cf0f5d..a5f92b54 100644
--- a/regress/unittests/kex/test_proposal.c
+++ b/regress/unittests/kex/test_proposal.c
@@ -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);
+}
diff --git a/regress/unittests/kex/tests.c b/regress/unittests/kex/tests.c
index 2a83dafb..d3044f03 100644
--- a/regress/unittests/kex/tests.c
+++ b/regress/unittests/kex/tests.c
@@ -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();
}