{ "date": "2026-10-11", "block": "12.5.127", "runtime": { "backend": "ux-crl127", "version": "1.0.0-test.crl127", "frontend": "ux-ike124", "buildContext": "build-san121 plus routes/ipsec.ts override", "sourceSha256": "b4cb5add56bfd355cd14942a1f5127554f8b92307f9e69094344192780603b75", "compiledSha256": "cd28e9eee7d7c2712ef96de9d144fc36d0c0d6109a79bef7fb95a948317c4d1c", "hashesMatchLocal": true }, "checks": { "ipsecScripts": 8, "stateChecks": 127, "newHttpCases": 13, "backendBuild": true, "scopedEslint": true }, "native": { "date": "2026-10-11", "block": "12.5.127", "name": "mm-ipsec127-1791662017580", "linux": [ { "variant": "certificate-derived", "initiated": true, "vip": "198.18.127.248", "addressList": [ "127.0.0.1", "::1", "172.19.0.2", "198.18.127.248" ], "attempts": [ { "attempt": 1, "success": true, "output": "PING 198.18.127.1 (198.18.127.1) from 198.18.127.248 : 56(84) bytes of data.\n64 bytes from 198.18.127.1: icmp_seq=1 ttl=64 time=2.89 ms\n64 bytes from 198.18.127.1: icmp_seq=2 ttl=64 time=2.99 ms\n64 bytes from 198.18.127.1: icmp_seq=3 ttl=64 time=2.67 ms\n\n--- 198.18.127.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2003ms\nrtt min/avg/max/mdev = 2.670/2.851/2.991/0.134 ms\n" } ], "ping3of3": true, "native": [ { "id": "CN=mm-ipsec127-1791662017580-client", "state": "established", "vip": "198.18.127.248" } ], "catalog": { "online": true, "activeAddress": "198.18.127.248" } } ], "cleanup": [ { "serverId": 1, "/certificate/crl": true, "/system/logging": true, "/ip/ipsec/identity": true, "/ip/ipsec/peer": true, "/ip/ipsec/policy": true, "/ip/ipsec/policy/group": true, "/ip/ipsec/mode-config": true, "/ip/ipsec/proposal": true, "/ip/ipsec/profile": true, "/certificate": true, "/file": true, "/ip/address": true, "/ip/route": true, "/ip/firewall/nat": true, "/ip/pool": true, "/interface/bridge": true, "/ipv6/address": true }, { "serverId": 2, "/certificate/crl": true, "/system/logging": true, "/ip/ipsec/identity": true, "/ip/ipsec/peer": true, "/ip/ipsec/policy": true, "/ip/ipsec/policy/group": true, "/ip/ipsec/mode-config": true, "/ip/ipsec/proposal": true, "/ip/ipsec/profile": true, "/certificate": true, "/file": true, "/ip/address": true, "/ip/route": true, "/ip/firewall/nat": true, "/ip/pool": true, "/interface/bridge": true, "/ipv6/address": true } ], "clientImage": "sha256:c9d01c801de88b2349f685c1cb631e67a8b1c697439a00148d4045c23a584054", "settingsBefore": { "builtin-trust-store": "default", "crl-download": "false", "crl-store": "ram", "crl-use": "false", "current-defaults": "fetch,mqtt,email,netwatch,container,lora,wiliot,dns,www,reverse-proxy" }, "subject": { "derHex": "302b3129302706035504030c206d6d2d69707365633132372d313739313636323031373538302d636c69656e74", "attributes": [ { "oidHex": "550403", "stringTag": 12, "value": "mm-ipsec127-1791662017580-client" } ], "san": "X509v3 Subject Alternative Name: \n DNS:mm-ipsec127-1791662017580.example" }, "settingsEnabled": { "builtin-trust-store": "default", "crl-download": "true", "crl-store": "ram", "crl-use": "true", "current-defaults": "fetch,mqtt,email,netwatch,container,lora,wiliot,dns,www,reverse-proxy" }, "crlsBeforeControl": [], "lifecycle": [ { "phase": "initial", "established": 1, "online": true, "vip": "198.18.127.248", "addressList": [ "127.0.0.1", "::1", "172.19.0.2", "198.18.127.248" ], "ping3of3": true, "sas": [ { "spi": "0xF4F86B61", "state": "mature", "src": "161.104.46.222:4500", "dst": "194.226.121.150:4500" }, { "spi": "0xCA52296A", "state": "mature", "src": "194.226.121.150:4500", "dst": "161.104.46.222:4500" } ], "attempts": [ { "attempt": 1, "success": true, "output": "PING 198.18.127.1 (198.18.127.1) from 198.18.127.248 : 56(84) bytes of data.\n64 bytes from 198.18.127.1: icmp_seq=1 ttl=64 time=3.77 ms\n64 bytes from 198.18.127.1: icmp_seq=2 ttl=64 time=2.57 ms\n64 bytes from 198.18.127.1: icmp_seq=3 ttl=64 time=2.49 ms\n\n--- 198.18.127.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2004ms\nrtt min/avg/max/mdev = 2.494/2.944/3.767/0.582 ms\n" } ] } ], "preflight": [ { "kind": "user identity", "status": 409, "error": "Сертификат выдан CA с CRL и не удаляется отдельно в RouterOS. Удалите только identity, сохранив сертификат. Отзыв выполняется отдельно", "identityPreserved": true, "certificatesPreserved": 3 }, { "kind": "cert target", "status": 409, "error": "Сертификат выдан CA с CRL и не удаляется отдельно в RouterOS. Удалите только identity, сохранив сертификат. Отзыв выполняется отдельно", "identityPreserved": true, "certificatesPreserved": 3 }, { "kind": "certificate", "status": 409, "error": "Сертификат выдан CA с CRL и не удаляется отдельно в RouterOS. Удалите только identity, сохранив сертификат. Отзыв выполняется отдельно", "identityPreserved": true, "certificatesPreserved": 3 }, { "kind": "CA chain", "status": 409, "error": "CA содержит выданные сертификаты. Его удаление затронет всю цепочку; отдельное удаление CA здесь недоступно", "identityPreserved": true, "certificatesPreserved": 3 }, { "kind": "certificate?force=true", "status": 409, "error": "Сертификат выдан CA с CRL и не удаляется отдельно в RouterOS. Удалите только identity, сохранив сертификат. Отзыв выполняется отдельно", "identityPreserved": true, "certificatesPreserved": 3 }, { "kind": "CA chain?force=true", "status": 409, "error": "CA содержит выданные сертификаты. Его удаление затронет всю цепочку; отдельное удаление CA здесь недоступно", "identityPreserved": true, "certificatesPreserved": 3 } ], "identityOnly": { "status": 200, "identityRemoved": true, "certificatesPreserved": 3 }, "revokedCertificate": { "status": 409, "error": "Сертификат выдан CA с CRL и не удаляется отдельно в RouterOS. Удалите только identity, сохранив сертификат. Отзыв выполняется отдельно", "preserved": true }, "settingsRestored": true, "dockerCleanup": true, "ownedCaCascadeCleanup": true, "credentialFilesRemoved": true }, "earlierControlFailure": { "initialPing3of3": false, "exactCauseUnproven": true, "cleanupCompletedBeforeRetry": true, "retainedRemoteProtocol": "artifacts/wg-real-lifecycle/ipsec127-initial-ping-failure.json", "fullProtocol": { "date": "2026-10-11", "block": "12.5.127", "name": "mm-ipsec127-1791661875139", "linux": [], "cleanup": [ { "serverId": 1, "/certificate/crl": true, "/system/logging": true, "/ip/ipsec/identity": true, "/ip/ipsec/peer": true, "/ip/ipsec/policy": true, "/ip/ipsec/policy/group": true, "/ip/ipsec/mode-config": true, "/ip/ipsec/proposal": true, "/ip/ipsec/profile": true, "/certificate": true, "/file": true, "/ip/address": true, "/ip/route": true, "/ip/firewall/nat": true, "/ip/pool": true, "/interface/bridge": true, "/ipv6/address": true }, { "serverId": 2, "/certificate/crl": true, "/system/logging": true, "/ip/ipsec/identity": true, "/ip/ipsec/peer": true, "/ip/ipsec/policy": true, "/ip/ipsec/policy/group": true, "/ip/ipsec/mode-config": true, "/ip/ipsec/proposal": true, "/ip/ipsec/profile": true, "/certificate": true, "/file": true, "/ip/address": true, "/ip/route": true, "/ip/firewall/nat": true, "/ip/pool": true, "/interface/bridge": true, "/ipv6/address": true } ], "clientImage": "sha256:c9d01c801de88b2349f685c1cb631e67a8b1c697439a00148d4045c23a584054", "settingsBefore": { "builtin-trust-store": "default", "crl-download": "false", "crl-store": "ram", "crl-use": "false", "current-defaults": "fetch,mqtt,email,netwatch,container,lora,wiliot,dns,www,reverse-proxy" }, "subject": { "derHex": "302b3129302706035504030c206d6d2d69707365633132372d313739313636313837353133392d636c69656e74", "attributes": [ { "oidHex": "550403", "stringTag": 12, "value": "mm-ipsec127-1791661875139-client" } ], "san": "X509v3 Subject Alternative Name: \n DNS:mm-ipsec127-1791661875139.example" }, "settingsEnabled": { "builtin-trust-store": "default", "crl-download": "true", "crl-store": "ram", "crl-use": "true", "current-defaults": "fetch,mqtt,email,netwatch,container,lora,wiliot,dns,www,reverse-proxy" }, "crlsBeforeControl": [], "error": "The expression evaluated to a falsy value:\n\n assert(result.ping3of3)\n", "routerAuthLogs": [ "ipsec identity added by api:admin@:: (*A = /ip ipsec identity add auth-method=digital-signature certificate=mm-ipsec127-1791661875139-server comment=mm-ipsec127-1791661875139 generate-policy=port-strict match-by=certificate mode-config=mm-ipsec127-1791661875139 peer=mm-ipsec127-1791661875139 policy-template-group=mm-ipsec127-1791661875139 remote-certificate=mm-ipsec127-1791661875139-client)", "item changed by api:admin@:: (/certificate settings set crl-download=yes crl-use=yes)", "mm-ipsec127-1791661875139: => certificate (size 0x3a4)" ], "settingsRestored": true, "dockerCleanup": true, "ownedCaCascadeCleanup": true, "credentialFilesRemoved": true } }, "bounds": [ "CA children always block direct deletion, including force=true; no automatic revoke or foreign-chain cleanup", "Issued/revoked local cert with CRL issuer returns409 before identity deletion; keep-certificate explicitly allowed", "Imported non-issued certificate with no revoked flag retains prior deletion behavior (mocked HTTP case)", "Native final control records assigned VIP/Ping attempts; first control failure not converted to success", "UI/vendor/DTO unchanged; no full regression repeat" ] }