]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Unit test for kex_proposal_populate_entries.
authordtucker@openbsd.org <dtucker@openbsd.org>
Mon, 6 Mar 2023 12:15:47 +0000 (12:15 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Tue, 7 Mar 2023 06:31:57 +0000 (17:31 +1100)
OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006

regress/unittests/kex/test_proposal.c
regress/unittests/kex/tests.c

index d6cf0f5da7d739cc2ca50ed33443f040cdcfa3d4..a5f92b54243c1179de1c1d35dd94e1f911a0191b 100644 (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);
+}
index 2a83dafbc3ae7515c85f2a507ef37ef325ebc894..d3044f033767242ccac931b4145b904013bb7143 100644 (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();
 }