diff options
| author | rockfish-vyos <321823801+rockfish-vyos@users.noreply.github.com> | 2026-08-31 17:57:40 +0000 |
|---|---|---|
| committer | rockfish-vyos <321823801+rockfish-vyos@users.noreply.github.com> | 2026-08-31 17:57:40 +0000 |
| commit | 712c1520f8ebfecf3bc35d9aca21d73d7188f0c2 (patch) | |
| tree | 4967e21929c5646bbb6e5c3ded99b1bc0f06f83c /src/migration-scripts | |
| parent | b9fd27b511d22554f294e87e9349456b3418bb2b (diff) | |
| download | vyos-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')
0 files changed, 0 insertions, 0 deletions
