Files
ElyOffice/tasks/reviews/C06.3-r8.md
T

4 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-files/src/key.rs:55 — [P1] 共同锁仍依赖进程环境中的 `HOME`,凭据身份则固定为 `ElyOffice Recovery/recovery-key`;`directories` 6.0.0 在 macOS/Linux 的 `home_dir()` 优先读取 `HOME`,同一系统用户、同一凭据服务下的两个应用使用不同 `HOME` 时会取得不同锁,并发覆盖同一恢复密钥。隔离双进程探针调用原样的 `RecoveryKey::load()`,仅以共享测试凭据后端控制首次读取交错:A、B 都读到缺失,A 完成初始化并生成加密恢复点,B 随后覆盖凭据;两次加载均成功且密钥不同,最终持久密钥读取 A 的恢复点返回 `InvalidData: the sealed point is unreadable`。macOS 与 Linux 均复现;相同 `HOME`、不同 `XDG_DATA_HOME` 的对照及 r7 的失败回滚回放均通过。现有 macOS 87 项、Linux 86 项测试及 Windows 目标编译检查通过,新增路径单测只检查传入常量的拼接,未覆盖实际账户与环境变量的作用域差异。修复方向:用稳定的操作系统账户身份定位共同锁,或将锁与凭据绑定到同一规范化命名空间;补同一账户、不同 `HOME` 的跨进程初始化及最终持久密钥解密既有恢复点的回归。