PGSTY SILO 博客
-
写死 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 …
-
SILO Console 2.4.1 发布
SILO Console v2.4.1 于 2026 年 9 月 16 日发布,源码为 1360e26d976d。 本版接入 pkg v3.14.1 与 mcli 20260916,收紧匿名分享代理,支持多对象流式 ZIP 下载,并提供带签名和构建溯源的发布制品。 共享下载 #52 的修复将匿名代理限制为 配置的 S3 源站上的对象内容 GET 请求,拒绝重定向、系统路径和通过查询参数选择的非下载操作。 公开对象、预签名链接和指定版本下载继续可用。不需要新增一个关闭分享的环境变量。 感谢 …
SILO Console v2.4.1 于 2026 年 9 月 16 日发布,源码为 1360e26d976d。 本版接入 pkg v3.14.1 与 mcli 20260916,收紧匿名分享代理,支持多对象流式 ZIP 下载,并提供带签名和构建溯源的发布制品。 共享下载 #52 的修复将匿名代理限制为 配置的 S3 源站上的对象内容 GET 请求,拒绝重定向、系统路径和通过查询参数选择的非下载操作。 公开对象、预签名链接和指定版本下载继续可用。不需要新增一个关闭分享的环境变量。 感谢 …
-
silo-pkg 3.14.1 发布
v3.14.1 从 fa657ef4 发布。 这是 github.com/pgsty/silo-pkg/v3 的依赖与工具更新; 相对 v3.14.0 的差异没有修改包的 Go 源码或公开 API。 依赖变化 JWX 从 v3.2.0 升至 v3.3.0。上游发布说明 将自定义 JSON 字段名编码时缺少转义的问题标识为 GHSA-4cf7-xm37-g63h。可利用性取决于是否接受攻击者控制的自定义 claim 名称; 本包 env 的 JWT 路径使用已注册的 claim 名称,仅有依赖关系 …
v3.14.1 从 fa657ef4 发布。 这是 github.com/pgsty/silo-pkg/v3 的依赖与工具更新; 相对 v3.14.0 的差异没有修改包的 Go 源码或公开 API。 依赖变化 JWX 从 v3.2.0 升至 v3.3.0。上游发布说明 将自定义 JSON 字段名编码时缺少转义的问题标识为 GHSA-4cf7-xm37-g63h。可利用性取决于是否接受攻击者控制的自定义 claim 名称; 本包 env 的 JWT 路径使用已注册的 claim 名称,仅有依赖关系 …
-
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 签名编号的入口。由此形成的机制分析、完整解法空间与发布沟通门槛记录在《写死 …
-
请求头截止时间:绝对头部上限与滚动的正文空闲超时
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 中。 证据类别: 合成实验——直接 …
-
副本元数据归一化:可信复制不得重新注入什么
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 中。 来 …
-
复制标签排序:修订时间戳、墓碑与复活
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:保持目标对象契约
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 存储桶联邦路径,不是桶/ …
-
多池对象一致性
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 撤销
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 副本完整性
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 复制排序
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 中,但不在该发布中。公告台账 记录原始排序缺陷。 重建元数据前保留旧状态 副本 …
-
九月安全修复:载荷完整性、IAM 撤销与 Console 分享
2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录截至 9 月 16 日的三项修复及交付边界。编号属于 SILO 本地安全台账,不是 CVE,也不代表已分配 CVSS 分数。 持续维护的索引见安全公告台账。 发现 修复源码 9 月 16 日的发布状态 SN-2026-012:预签名载荷完整性 Server c4b5e1cb4,PR #177 …
2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录截至 9 月 16 日的三项修复及交付边界。编号属于 SILO 本地安全台账,不是 CVE,也不代表已分配 CVSS 分数。 持续维护的索引见安全公告台账。 发现 修复源码 9 月 16 日的发布状态 SN-2026-012:预签名载荷完整性 Server c4b5e1cb4,PR #177 …
-
SILO 20260916 发布注记
版本日期: 2026-09-16 · 正式发布: 2026-09-17(UTC 2026-09-16) · 标签: RELEASE.2026-09-16T00-00-00Z · 软件包版本: 20260916000000.0.0。安装入口见下载页。 源码范围为已发布提交 9b11dc9469e6 到本版 2a4d51406b7e,共 210 个提交,其中 140 个非合并提交。本文覆盖该范围内的最终行为,包含 #214 之后的列表 quorum、版本 purge 和迁移标签修复。Go …
版本日期: 2026-09-16 · 正式发布: 2026-09-17(UTC 2026-09-16) · 标签: RELEASE.2026-09-16T00-00-00Z · 软件包版本: 20260916000000.0.0。安装入口见下载页。 源码范围为已发布提交 9b11dc9469e6 到本版 2a4d51406b7e,共 210 个提交,其中 140 个非合并提交。本文覆盖该范围内的最终行为,包含 #214 之后的列表 quorum、版本 purge 和迁移标签修复。Go …
-
mcli 20260916 发布
版本: RELEASE.2026-09-16T00-00-00Z · 软件包: 20260916000000.0.0 · 源码: e952aa78f10a。 相对 20260913 的变化 接入 silo-pkg v3.14.1、上游 minio-go v7.3.1-0.20260915093545-32e1f32cb176 和 JWX v3.3.0。CopyObject 会重试并报告 HTTP 200 响应内嵌的 S3 错误,避免复制失败后授权 mv 删除源对象;JWX 正确转义输出 JSON …
版本: RELEASE.2026-09-16T00-00-00Z · 软件包: 20260916000000.0.0 · 源码: e952aa78f10a。 相对 20260913 的变化 接入 silo-pkg v3.14.1、上游 minio-go v7.3.1-0.20260915093545-32e1f32cb176 和 JWX v3.3.0。CopyObject 会重试并报告 HTTP 200 响应内嵌的 S3 错误,避免复制失败后授权 mv 删除源对象;JWX 正确转义输出 JSON …
-
mcli 20260913 发布
版本: RELEASE.2026-09-13T00-00-00Z · 软件包: 20260913000000.0.0 · 源码: 4f609a4d。 相对 20260903 的变化 mirror --remove --watch 保留目标端历史版本。 服务重启的 dry run 只显示计划,不执行重启;明确非交互环境行为。 传输与 S3 Select 出错时返回失败;空上传遵守显式校验和参数;quiet 模式下仍输出 pipe JSON。 布尔环境变量接受 on/off,修复跨平台 …
版本: RELEASE.2026-09-13T00-00-00Z · 软件包: 20260913000000.0.0 · 源码: 4f609a4d。 相对 20260903 的变化 mirror --remove --watch 保留目标端历史版本。 服务重启的 dry run 只显示计划,不执行重启;明确非交互环境行为。 传输与 S3 Select 出错时返回失败;空上传遵守显式校验和参数;quiet 模式下仍输出 pipe JSON。 布尔环境变量接受 on/off,修复跨平台 …
-
silo-pkg 3.14.0 发布
v3.14.0 于 2026-09-13 发布, 源码为 827f8109。 消费者直接引用 github.com/pgsty/silo-pkg/v3。 密码策略迁移 本版改变授权语义。 公共方法 Policy.IsAllowedActions 默认报告 admin:ChangeMyPassword,除非被明确拒绝; admin:CreateUser 必须显式授权。配套 Server/Console 中,单独拒绝 CreateUser 不再锁定调用者自己的密码, 拒绝 …
v3.14.0 于 2026-09-13 发布, 源码为 827f8109。 消费者直接引用 github.com/pgsty/silo-pkg/v3。 密码策略迁移 本版改变授权语义。 公共方法 Policy.IsAllowedActions 默认报告 admin:ChangeMyPassword,除非被明确拒绝; admin:CreateUser 必须显式授权。配套 Server/Console 中,单独拒绝 CreateUser 不再锁定调用者自己的密码, 拒绝 …
-
SN-2026-011:修复与发布状态
2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 截至 2026-09-13: SN-2026-011 已在 Server 主分支修复,起始提交为 123325430。 最新公开 Server RELEASE.2026-09-03T13-18-01Z 及此前公开版本仍受影响。 pkg v3.14.0、mcli 20260913 发布不代表已经发布修 …
2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 截至 2026-09-13: SN-2026-011 已在 Server 主分支修复,起始提交为 123325430。 最新公开 Server RELEASE.2026-09-03T13-18-01Z 及此前公开版本仍受影响。 pkg v3.14.0、mcli 20260913 发布不代表已经发布修 …
-
桶配置复制:来源时间、删除与确定性收敛
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 取消
2026-09-17 发布更新: 本文记录的修复(PR #162 与第二轮 PR #196)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 d1105bbb, …
2026-09-17 发布更新: 本文记录的修复(PR #162 与第二轮 PR #196)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 d1105bbb, …