Repository navigation
build: 依赖安全对齐——zip 升到 9.x、quick-xml 升到 0.42 - #13
Merged
Merged
Conversation
- zip 2.6.1 → 9.1.3:RUSTSEC-2026-0367/0369 的修补版本线是 9.0.0,2.x 没有修补版。 解压仍走系统 ditto -x -k,zip 只用于读条目元数据,不调用 extract()。 - quick-xml 0.38.4 → 0.42.0:RUSTSEC-2026-0194/0195 修补于 0.41;同时与 plist 依赖的 0.42 对齐,锁文件里不再有两个 quick-xml 版本。 - 适配新 API:local_name() 改返回 &str(原为字节比较),read_text() 返回 BytesText 需 xml10_content(),Attribute::decode_and_unescape_value 换成 normalized_value, ZipFile::name() 改成返回 Result。 - 一并更新 patch 级依赖(tauri 2.12.5、tokio 1.54.1、webpki-roots 1.0.11)。 取代 dependabot PR #9 与 #11。
3f42c67 加了 macOS CI job,但共享代码引用的几个符号在 src/macos/ 下没有对应 实现,那个 job 从建立起就是红的: - guard::ClaudePresence / guard::claude_presence:monitor 的退出清理每拍要问一次 「有没有 claude、是不是桌面端」。按 macOS 已有的 classify_claude 实现,桌面端 优先返回。 - guard::firewall_rule_count:恢复核验用。这个构建不创建防火墙规则,返回 Some(0) 而不是 None——None 在核验里表示「查不到即不干净」,而这里的 0 是确知的。 - netcut::CUT_RULE:账本记账用,与 Windows 侧同名同值。 - update.rs 的 `Path` 导入,以及只对 Windows 发布资产成立的下载用例补 cfg(windows)。
这个用例只验证「子进程正常退出时输出与退出码被完整保留」,跟时限无关; 5 秒在 GitHub runner 上偶发不够(首个 PowerShell 冷启动要几秒), 2026-10-28 的 CI 就因此以 211 passed / 1 failed 挂掉。给到 60 秒, 超时路径本身由 inspection_timeout_stops_only_its_read_only_probe 覆盖。
依赖安全对齐与 macOS 移植补全,README 的版本列表同步。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
统一升级取代 dependabot #9 与 #11。
为什么
zip 2.6.1命中 RUSTSEC-2026-0367 / -0369,修补版本线是 9.0.0,2.x 没有修补版。quick-xml 0.38.4命中 RUSTSEC-2026-0194 / -0195,修补于 0.41;锁文件里同时还躺着 plist 拉进来的 0.42.0,同一 crate 两个版本。改了什么
Cargo.toml:zip = { version = "9", default-features = false, features = ["deflate"] }、quick-xml = "0.42"。src/macos,只在 macOS 编译):local_name()返回&str,原来的as_ref() == b"item"字节比较改成字符串比较;read_text()返回BytesText,补.xml10_content();decode_and_unescape_value(reader.decoder())换成normalized_value(XmlVersion::Implicit1_0)。ZipFile::name()改成返回Result,加了map_err。cargo update顺带把 patch 级依赖拉到最新(tauri 2.12.5、tokio 1.54.1、webpki-roots 1.0.11、rustls 0.23.46、rustls-webpki 0.103.16)。/usr/bin/ditto -x -k,zip 只读条目元数据,不调用extract()。验证
cargo fmt --check/cargo clippy --locked --all-targets -- -D warnings/cargo test --locked全绿,212 passed / 0 failed / 1 ignored。src/macos只在 macOS 参与编译,本地 Windows 编不到,所以这个 PR 需要 macOS job 才能证明 quick-xml / zip 的改动编得过——CI 刚被重新启用,请以 macOS job 结果为准。