跳转到主要内容

设计归档

这里归档 SILO 维护决策背后的完整思考:要解决的问题、兼容性边界、被否决的方案、实现要求,以及进入发布版本前必须取得的验证证据。

阅读时先看日期与状态:设计提案说明尚待实现或验证的方案;已合入 main只说明源码包含改动;已发布必须关联实际 tag/发布说明。历史评审和当时的未完成项不自动代表当前行为,后续更正应明确版本。证据优先使用固定提交、PR、稳定测试及发布记录;本地测试、远端 CI、制品与生产部署分别计数。

  • LIST 漏项修复:只在有疑问时确认,并把等待控制住

    发布于 设计

    DesignS3ListObjectsPerformanceReview

    Featured Image for LIST 漏项修复:只在有疑问时确认,并把等待控制住

    源码已合并,尚未发布新版本: PR #239 于 2026-10-17 合入主干,合并提交为 fbcb51197,#218 已关闭。修复保留原作者提交;主干合并不会自动更新已安装的软件。 这是 #218 / #239 的最新设计决策。它承接九月的 null 版本仲裁修复,也替代早期“直接调用 GET 元数据路径”的恢复方案。原作者 mr javad seydi 在 #221 中提出的修复及原始签署提交保留在 #239 中。源码合并、正式发布、生产升级是三个独立步骤;本页不是生产版本发布公告。 …

    源码已合并,尚未发布新版本: PR #239 于 2026-10-17 合入主干,合并提交为 fbcb51197,#218 已关闭。修复保留原作者提交;主干合并不会自动更新已安装的软件。 这是 #218 / #239 的最新设计决策。它承接九月的 null 版本仲裁修复,也替代早期“直接调用 GET 元数据路径”的恢复方案。原作者 mr javad seydi 在 #221 中提出的修复及原始签署提交保留在 #239 中。源码合并、正式发布、生产升级是三个独立步骤;本页不是生产版本发布公告。 …

  • IAM Admin API 授权边界修复

    发布于 设计

    DesignIAMSecurityCompatibility

    Featured Image for IAM Admin API 授权边界修复

    2026-10-16 决策:GO,源码验收与合并已完成。 服务端 PR #242 已将带 DCO 签署的修复提交 2616d43fb 合入 main,合并提交为 4e55fc7db。 最终候选直接基于 main 的 00a375c4e 验证,与待处理的 LIST 修复独立。 八项云端检查及完整本地 IAM/STS 集成测试全部通过。 本文记录源码集成状态。打标签、发布软件包或容器、生产部署仍是独立事项; 合并不代表已有发行镜像已经包含修复。 问题与范围 部分 Admin Handler 在授权已 …

    2026-10-16 决策:GO,源码验收与合并已完成。 服务端 PR #242 已将带 DCO 签署的修复提交 2616d43fb 合入 main,合并提交为 4e55fc7db。 最终候选直接基于 main 的 00a375c4e 验证,与待处理的 LIST 修复独立。 八项云端检查及完整本地 IAM/STS 集成测试全部通过。 本文记录源码集成状态。打标签、发布软件包或容器、生产部署仍是独立事项; 合并不代表已有发行镜像已经包含修复。 问题与范围 部分 Admin Handler 在授权已 …

  • 旧版元数据与扫描响应复用时的残留字段修复

    发布于 设计

    设计可靠性存储扫描器

    Featured Image for 旧版元数据与扫描响应复用时的残留字段修复

    发布更新(2026-10-15): 本修复首次随 Server 20261015 交付。下文源码验收记录保留此前发布前的验证结论。 2026-10-15 核验状态:已合入 main,尚未进入已发布的 Server 版本。 修复通过 PR #233 合入,合并提交为 d94b3b3c9251。 通过验证的 PR 头部是 86c5a92eef3d, 其源码树与合并提交完全一致。本次核验时,最新发布的 Server 仍为 20260916, 其源码仍包含两处缺陷。源码合并不会更新用户已经安装的二进制、 …

    发布更新(2026-10-15): 本修复首次随 Server 20261015 交付。下文源码验收记录保留此前发布前的验证结论。 2026-10-15 核验状态:已合入 main,尚未进入已发布的 Server 版本。 修复通过 PR #233 合入,合并提交为 d94b3b3c9251。 通过验证的 PR 头部是 86c5a92eef3d, 其源码树与合并提交完全一致。本次核验时,最新发布的 Server 仍为 20260916, 其源码仍包含两处缺陷。源码合并不会更新用户已经安装的二进制、 …

  • 对象锁保留期越权与版本覆写漏洞修复设计(SN-2026-015 / SN-2026-016)

    发布于 设计

    SiloSecurityObject LockWORMS3IAM

    Featured Image for 对象锁保留期越权与版本覆写漏洞修复设计(SN-2026-015 / SN-2026-016)

    2026-10-15 状态: PR #234(14042b5aa)与 PR #235(0d3ba5d4c)的完整修复首次随 RELEASE.2026-10-15T00-00-00Z 正式交付。此前发布的 RELEASE.2026-09-16T00-00-00Z 仍受影响。升级要求与制品验收见安全公告和发布说明。 本文档完整记录针对外部报告与内部关联排查发现的两处对象锁(Object Lock / WORM)安全缺陷——**SN-2026-015(PutObjectRetention 绕过请求头越 …

    2026-10-15 状态: PR #234(14042b5aa)与 PR #235(0d3ba5d4c)的完整修复首次随 RELEASE.2026-10-15T00-00-00Z 正式交付。此前发布的 RELEASE.2026-09-16T00-00-00Z 仍受影响。升级要求与制品验收见安全公告和发布说明。 本文档完整记录针对外部报告与内部关联排查发现的两处对象锁(Object Lock / WORM)安全缺陷——**SN-2026-015(PutObjectRetention 绕过请求头越 …

  • 写死 TLS 参数与握手兼容性

    发布于 设计

    设计TLSOIDC运维兼容性

    Featured Image for 写死 TLS 参数与握手兼容性

    状态,2026-09-17。 Go TLS 默认值修复 48e184652 已随 Server 20260916 发布。 issue #154 的报告人在该版本复测, OIDC discovery 仍然是同一条 connection reset by peer。 该部署的根因至今未确认。 #154 于 2026-09-11 以「补丁已合并」为由关闭, 而不是以报告人复测通过为准;这个处理是错的。本文记录修复覆盖了什么、覆盖不了什么、以及必须改变什么。 更新,2026-09-17。 上游 Go …

    状态,2026-09-17。 Go TLS 默认值修复 48e184652 已随 Server 20260916 发布。 issue #154 的报告人在该版本复测, OIDC discovery 仍然是同一条 connection reset by peer。 该部署的根因至今未确认。 #154 于 2026-09-11 以「补丁已合并」为由关闭, 而不是以报告人复测通过为准;这个处理是错的。本文记录修复覆盖了什么、覆盖不了什么、以及必须改变什么。 更新,2026-09-17。 上游 Go …

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

    发布于 设计

    设计S3ListObjects评审

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

    警告 历史 LIST 设计已由新决策覆盖 · Earlier LIST design superseded (2026-10-17) English: The investigation below is retained as historical evidence. Its current-design and pending-work guidance is superseded by the latest LIST recovery decision (English). Refer …

    警告 历史 LIST 设计已由新决策覆盖 · Earlier LIST design superseded (2026-10-17) English: The investigation below is retained as historical evidence. Its current-design and pending-work guidance is superseded by the latest LIST recovery decision (English). Refer …

  • Go 1.27 TLS 默认值与 OIDC Discovery 故障形态

    发布于 设计

    设计TLSOIDC运维

    Featured Image for Go 1.27 TLS 默认值与 OIDC Discovery 故障形态

    2026-09-17 发布更新: Go TLS 默认值修复(48e184652)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-17 后续: #154 报告人在 20260916 上复测,故障依旧。该修复恢复的是 GODEBUG=tlsmlkem=0 的效果,并不改变默认握手,也无法处理拒绝新增 ML-DSA 签名编号的入口。由此形成的机制分析、完整解法空间与发布沟通门槛记录在《写死 …

    2026-09-17 发布更新: Go TLS 默认值修复(48e184652)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 2026-09-17 后续: #154 报告人在 20260916 上复测,故障依旧。该修复恢复的是 GODEBUG=tlsmlkem=0 的效果,并不改变默认握手,也无法处理拒绝新增 ML-DSA 签名编号的入口。由此形成的机制分析、完整解法空间与发布沟通门槛记录在《写死 …

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

    发布于 设计

    设计HTTPS3评审

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

    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评审

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

    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评审

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

    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

    Featured Image for 联邦 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

    Featured Image for 多池对象一致性

    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

    Featured Image for 持久化 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

    Featured Image for 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

    Featured Image for 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评审

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

    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评审

    Featured Image for 复制可靠性:删除完成、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 已合并为 …

  • 未签名的 Header 不属于请求

    发布于 设计

    设计安全SigV4CopyObjectPresigned兼容性

    Featured Image for 未签名的 Header 不属于请求

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 SILO 的未签名头覆盖修复,核心提交为 123325430,已通过 PR #173 合并,台账编号 SN-2026-011。该问题由 Oren Yomtov 针对已发布版本报告,并在本地两条签名路径上均已复现。 2026-09-11 状态: 原始修复已推送,并通过 PR #173 合并。 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 SILO 的未签名头覆盖修复,核心提交为 123325430,已通过 PR #173 合并,台账编号 SN-2026-011。该问题由 Oren Yomtov 针对已发布版本报告,并在本地两条签名路径上均已复现。 2026-09-11 状态: 原始修复已推送,并通过 PR #173 合并。 …

  • SILO Server 20260903 发布前复审

    发布于 设计

    DesignReviewSecurityCompatibilityRelease

    Featured Image for SILO Server 20260903 发布前复审

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

  • 鉴权前不做 I/O,Header 不授予权限

    发布于 设计

    设计安全CORSReplicationSSE-C兼容性

    Featured Image for 鉴权前不做 I/O,Header 不授予权限

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录以 PR #101(938603458 至 04b097fd9)合并进 SILO 的 CORS 热路径与复制请求信任边界修复。 截至 2026-09-03 的状态: PR #101 已于 2026-09-01 合并进 main,并带四个后续提交:Snowball 逐条目信任隔离 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录以 PR #101(938603458 至 04b097fd9)合并进 SILO 的 CORS 热路径与复制请求信任边界修复。 截至 2026-09-03 的状态: PR #101 已于 2026-09-01 合并进 main,并带四个后续提交:Snowball 逐条目信任隔离 …