fix(ipsec): удалять сертификат только по явной привязке
This commit is contained in:
1 parent
d52c48e5ed
commit
057b530364
16 files changed
+644
-22
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Актуальное продолжение 2026-10-10: завершён12.5.115 — UI удаления identity позволяет сохранить сертификат; при общих refs он unchecked/disabled и результат объяснён. Source TypeScript/ESLint/production frontend build, E2E26 unique accepted (22+4 corrected), live dialogs4/4 и один mobile DELETE с removeCertificate=false. Native cert ID/другая identity сохранены, original online восстановлен, cleanup13×2 passed. Backend ux-refs114, frontend ux-keepcert115/version1.0.0-test.keepcert115. Следующий116 — исключить удаление сертификата, угаданного по имени клиента; затем итоговая регрессия.12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершён12.5.116 — DELETE клиента больше не угадывает certificate по display name; удаляется только прямо привязанный remote-certificate либо явно выбранный cert. PSK UI объясняет сохранение сертификатов. Backend114 state/8 scripts, build/TypeScript/ESLint, E2E28/28, live dialogs4/4/mobile PSK DELETE и native сохранение unbound cert ID passed; before bug доказан на собственном decoy. Backend/frontend ux-bound116/version1.0.0-test.bound116, cleanup13×2. Следующий117 — общая UI-регрессия (основной набор1244 запущен), контекст и сверка текущего source/runtime;12.5 открыт.
|
||||
|
||||
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
|
||||
|
||||
@@ -1171,3 +1171,21 @@ Frontend ux-keepcert115/version1.0.0-test.keepcert115 развёрнут; backen
|
||||
| Референс | Схема |
|
||||
| --- | --- |
|
||||
| [ReUI Sheet8](https://reui.io/preview/base/sheet-8?ref=mcp) | Выбранная identity → прямой объём удаления → сохранить общий сертификат → подтверждённый API результат |
|
||||
|
||||
## 12.5.116 — IPsec: не удалять сертификат, угаданный по имени PSK (2026-10-10)
|
||||
|
||||
Устранена подтверждённая ошибка default DELETE: при пустом remote-certificate managed display name преобразовывалось в ipsec-user-<slug>, и несвязанный сертификат мог удаляться вместе с PSK identity. Теперь имя клиента не является доказательством связи: certificate deletion/preflight используют только явный remote-certificate либо выбранный cert target. Прямая одиночная certificate привязка по-прежнему допускает удаление; shared refs блокируются до записи как114. PSK диалог объясняет сохранение сертификатов; описания mode-config уточняют, что удаляются только неиспользуемые объекты приложения.
|
||||
|
||||
Изменены routes/ipsec.ts, mutation test, IPsec page и delete E2E. Все8 backend scripts, state114, backend build/source TypeScript/scoped ESLint passed. HTTP тест подтвердил PSK name collision: один identity DELETE, removeCertificate0; positive explicit binding: identity+certificate writes2. E2E28 unique passed39.6s, включая PSK описание/сохранение отдельной строки1280/320 и профильную регрессию. Vendor/ReUI/base-nova не менялись.
|
||||
|
||||
Before на backend114: создана собственная PSK identity с managed name, совпадающим со slug собственного unused signed decoy certificate. DELETE200 удалил оба объекта, хотя remote-certificate пуст. After на bound116: четыре live PSK диалога (dark/light1280/320), один DELETE через light320 UI, PSK удалён, тот же native ID/имя несвязанного сертификата сохранены. Browser не использовал mocks; APIwrites1, pageerrors0. Исходная certificate IKE сессия/online/198.18.116.250 сохранялись. Это не тест новой PSK сессии/throughput. Просмотрен light320 screenshot.
|
||||
|
||||
Обе части собраны последовательно и развёрнуты как ux-bound116/version1.0.0-test.bound116. Base d52c48e/context backend build-refs114, frontend build-keepcert115-front; по одному override для route/page, два source bytehash и compiled backend route bytehash совпали. Frontend compiled reproducibility не заявлена, label bound116 неGitSHA. Private rollback pre-bound116.env и прежние образы оставлены. Backend/PG healthy; frontend browser/HTTP подтверждён, healthcheck отсутствует. На VM25GB после сборок3.6GB свободно/86% занято; ресурсов достаточно для текущих проверок, production performance не оценивалась.
|
||||
|
||||
Оба native запуска очистили собственные fixtures, baseline13 коллекций×2 совпал; сохранены logging/default/public/metadata/195.195.195.195/32. Пароли прежние, оба CHR/SSH доступны. API DELETE вызывает history recording с dedupe; число новых revisions отдельно не заявляется. Протоколы: [binding](ux-ui/acceptance/ipsec-certificate-binding-2026-10-10.json), [live UI](ux-ui/acceptance/browser-ipsec-bound-2026-10-10.json).
|
||||
|
||||
Следующий117 уже запущен: единая основная UI-регрессия1244 сценария на текущем frontend source, затем контекстный набор и сверка source/build/runtime. Внешние аккаунты/Portal/Telegram/client OS/scale/multi-WAN и одновременные native IKE sessions остаются в матрице.
|
||||
|
||||
| Референс | Схема |
|
||||
| --- | --- |
|
||||
| [ReUI Sheet8](https://reui.io/preview/base/sheet-8?ref=mcp) | Выбранная identity → явная certificate связь → preflight → удаление выбранных объектов / сохранение несвязанных |
|
||||
Reference in new issue
Block a user