Repository navigation
fix: 修复 MCP 证书绑定、取消清理与任务生命周期 - #105
Merged
Merged
Conversation
- 自动签名前校验输入 APK、keystore 与 runtime_cert_sha256 的证书一致性 - 修复 iOS --ios-config 与全局 --config 的 clap ID 冲突 - 为任务提供父进程持有的 TMPDIR/暂存根目录,取消后清理口令与 staging - 同步检查移出协议读循环并增加超时;取消不再被同步检查阻塞 - 等待子进程改为短锁 try_wait,避免持有任务锁阻塞取消/状态查询 - MCP 退出时取消并回收活动任务与同步检查 - 子进程显式移除继承的 BYOS/keystore 密码环境变量,仅按任务注入 - Windows 取消使用 taskkill /T /F 回收进程树 - 发布说明模板改用带引号 heredoc,避免反引号命令替换 - 补充证书、取消清理、退出回收、BYOS、同步检查等 17 项 MCP 测试
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.
来源
修复
2026-11-12/MCP合并审查/审查报告.md中的 7 项主要问题和 2 项附加问题。修复内容
P1 自动签名证书一致性
protect_apk在启动任务前读取输入 APK 与 keystore 证书指纹runtime_cert_sha256时,两者必须一致,否则直接拒绝shield protect,避免载荷绑定与最终签名不一致P1 iOS 配置参数冲突
ProtectIosArgs.config改名为ios_config,不再与全局--config共用 clap IDP2 取消签名残留
TMPDIRSHELLSMITH_STAGE_ROOT放到 MCP 持有的任务暂存目录TMPDIR与 stage 均不存在taskkill /PID <pid> /T /F回收进程树P2 同步检查阻塞
tools/call在独立工作线程执行,协议读循环可继续处理取消、状态查询和其他请求SHELLSMITH_MCP_SYNC_TIMEOUT_SECS(默认 600 秒)超时并终止 CLIP2 持锁等待进程退出
try_wait轮询,不再在任务锁内wait()P2 MCP 退出回收
exit、shutdown统一调用Server::shutdownP2 BYOS 环境泄漏
SHELLSMITH_BYOS_API_KEY、MOCIKA_SHIELD_KS_PASS、MOCIKA_SHIELD_KEY_PASS,再按任务显式注入P3 发布说明反引号执行
scripts/render-mcp-release-readme.sh,使用带引号 heredocshield命令,发布工作流必须使用安全渲染脚本验证
cargo fmt --all --check-D warnings(shield-core / shield-ios / shield-cli / shellsmith-mcp)cargo test -p shellsmith-mcp:17 passedcargo test -p shield-cli:22 passedcargo test -p shield-core:262 passed, 8 ignoredpython3 -m unittest discover -s scripts/tests:48 passedunknown field project--byos-endpointTMPDIR与 stage 均被清理未实机验证
taskkill /T /F进程树回收:已实现,未在 Windows 实机运行