diff --git a/docs/生产整改验收清单.md b/docs/生产整改验收清单.md index e17ad0c..34f5554 100644 --- a/docs/生产整改验收清单.md +++ b/docs/生产整改验收清单.md @@ -6,6 +6,8 @@ 当前版本已经完成凭据配置、SMTP 判定、MX 路由和网页持久投递队列的代码整改及针对性远程测试,但仍不建议直接生产上线。测试范围、版本摘要和备份位置以《远程服务器测试记录》最新章节为准。 +截至 11:32,47 服务器已部署 `review-421aa7303d3b`。本轮 60 包分批执行、958 个顶层用例通过;部署后内部 SMTP 五项真实入库、双库完整性及未认证接口边界通过。此结论不覆盖跳过项、容量、可信 TLS 或真实网页登录发信;部署和 SMTP 回归均保留数据,不满足 PROD-012 的清库安装要求。 + ## 任务状态 | 编号 | 优先级 | 任务 | 状态 | 验收边界 | diff --git a/docs/远程服务器测试记录.md b/docs/远程服务器测试记录.md index 64db4c8..65f8582 100644 --- a/docs/远程服务器测试记录.md +++ b/docs/远程服务器测试记录.md @@ -299,3 +299,42 @@ TLS 前未公布 AUTH,主动尝试明文 AUTH 返回 523。未认证外域邮 - `TestSecuritySetupBrowserFixture`:浏览器夹具未启用,不能代替实际网页验收。 11:26 只读复核:Smail、MySQL、Scert 均运行,主 PID 分别为 `548293`、`549584`、`530794`;MySQL 重启计数仍为首轮事故后的 1。双库完整性通过、迁移版本 23、队列表为空、恢复 socket 为 `0600`,未认证用户信息及邮件列表均返回业务码 403。11:18:08 后未发现新增 OOM。此时线上版本尚为 `remote-13bcad90e832`,新代码未部署。 + +### 新版部署与复审 + +整改提交 `1b2ba5a`、测试工具及记录提交 `421aa73` 已推送。11:29 从干净工作区交叉编译,主程序与管理员工具使用相同版本 `review-421aa7303d3b`、相同 Git 标识和 Go `1.26.6`。编译前后源码指纹一致: + +```text +834910cbd25517450d3010366c974d77c22929b55c6d69a36cc988f6971c968a +``` + +11:30 先停服完整归档并核对归档内容和双库备份,再升级双程序。备份目录为 `/var/backups/smail-before-outbox-20260917-113007`,归档 SHA-256 为 `f8501848469039c168bfb64c426aff28f289d31694441ced0c5361344a9450fd`。没有清理双库或删除文件,没有实际触发失败回滚。 + +| 项目 | 结果 | +| --- | --- | +| 主程序 SHA-256 | `9dee9305d1faeb55552ac90d8f002352ff47ebf8f4eefc303f7092e95f7f1a9b` | +| 管理员工具 SHA-256 | `b041fc44246a30634b41ba3a73125f2d63b713ead659c56d41e8dd3d2a5cd0e6` | +| Smail 服务 | `active/running`,PID `552932`,重启计数 0,主进程退出状态 0 | +| 双库及迁移 | 完整性均 `ok`,迁移版本 23 | +| 恢复 socket | `0600`,所有者与业务库一致 | +| 未认证用户信息、邮件列表 | 业务码均为 403,无业务数据 | +| 同机服务 | MySQL PID `549584`、Scert PID `530794` 未因本次部署变化 | +| 部署后 OOM | 截至本次检查新增 0 次 | + +11:31 在 `127.0.0.1:25` 完成五项 TLS 1.3 真实收信检查: + +| 用例 | 邮件 ID | 数据核对 | +| --- | --- | --- | +| 中文纯文本 | 33 | 仅普通用户关联、正文一致 | +| HTML、中文附件、多收件人 | 34 | 两位指定用户关联、附件名称和字节一致 | +| 管理员专属附件 | 35 | 仅管理员关联 | +| 未知本域地址 | 36 | 当前过滤级别 0,转管理员收件箱 | +| 未认证外域地址 | 37 | 管理员兜底,无对应发信记录 | + +结果与本次 SMTP 前双库备份位于 `/var/backups/smail-internal-smtp-20260917-113121`。客户端仍显式信任测试 CA 并校验主机名,没有关闭 TLS 验证。队列表仍为空,不能以此证明网页出站队列闭环通过。没有进行浏览器测试。 + +补查首轮自动测试影响:上述 SMTP 前备份中邮件总数及最大 ID 均为 32,最后一封 `send_date` 为 `2026-09-17 02:12:47` UTC,即北京时间 10:12:47,早于本轮 10:30 开始。现有只读数据未发现首轮自动测试新增线上邮件的证据;这不撤销已确认的全机 OOM 影响,也不等同于完成全部审计。 + +新增测试工具在远程实际验证逐用例模式以及零匹配、错误包名两个拒绝分支。零匹配包结果记录码为 2,聚合进程返回 1;错误包名在启动用例前返回 2。此前外层检查误以为聚合进程也应返回 2,已按真实接口修正检查;没有修改程序掩盖失败。 + +本轮已完成投递结果恢复、跨平台路径修复、全包分批测试、旧备份隔离恢复和新版本升级回归。正式上线仍受凭据轮换、可信 TLS、真实网页及管理员恢复交互、共享主机容量和最新清库安装等门槛限制,不能签署生产放行。