| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(security): atomic symlink rejection via O_NOFOLLOW + config dir chmod 评审修复:secureWriteFile 改用 O_NOFOLLOW 原子打开 + fd fchmod 消除 TOCTOU;writeAuthState/writeConfigState 补 configDir Chmod 0o700;spec/foundations/security.md 新增凭证文件落盘约束;补边界 UT(拒目录)。 Addresses review feedback on #400 | 3 个月前 | |
fix(security): atomic symlink rejection via O_NOFOLLOW + config dir chmod 评审修复:secureWriteFile 改用 O_NOFOLLOW 原子打开 + fd fchmod 消除 TOCTOU;writeAuthState/writeConfigState 补 configDir Chmod 0o700;spec/foundations/security.md 新增凭证文件落盘约束;补边界 UT(拒目录)。 Addresses review feedback on #400 | 3 个月前 | |
fix(config,installupdate): read the configured update mode without env masking The invalid-GC_UPDATE_MODE fallback added in the third round never worked in production: configUpdateMode read the configured value through cfg.Get, which honors GC_UPDATE_MODE first and returns the (possibly invalid) environment text verbatim — so the fallback branch was dead whenever the environment variable was set, and GC_UPDATE_MODE=banana overrode a configured "off" (the Go side kept spawning the helper daily while the JS side correctly reported off, producing one wasted registry request per day and a ghost "Automatic updates are disabled." notice per cycle). Add config.FileGet — the same lookup as Get minus the environment override, on the concrete type rather than the public Config interface (adding interface methods breaks external implementers) — and consume it in configUpdateMode through a type assertion with a Get fallback. The unit tests missed this because they fed resolveUpdateMode directly instead of going through a real config; the new tests exercise the real factory with a config file, an invalid env value, and both override directions. Fourth review batch 1, issue 604 item 3. Co-Authored-By: Claude Code <noreply@anthropic.com> | 30 天前 | |
fix(config,installupdate): read the configured update mode without env masking The invalid-GC_UPDATE_MODE fallback added in the third round never worked in production: configUpdateMode read the configured value through cfg.Get, which honors GC_UPDATE_MODE first and returns the (possibly invalid) environment text verbatim — so the fallback branch was dead whenever the environment variable was set, and GC_UPDATE_MODE=banana overrode a configured "off" (the Go side kept spawning the helper daily while the JS side correctly reported off, producing one wasted registry request per day and a ghost "Automatic updates are disabled." notice per cycle). Add config.FileGet — the same lookup as Get minus the environment override, on the concrete type rather than the public Config interface (adding interface methods breaks external implementers) — and consume it in configUpdateMode through a type assertion with a Get fallback. The unit tests missed this because they fed resolveUpdateMode directly instead of going through a real config; the new tests exercise the real factory with a config file, an invalid env value, and both override directions. Fourth review batch 1, issue 604 item 3. Co-Authored-By: Claude Code <noreply@anthropic.com> | 30 天前 | |
feat(lark): 集成 lark-cli 支持飞书消息(含 --to-self 自通知)(#493) Co-authored-by: aflyingto<wupengfei10@huawei.com> | 2 个月前 | |
fix(security): atomic symlink rejection via O_NOFOLLOW + config dir chmod 评审修复:secureWriteFile 改用 O_NOFOLLOW 原子打开 + fd fchmod 消除 TOCTOU;writeAuthState/writeConfigState 补 configDir Chmod 0o700;spec/foundations/security.md 新增凭证文件落盘约束;补边界 UT(拒目录)。 Addresses review feedback on #400 | 3 个月前 | |
fix(security): atomic symlink rejection via O_NOFOLLOW + config dir chmod 评审修复:secureWriteFile 改用 O_NOFOLLOW 原子打开 + fd fchmod 消除 TOCTOU;writeAuthState/writeConfigState 补 configDir Chmod 0o700;spec/foundations/security.md 新增凭证文件落盘约束;补边界 UT(拒目录)。 Addresses review feedback on #400 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 3 个月前 |