4 lines
1.1 KiB
Markdown
4 lines
1.1 KiB
Markdown
FAIL
|
||
|
||
apps/ely-pdf/src/sign.rs:69 — 保存失效校验使用 `saved` 历史字符串,同一历史状态再次保存时,旧签名失败回复仍会写回当前文件的 `Unread::Signatures(path)`,封住有效文件的验证状态读取,破坏 PDF-12。复现:打开一份 PDF,保持内容原样,在外部移走原文件;执行冲突处理的“保留我的”,并在保存进行中读取原路径的签名。保存重新写出原路径、清理失败集合后,旧请求的失败回调插回标记;再次请求签名被 guard 拦住,签名列表持续空白。真实 worker 和真实保存流程连续五次得到 `same mark=true, readable=true, stale marker=true, blocked=true`(`/tmp/ely-p08-r2-repeat.log`);还原并重建后再次五次复现(`/tmp/ely-p08-r2-restored-rebuilt.log`)。修复方向:每次成功保存递增独立保存代次,签名读取按该代次丢弃过期结果;补充同历史标记保存与旧回复交错的回归测试。当前测试直接把 `saved` 改为不同字符串,覆盖范围遗漏此场景;探针使用独立保存代次后五次均通过(`/tmp/ely-p08-r2-generation.log`)。
|