proposal: Prevent selection of duplicate key exchange methods

All additional (and the initial) key exchanges must use a different method.
This commit is contained in:
Tobias Brunner
2024-08-07 16:20:19 +02:00
parent 1d5e921911
commit 012d99ecf4
2 changed files with 57 additions and 3 deletions
@@ -143,6 +143,28 @@ static struct {
{ PROTO_IKE, "aes128-sha256-modp3072", "aes128-sha256-modp3072", "aes128-sha256-modp3072" },
{ PROTO_IKE, "aes128-sha256-modp3072", "aes128-sha256-modp3072-none", "aes128-sha256-modp3072" },
{ PROTO_IKE, "aes128-sha256-modp3072-none", "aes128-sha256-modp3072", "aes128-sha256-modp3072" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_modp3072",
"aes128-sha256-modp3072-ke1_modp3072", NULL },
{ PROTO_IKE, "aes128-sha256-modp3072-ecp256-ecp384-ke1_modp3072-ke1_ecp256-ke1_ecp384-ke2_modp3072-ke2_ecp256-ke2_ecp384",
"aes128-sha256-modp3072-ecp256-ecp384-ke1_modp3072-ke1_ecp256-ke1_ecp384-ke2_modp3072-ke2_ecp256-ke2_ecp384",
"aes128-sha256-modp3072-ke1_ecp256-ke2_ecp384" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_modp3072-ke1_none",
"aes128-sha256-modp3072-ke1_modp3072-ke1_none",
"aes128-sha256-modp3072" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_modp3072-ke1_none-ke2_modp3072-ke2_none",
"aes128-sha256-modp3072-ke1_modp3072-ke1_none-ke2_modp3072-ke2_none",
"aes128-sha256-modp3072" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_ecp256" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_ecp256" },
{ PROTO_IKE, "aes128-sha256-modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_modp3072-ke1_ecp256",
"aes128-sha256-modp3072-ke1_ecp256" },
{ PROTO_IKE, "aes128-sha256-ecp256-ke1_modp3072",
"aes128-sha256-modp3072-ecp256-ke1_ecp256-ke2_ecp384", NULL },
};
START_TEST(test_select)