From 4cb21c8e5d70d20df94f5d892471a11488547881 Mon Sep 17 00:00:00 2001 From: Filip Tehlar Date: Sat, 6 Jun 2020 01:19:31 +0000 Subject: [PATCH] ikev2: don't add DH group in ESP transform proposals Type: fix Anouncing DH group in esp transform proposals will enable PFS which is not suppored now. This fixes issue during rekey when using strongswan as responder. Change-Id: Ib9f586113ae0ab9dc67e6ceadff43f8aac463820 Signed-off-by: Filip Tehlar --- src/plugins/ikev2/ikev2.c | 2 +- src/plugins/ikev2/ikev2_cli.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/plugins/ikev2/ikev2.c b/src/plugins/ikev2/ikev2.c index bba8876c046..211cf25ef43 100644 --- a/src/plugins/ikev2/ikev2.c +++ b/src/plugins/ikev2/ikev2.c @@ -3011,7 +3011,7 @@ ikev2_set_initiator_proposals (vlib_main_t * vm, ikev2_sa_t * sa, } /* DH */ - if (is_ike || ts->dh_type != IKEV2_TRANSFORM_DH_TYPE_NONE) + if (is_ike) { error = 1; vec_foreach (td, km->supported_transforms) diff --git a/src/plugins/ikev2/ikev2_cli.c b/src/plugins/ikev2/ikev2_cli.c index 2a5ebb3b6a2..b991de4207e 100644 --- a/src/plugins/ikev2/ikev2_cli.c +++ b/src/plugins/ikev2/ikev2_cli.c @@ -355,27 +355,27 @@ ikev2_profile_add_del_command_fn (vlib_main_t * vm, else if (unformat (line_input, - "set %U esp-crypto-alg %U %u esp-integ-alg %U esp-dh %U", + "set %U esp-crypto-alg %U %u esp-integ-alg %U", unformat_token, valid_chars, &name, unformat_ikev2_transform_encr_type, &crypto_alg, &tmp1, - unformat_ikev2_transform_integ_type, &integ_alg, - unformat_ikev2_transform_dh_type, &dh_type)) + unformat_ikev2_transform_integ_type, &integ_alg)) { r = ikev2_set_profile_esp_transforms (vm, name, crypto_alg, integ_alg, - dh_type, tmp1); + IKEV2_TRANSFORM_DH_TYPE_NONE, + tmp1); goto done; } else if (unformat (line_input, - "set %U esp-crypto-alg %U %u esp-dh %U", + "set %U esp-crypto-alg %U %u", unformat_token, valid_chars, &name, - unformat_ikev2_transform_encr_type, &crypto_alg, &tmp1, - unformat_ikev2_transform_dh_type, &dh_type)) + unformat_ikev2_transform_encr_type, &crypto_alg, &tmp1)) { r = ikev2_set_profile_esp_transforms (vm, name, crypto_alg, 0, - dh_type, tmp1); + IKEV2_TRANSFORM_DH_TYPE_NONE, + tmp1); goto done; } else if (unformat (line_input, "set %U sa-lifetime %lu %u %u %lu", @@ -430,7 +430,7 @@ VLIB_CLI_COMMAND (ikev2_profile_add_del_command, static) = { "ikev2 profile set responder \n" "ikev2 profile set ike-crypto-alg ike-integ-alg ike-dh \n" "ikev2 profile set esp-crypto-alg " - "[esp-integ-alg ] esp-dh \n" + "[esp-integ-alg ]\n" "ikev2 profile set sa-lifetime ", .function = ikev2_profile_add_del_command_fn, }; -- 2.16.6