fix(network): согласовать GRE PSK с FastPath и экспортом

This commit is contained in:
Denozordec committed 2026-10-13 21:42:21 +07:00
1 parent 7d86af7e8b
commit 1be4a490b5
20 files changed
+1460 -19

No files matched your search

+5 -1
View File
@@ -16,7 +16,7 @@ for (const unsupported of ["/ip ipsec peer add", "/ip/ipsec/peer/add", "proposal
const noInner = generateGreRsc({ ...tunnel, localInnerIp: "", ipsec: null, localAddress: "192.0.2.10", keepaliveInterval: 0, dscp: 12, enabled: true }, {})
assert.equal(noInner.split("\n").filter(line => line.startsWith("/")).length, 1)
assert.ok(noInner.includes('local-address="192.0.2.10"'))
assert.ok(noInner.includes("keepalive=0 dscp=12"))
assert.ok(noInner.includes("keepalive=<KEEPALIVE_SECONDS>s,<KEEPALIVE_RETRIES> dscp=12"))
assert.ok(!noInner.includes("ipsec-secret="))
console.log("gre-export: escaped strings, observed GRE/PSK only, optional IP and no duplicate IPsec passed")
const masked = generateGreRsc({ ...tunnel, ipsec: { secret: '' } }, {})
@@ -24,3 +24,7 @@ assert.ok(masked.includes('ipsec-secret="<IPSEC_PSK>"'))
assert.ok(masked.includes('# Шаблон: ключ IPsec не раскрыт.'))
assert.ok(!masked.includes('ipsec-secret=""'))
console.log('gre-export: hidden configured PSK produces an explicitly labelled template, never an empty live key')
const incompatible = generateGreRsc({ ...tunnel, allowFastPath: true }, {})
assert.ok(incompatible.includes("allow-fast-path=<ALLOW_FAST_PATH>"))
assert.ok(incompatible.includes("IPsec несовместим с FastPath"))