summaryrefslogtreecommitdiff
path: root/src/migration-scripts/ipsec
diff options
context:
space:
mode:
authorrockfish-vyos <321823801+rockfish-vyos@users.noreply.github.com>2026-08-31 17:57:40 +0000
committerrockfish-vyos <321823801+rockfish-vyos@users.noreply.github.com>2026-08-31 17:57:40 +0000
commit712c1520f8ebfecf3bc35d9aca21d73d7188f0c2 (patch)
tree4967e21929c5646bbb6e5c3ded99b1bc0f06f83c /src/migration-scripts/ipsec
parentb9fd27b511d22554f294e87e9349456b3418bb2b (diff)
downloadvyos-1x-712c1520f8ebfecf3bc35d9aca21d73d7188f0c2.tar.gz
vyos-1x-712c1520f8ebfecf3bc35d9aca21d73d7188f0c2.zip
ipsec: T9254: do not emit ESN transforms in IKE proposals
get_esp_ike_cipher() renders both IKE_SA proposals and CHILD_SA proposals. It unconditionally appended the -esn / -noesn variants, which are only meaningful for ESP: ESN is Transform Type 5 per RFC 7296 section 3.3.2 and is defined for CHILD_SAs only. Emitting ESN in an IKE_SA proposal breaks interoperability with implementations that reject the malformed payload without replying at all. Observed against a Cisco FTD: the IKE_SA_INIT is silently discarded, no NO_PROPOSAL_CHOSEN and no INVALID_KE_PAYLOAD, so the tunnel never comes up and nothing on the initiator side explains it. Add an explicit esn parameter defaulting to True so ESP behaviour is unchanged, and pass esn=False at the four IKE call sites: peer.j2, profile.j2, remote_access.j2 and l2tp.j2. The five esp_proposals call sites keep ESN. ike_group could have served as the discriminator, since IKE call sites do not pass it, but that coupling is incidental: the argument only exists to resolve PFS. Smoke test assertions on the proposals lines are updated accordingly; the esp_proposals assertions are left untouched.
Diffstat (limited to 'src/migration-scripts/ipsec')
0 files changed, 0 insertions, 0 deletions