Files
Nexus/docs/changelog/2026-06-21-server-file-transfer-audit-fixes.md
2026-07-08 22:31:31 +08:00

1.5 KiB
Raw Permalink Blame History

跨服务器文件传输 — 审计修复

日期

2026-06-21

摘要

对跨机传输首版做走读审计,修复 deliver 失败资源泄漏、token 残留、前端模式误判与路径记忆混用。

审计发现与处置

级别 问题 处置
P1 deliver 拉取失败后源机 /tmp 归档与 Redis token 未清理 失败时 rollbackrm 归档 + delete_package_meta
P1 deliver 成功后 token 仍有效但源归档已删,curl 重放 404 成功后 delete_package_meta
P2 右键「发送到其他服务器」未选中行时,模式推荐误用 selectedFiles 引入 transferItems,按实际传输项判断
P2 localStorage 直传目录与打包路径共用 key,切换模式路径错乱 relay/deliver 分 key
P2 打包成功立即关对话框,download_url 无法复制 投递成功后保留对话框至用户关闭
已知限制 直传多项中途失败无回滚 v1 接受;UI 已提示大目录用打包
已知限制 归档与直传单文件 500MB 上限 与现有 download 一致,未改

涉及文件

  • server/application/services/server_file_transfer_service.py
  • frontend/src/composables/files/useFilesActions.ts
  • frontend/src/components/files/FilesDialogs.vue

验证

.venv/bin/pytest tests/test_server_file_transfer.py -v

18 项:schema、JWT 白名单、Redis store、SFTP 大小守卫、deliver 成功/失败回滚/超限、relay 同源拒绝与成功路径、cleanup 命令引用。