跳转到主要内容

S3

21 篇
  • 列举不能丢掉仍有仲裁的 null 版本

    发布于 设计

    设计S3ListObjects评审

    列举不能丢掉仍有仲裁的 null 版本

    发布更新,2026-09-20: null 版本仲裁修复已随 Server 20260916 发布。#218 跟踪的滚动重启列举限制仍然开放。以下调查与验证记录保留当时的日期和范围。 本文记录 2026-09-16 调查的列举漏项:未开版本控制的桶在并发覆盖写下返回 HTTP 200 的列表,却少了同一端点仍能 GET 的 key。这里说明已确认的机制、提交 8d06424b1 的窄修复、这个修复证明了什么,以及仍由 #218 跟踪的反例。 状态: 已在 main,晚于已发布的 Server …

    发布更新,2026-09-20: null 版本仲裁修复已随 Server 20260916 发布。#218 跟踪的滚动重启列举限制仍然开放。以下调查与验证记录保留当时的日期和范围。 本文记录 2026-09-16 调查的列举漏项:未开版本控制的桶在并发覆盖写下返回 HTTP 200 的列表,却少了同一端点仍能 GET 的 key。这里说明已确认的机制、提交 8d06424b1 的窄修复、这个修复证明了什么,以及仍由 #218 跟踪的反例。 状态: 已在 main,晚于已发布的 Server …

  • 请求头截止时间:绝对头部上限与滚动的正文空闲超时

    发布于 设计

    设计HTTPS3评审

    请求头截止时间:绝对头部上限与滚动的正文空闲超时

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 Server HTTP 读取截止时间的修复,作为 PR #196 的一部分合入 main(修复 055030ea5)。 截至 2026-09-16: 修复在核验过的 main 40220bd836cb 上;不在已发布的 Server 20260903 中。 证据类别: 合成实验——直接 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 Server HTTP 读取截止时间的修复,作为 PR #196 的一部分合入 main(修复 055030ea5)。 截至 2026-09-16: 修复在核验过的 main 40220bd836cb 上;不在已发布的 Server 20260903 中。 证据类别: 合成实验——直接 …

  • 副本元数据归一化:可信复制不得重新注入什么

    发布于 设计

    设计复制S3评审

    副本元数据归一化:可信复制不得重新注入什么

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录可信复制接收端如何为副本恢复元数据的修复,合入 Server main 为 PR #194(修复 4fcdf37ce,合并为 9f3037e941)。 截至 2026-09-16: 修复在核验过的 main 40220bd836cb 上;不在已发布的 Server 20260903 中。 来 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录可信复制接收端如何为副本恢复元数据的修复,合入 Server main 为 PR #194(修复 4fcdf37ce,合并为 9f3037e941)。 截至 2026-09-16: 修复在核验过的 main 40220bd836cb 上;不在已发布的 Server 20260903 中。 来 …

  • 复制标签排序:修订时间戳、墓碑与复活

    发布于 设计

    设计复制S3评审

    复制标签排序:修订时间戳、墓碑与复活

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录对象标签在复制中如何保序的两个缺陷的分析与修复,分别合入 Server main 为 PR #193(修复 03027727d)与 PR #196(修复 680eac66e)。 截至 2026-09-16: 两个修复均已在核验过的 main 40220bd836cb 上;不在已发布的 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录对象标签在复制中如何保序的两个缺陷的分析与修复,分别合入 Server main 为 PR #193(修复 03027727d)与 PR #196(修复 680eac66e)。 截至 2026-09-16: 两个修复均已在核验过的 main 40220bd836cb 上;不在已发布的 …

  • 联邦 CopyObject:保持目标对象契约

    发布于 设计

    DesignS3Operations

    联邦 CopyObject:保持目标对象契约

    2026-09-17 发布更新: 本文记录的联邦 CopyObject 修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:本文记录 main 中 #157、#159、#163、#177 和 #179 的 CopyObject 修复,Server 20260903 尚未包含。讨论对象是把复制作为 PutObject 转发到另一部署的旧 etcd 存储桶联邦路径,不是桶/ …

    2026-09-17 发布更新: 本文记录的联邦 CopyObject 修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:本文记录 main 中 #157、#159、#163、#177 和 #179 的 CopyObject 修复,Server 20260903 尚未包含。讨论对象是把复制作为 PutObject 转发到另一部署的旧 etcd 存储桶联邦路径,不是桶/ …

  • 多池对象一致性

    发布于 设计

    DesignS3Operations

    多池对象一致性

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#178 修复多池修改顺序,随后 #207 把当前对象选择扩展到条件 PUT。它们已合入 main,但不在 Server 20260903 中,关闭了 #133 与 #144 跟踪的源码缺陷;这不构成新发布产物的验收。 一个键可以有多份物理副本 扩池、退役或中断的清理 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#178 修复多池修改顺序,随后 #207 把当前对象选择扩展到条件 PUT。它们已合入 main,但不在 Server 20260903 中,关闭了 #133 与 #144 跟踪的源码缺陷;这不构成新发布产物的验收。 一个键可以有多份物理副本 扩池、退役或中断的清理 …

  • 持久化 IAM 撤销

    发布于 设计

    DesignS3Operations

    持久化 IAM 撤销

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#191 与 #192 已合入 main,但不在已发布的 Server 20260903 中。它们改变 IAM 持久状态,要求协调升级。执行时使用升级恢复手册,安全边界见 SN-2026-013。 SILO 保留已删除 IAM 记录的版本,使离线站点重新连接后不能恢复 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#191 与 #192 已合入 main,但不在已发布的 Server 20260903 中。它们改变 IAM 持久状态,要求协调升级。执行时使用升级恢复手册,安全边界见 SN-2026-013。 SILO 保留已删除 IAM 记录的版本,使离线站点重新连接后不能恢复 …

  • SSE-C 副本完整性

    发布于 设计

    DesignS3Operations

    SSE-C 副本完整性

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#122、#123、#124、#126 和 #134 已在 main,但不在已发布的 Server 20260903 中。此前零字节/属性读取认证与目标密钥 checksum 响应修复已随 20260903 发布;不能把所有 SSE-C 修复当作同一次发布。 密文与信 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 源码状态:#122、#123、#124、#126 和 #134 已在 main,但不在已发布的 Server 20260903 中。此前零字节/属性读取认证与目标密钥 checksum 响应修复已随 20260903 发布;不能把所有 SSE-C 修复当作同一次发布。 密文与信 …

  • Object Lock 复制排序

    发布于 设计

    DesignS3Operations

    Object Lock 复制排序

    2026-09-17 发布更新: 后续的 #129、#134 与 #178 修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 发布边界:f4c1286c9 已随 Server 20260903 发布。后续仅时间戳删除、SSE-C 重传和跨池修复见 #129、#134、#178,它们在 main 中,但不在该发布中。公告台账 记录原始排序缺陷。 重建元数据前保留旧状态 副本 …

    2026-09-17 发布更新: 后续的 #129、#134 与 #178 修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 发布边界:f4c1286c9 已随 Server 20260903 发布。后续仅时间戳删除、SSE-C 重传和跨池修复见 #129、#134、#178,它们在 main 中,但不在该发布中。公告台账 记录原始排序缺陷。 重建元数据前保留旧状态 副本 …

  • 桶配置复制:来源时间、删除与确定性收敛

    发布于 设计

    设计复制S3评审

    桶配置复制:来源时间、删除与确定性收敛

    2026-09-17 发布更新: 本文记录的 #77 修复已随 Server 20260916 发布,删除记录导出默认仍关闭;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #77 是已复现的站点复制正确性问题。接收端把来源时间改成到达时间,可能拒绝真正较新的删除;部分配置删除后不再导出时间,断线期间遗漏的删除也无法被 heal 找回。单独补一个 DELETE 分支不能解决这两个问题。 合并状态(2026-09-12): 修复与研究归档已通过 …

    2026-09-17 发布更新: 本文记录的 #77 修复已随 Server 20260916 发布,删除记录导出默认仍关闭;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #77 是已复现的站点复制正确性问题。接收端把来源时间改成到达时间,可能拒绝真正较新的删除;部分配置删除后不再导出时间,断线期间遗漏的删除也无法被 heal 找回。单独补一个 DELETE 分支不能解决这两个问题。 合并状态(2026-09-12): 修复与研究归档已通过 …

  • 复制可靠性:删除完成、MRF 可见性与 resync 取消

    发布于 设计

    设计复制S3评审

    复制可靠性:删除完成、MRF 可见性与 resync 取消

    2026-09-17 发布更新: 本文记录的修复(PR #162、第二轮 PR #196 及第三轮清除修复)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 …

    2026-09-17 发布更新: 本文记录的修复(PR #162、第二轮 PR #196 及第三轮清除修复)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 …

  • SILO 20260903 安全说明:SN-2026-006 至 010

    发布于 安全编年史

    安全S3SSE-CReplicationIAM

    SILO 20260903 安全说明:SN-2026-006 至 010

    已随 SILO 20260903 发布。 这些修复属于 RELEASE.2026-09-03T13-18-01Z。从 20260806 到 20260903 的完整升级边界、组件、验证证据与已知延期见完整发布说明。 本公告汇总 SILO Server 最终复审发现的五个相关安全问题,覆盖客户提供的加密密钥、客户端可控复制 header、管理状态变更与显式对象版本删除。 SN-2026-006 至 SN-2026-010 是分叉内部的 security-note 编号,不是 CVE,也没有登记到 …

    已随 SILO 20260903 发布。 这些修复属于 RELEASE.2026-09-03T13-18-01Z。从 20260806 到 20260903 的完整升级边界、组件、验证证据与已知延期见完整发布说明。 本公告汇总 SILO Server 最终复审发现的五个相关安全问题,覆盖客户提供的加密密钥、客户端可控复制 header、管理状态变更与显式对象版本删除。 SN-2026-006 至 SN-2026-010 是分叉内部的 security-note 编号,不是 CVE,也没有登记到 …

  • 显式版本删除现在要求 DeleteObjectVersion

    发布于 发布注记

    发布安全IAMS3兼容性

    显式版本删除现在要求 DeleteObjectVersion

    发布状态: 此变更已在 pgsty/silo#104 中实现,对应 Issue #58。本文发布本身不代表 某个服务器版本、软件包、镜像或部署已经包含该变更。 SILO 现在按照请求实际执行的删除类型选择权限: 请求 所需权限 未携带 versionId s3:DeleteObject 版本 UUID s3:DeleteObjectVersion 显式 versionId=null s3:DeleteObjectVersion DeleteObjects 对每个 XML 条目独立应用映射 此前 …

    发布状态: 此变更已在 pgsty/silo#104 中实现,对应 Issue #58。本文发布本身不代表 某个服务器版本、软件包、镜像或部署已经包含该变更。 SILO 现在按照请求实际执行的删除类型选择权限: 请求 所需权限 未携带 versionId s3:DeleteObject 版本 UUID s3:DeleteObjectVersion 显式 versionId=null s3:DeleteObjectVersion DeleteObjects 对每个 XML 条目独立应用映射 此前 …

  • ListMultipartUploads:实现、升级契约与历史设计

    发布于 设计

    设计S3兼容性分段上传

    ListMultipartUploads:实现、升级契约与历史设计

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 这是 SILO Issue #79 的问题说明、设计分析与决策记录。 9 月 16 日实现与升级契约 PR #198 保留 mr javad seydi 的原始元数据与扫描实现,并追加维护者对 marker 消失、发现覆盖不足、取消确认和升级诊断的修复。发布前的兼容性修复将默认模式恢复为 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 这是 SILO Issue #79 的问题说明、设计分析与决策记录。 9 月 16 日实现与升级契约 PR #198 保留 mr javad seydi 的原始元数据与扫描实现,并追加维护者对 marker 消失、发现覆盖不足、取消确认和升级诊断的修复。发布前的兼容性修复将默认模式恢复为 …

  • 只读 Checksum 审计与可靠的 CLI 输出契约

    发布于 设计

    设计S3兼容性Checksummcli

    只读 Checksum 审计与可靠的 CLI 输出契约

    本文是 MCLI 只读 checksum 校验流程,以及发布审查中发现的 non-TTY 输出缺陷 pgsty/mc#5 的设计与实现记录。 状态: 已随最终的 mcli 20260903 正式发布。命令经 pull request #8 与 #13 合入 main,在托管 CI 中针对真实 SILO 服务器验证, pgsty/mc#5 已关闭。Server 20260903 镜像已捆绑包含本命令的 mcli 20260903。 归属: pgsty/mc。 跟踪: pgsty/mc#5。 安全边 …

    本文是 MCLI 只读 checksum 校验流程,以及发布审查中发现的 non-TTY 输出缺陷 pgsty/mc#5 的设计与实现记录。 状态: 已随最终的 mcli 20260903 正式发布。命令经 pull request #8 与 #13 合入 main,在托管 CI 中针对真实 SILO 服务器验证, pgsty/mc#5 已关闭。Server 20260903 镜像已捆绑包含本命令的 mcli 20260903。 归属: pgsty/mc。 跟踪: pgsty/mc#5。 安全边 …

  • 两把 SSE-C 密钥,一份 CopyObject 响应

    发布于 设计

    设计S3SSE-CChecksum兼容性

    两把 SSE-C 密钥,一份 CopyObject 响应

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录 SILO 提交 e73436c99 中的 CopyObject SSE-C checksum 响应修复。 截至 2026-08-28 的状态: 实现、加密与换钥测试、完整服务器套件、race、静态检查、构建和 Fable Max 独立验收均已完成。该提交已于 2026-08-29 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录 SILO 提交 e73436c99 中的 CopyObject SSE-C checksum 响应修复。 截至 2026-08-28 的状态: 实现、加密与换钥测试、完整服务器套件、race、静态检查、构建和 Fable Max 独立验收均已完成。该提交已于 2026-08-29 …

  • BadDigest、InvalidRequest 与 CompleteMultipartUpload 校验和契约

    发布于 设计

    设计S3兼容性校验和

    BadDigest、InvalidRequest 与 CompleteMultipartUpload 校验和契约

    2026-09-17 发布更新: 流式校验和后续修复(PR #143)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #48 与 #50 的修复 已包含在 Server 20260903 中。 本文取代八月提案中“暂时保持 CRC64NVME 规范化”的结论。 为什么必须在完成时校验 初始化上传时选择算法和对象校验和类型,各分片保存其校验和值。 完成请求必须依据已存储的契约校验最终值与显式类型断言,不 …

    2026-09-17 发布更新: 流式校验和后续修复(PR #143)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #48 与 #50 的修复 已包含在 Server 20260903 中。 本文取代八月提案中“暂时保持 CRC64NVME 规范化”的结论。 为什么必须在完成时校验 初始化上传时选择算法和对象校验和类型,各分片保存其校验和值。 完成请求必须依据已存储的契约校验最终值与显式类型断言,不 …

  • ListObjects 快捷路径不能把不存在的桶伪装成空桶

    发布于 设计

    设计S3兼容性ListObjects

    ListObjects 快捷路径不能把不存在的桶伪装成空桶

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文是 SILO #32 与 PR #37 的问题分析、设计讨论与修复决策归档。 截至 2026-08-26 的状态: PR #37 已更新为带 DCO sign-off 的 head e9c5340be,通过正式批准并合并为 49c8aeac4;#32 随后自动关闭。精确 PR head …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文是 SILO #32 与 PR #37 的问题分析、设计讨论与修复决策归档。 截至 2026-08-26 的状态: PR #37 已更新为带 DCO sign-off 的 head e9c5340be,通过正式批准并合并为 49c8aeac4;#32 随后自动关闭。精确 PR head …

  • 条件 DELETE:一个条件对应一个逻辑对象

    发布于 设计

    DesignS3CompatibilityDELETE

    条件 DELETE:一个条件对应一个逻辑对象

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 状态:#145 引入单对象条件删除,随后 #178 修复多池串行化与清理。这两批修改均不在已发布的 Server 20260903 中。依赖该行为前请核对组件矩阵。 围绕 PR #12 的八月方案比实际合并代码范围更大。其中批量拒绝、额外读取授权和只比较当前版本等规则,并不是已 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-16 状态:#145 引入单对象条件删除,随后 #178 修复多池串行化与清理。这两批修改均不在已发布的 Server 20260903 中。依赖该行为前请核对组件矩阵。 围绕 PR #12 的八月方案比实际合并代码范围更大。其中批量拒绝、额外读取授权和只比较当前版本等规则,并不是已 …

  • 为什么 CompleteMultipartUpload 必须返回 ChecksumType:PR #57 评审记录

    发布于 设计

    设计S3兼容性Checksum

    为什么 CompleteMultipartUpload 必须返回 ChecksumType:PR #57 评审记录

    Shooks(@Dansyuqri)贡献的 PR #57 修复了 #47,已包含在 Server 20260903 中。 本文记录响应契约;具体生产部署是否包含修复,仍取决于实际运行的制品与安装。 缺陷与范围 对 @cbornet 报告的 #31 的调查拆出了两个问题。 CRC32 分段上传完成的数据路径由 c8590413f 与 3e14733f1 修复。 成功完成后,对象保存了校验和类型,HEAD 也可返回,但完成响应的 XML 丢弃了这个类型, 导致 SDK 获得有效校验和值,却没有 …

    Shooks(@Dansyuqri)贡献的 PR #57 修复了 #47,已包含在 Server 20260903 中。 本文记录响应契约;具体生产部署是否包含修复,仍取决于实际运行的制品与安装。 缺陷与范围 对 @cbornet 报告的 #31 的调查拆出了两个问题。 CRC32 分段上传完成的数据路径由 c8590413f 与 3e14733f1 修复。 成功完成后,对象保存了校验和类型,HEAD 也可返回,但完成响应的 XML 丢弃了这个类型, 导致 SDK 获得有效校验和值,却没有 …

  • 可选校验和,强制失败:修复 UploadPart 与 UploadPartCopy 兼容性

    发布于 设计

    设计S3兼容性Checksum

    可选校验和,强制失败:修复 UploadPart 与 UploadPartCopy 兼容性

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文是 SILO #46 的完整设计与实现归档。它记录的并不只是一个 if 条件如何修改,而是一个看似简单的 S3 可选 header,如何一路牵动 multipart 完成语义、复制响应、压缩与加密数据流、兼容基线和发布验证。 状态: 已于 2026-08-24 以 7fea6d5a5 合 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文是 SILO #46 的完整设计与实现归档。它记录的并不只是一个 if 条件如何修改,而是一个看似简单的 S3 可选 header,如何一路牵动 multipart 完成语义、复制响应、压缩与加密数据流、兼容基线和发布验证。 状态: 已于 2026-08-24 以 7fea6d5a5 合 …