From 95f891a1c55646e24f0c26187134ce0defed5e4d Mon Sep 17 00:00:00 2001 From: smail Date: Wed, 30 Sep 2026 22:01:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=94=B9=E5=AF=86=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E4=BA=91=E7=AB=AF=E5=A4=8D=E6=B5=8B=E5=8F=8A=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E7=A0=81=E5=A4=B1=E6=95=88=E9=AA=8C=E6=94=B6=E8=AF=81?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/云端全项目测试报告.md | 28 ++++++++++++++++++++++++++++ docs/生产整改验收清单.md | 14 ++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/docs/云端全项目测试报告.md b/docs/云端全项目测试报告.md index 33a79f5..91f1423 100644 --- a/docs/云端全项目测试报告.md +++ b/docs/云端全项目测试报告.md @@ -1,5 +1,33 @@ # 云端全项目测试报告 +## 最新部署与安全恢复复测(2026-09-30 22:00) + +本节优先于后续历史章节。全项目仍未完成验收;此次是保留现有 MySQL 数据的增量升级和浏览器复测,不是清库首次安装验收。 + +### 修复与部署 + +- [✓] 实机确认普通用户改密成功后跳往 `/login` 返回 404,手动进入 `/#/login` 可以使用新密码登录。已精确修正前端跳转为 `/#/login`,保持整页重载;现有回归用例补齐三种角色的跳转与身份清理断言。 +- [x] 修复提交 `31553530b768da3e857ec0d3952d9e7b7a4149fd` 已推送。未运行辅助测试脚本;回归断言的代码补充不等于三种角色均已实机通过。 +- [✓] 前端和 Linux amd64 Go 主程序、三个内置插件、管理及配置工具均完成编译。旧前端构建目录归档保留,重新生成本次嵌入资源,未删除原目录内容。 +- [✓] 21:50:48 完成仅 Smail 服务的停止、程序替换与启动,Nginx 和其他项目未重启。22:00 复核 Smail 与 Nginx 均为运行中,主进程 `1768882`,自动重启次数为 `0`。 +- 主程序 SHA256 为 `7b0e31ffcd890c5929cbd3a70fc6decca9dff0b17a35a5a3266a27cc52d49d92`,本地与上传及部署文件一致。构建版本为 `3155353-audit`,源码提交与上述一致;工作区既存删除及未跟踪产物未处理,构建仍带 `vcs.modified=true`,不得称为干净工作区可复现发布。 +- 更新前备份目录为 `/opt/smail/backups/release-20260930-2148`,权限 0700;文件归档 `smail-files.tar.gz` 权限 0600,包含原主程序、Smail 配置、数据、证书、插件、环境文件及对应 systemd 和 Nginx 配置。原管理及配置工具另有备份,单库备份沿用 21:31 检查点。文件归档在服务运行中完成,不是与数据库同一时点的一致性快照;未执行完整恢复演练。 + +### 浏览器实测结果 + +- [✓] 部署后忽略缓存重新加载页面,普通用户修改为临时密码后自动进入 `/#/login`,登录页正常,新密码可以登录;再恢复指定测试密码,仍自动进入正确登录页并成功登录,两次均未出现 404。 +- [✓] 重新生成一批安全码后,旧批次安全码在找回页面被拒绝,同一流程改用新批次安全码通过,排除流程整体不可用造成的假拒绝。 +- [✓] 新安全码验证成功后,点击重新申请,在新的恢复流程复用同一码被拒绝;换用该批次另一未使用安全码可以通过。此项证明已消费码不能重复验证,不等于恢复票据重放或并发竞争全部通过。 +- [✓] 使用另一有效码完成密码重置,页面显示密码已重置,返回登录后指定测试密码可以登录。安全设置显示当前未配置有效离线恢复码;未把这一页面状态冒充剩余每个旧码均已直接提交验证。 +- 21:36 至部署前的连续验收还确认:普通用户错误安全码被拒、正确码可恢复并登录;管理员未绑定外部安全邮箱时找回页面没有可用方式。源码按角色限制管理员恢复通道,未为测试放宽策略。 + +### 状态与剩余事项 + +- 测试用户保持普通用户、默认组、指定测试密码和通知授权关闭;本轮生成的安全码已在恢复后失效,页面无有效安全码。测试管理员和超级管理员的密码、角色、本轮原有安全配置未改动。 +- [ ] 管理员本人改密、超级管理员邮箱验证码改密尚未在此修复部署上复测;安全码与密保组合、旧恢复票据重放、协议凭据撤销仍待验收。 +- [!] 启动日志仍出现 Telegram 插件运行配置失败;微信插件加载成功不代表真人扫码与推送完成。两者继续保留未通过状态。 +- [ ] 附件收发、外部邮件往返、图形邮件客户端、三个数据库选项、恢复演练、证书续期及其余完整发布门槛继续按后续清单执行。 + ## 当前续验结论(2026-09-30 21:28) 全项目尚未完成验收,不能宣布可以正式发布。本节更新此前记录;以下各历史章节仅代表当时版本和范围,不自动成为当前部署的放行证据。 diff --git a/docs/生产整改验收清单.md b/docs/生产整改验收清单.md index a481e25..838ef88 100644 --- a/docs/生产整改验收清单.md +++ b/docs/生产整改验收清单.md @@ -1,5 +1,19 @@ # 生产整改验收清单 +## 最新修复部署状态(2026 年 9 月 30 日 22:00) + +全项目仍未完成验收。本节优先于以下旧记录;本次为保留数据的增量部署与复测,不是清库首次安装。详细证据见《云端全项目测试报告》顶部。 + +- [✓] 修复改密后跳往 `/login` 的 404,源码提交 `3155353` 已推送并编译部署;普通用户两次改密均自动进入正确登录页,新密码和恢复后的指定测试密码均成功登录。 +- [x] 已补充三角色跳转及身份清理回归断言,未运行辅助测试脚本;管理员和超管分支仍需各自实机复测。 +- [✓] 安全码重新生成后旧批次被拒、新批次可验证;成功验证的码在新流程重复使用被拒,另一未使用码可继续验证并完成密码重置。 +- [✓] 重置后指定密码登录成功,安全设置显示无有效离线恢复码;不将页面状态视为所有旧码、恢复票据和协议凭据的直接撤销验证。 +- [x] 部署文件及原主程序、配套工具已备份;沿用 21:31 数据库检查点。尚未完成文件与数据库同一时点备份及恢复演练。 +- [✓] 21:50:48 仅重启 Smail 完成升级;22:00 服务运行中,主进程 `1768882`、自动重启 `0`,Nginx 运行中。上传与运行主程序摘要和本机一致。 +- [ ] 当前产物已记录源码版本与摘要,但仍含 `vcs.modified=true`;干净源码可复现发布、清库首次安装和三种数据库部署选项尚未闭环。 +- [!] Telegram 启动配置失败仍存在;微信真人扫码、附件人工上传及外部邮箱协作仍需继续。 +- [ ] 完整账户恢复与凭据撤销、外部收发、图形协议客户端、备份恢复、证书续期和容量验收保持未完成。 + ## 最新续验状态(2026 年 9 月 30 日 21:28) 整体验收仍未完成,不能标记可发布。详细证据与限制见《云端全项目测试报告》顶部的同日续验章节。以下旧章节不应覆盖本节结论。