版本构建时间相对于版本号的解释,例如 OpenSSL 1.0.1e 与 h

版本构建时间相对于版本号的解释,例如 OpenSSL 1.0.1e 与 h

最近,为了处理新发现的 SSL 错误,我升级了纯 Debian 发行版。 OpenSSL 报告的版本号为 1.0.1e,这不是最新的,但是,我被告知没关系,因为报告的构建时间由以下内容生成:

openssl版本-b

是 2014 年 6 月 4 日。所以,即使“版本”较旧,我确信 Debian 以某种方式“修补”了这些漏洞,所以我实际上并不需要安全帖子声称的 1.0.1h,因为我的 1.0.1e 是已修补。

我想我不明白这个。有人能解释一下到底发生了什么事吗?如果显示的是 1.0.1e,而不是应有的 1.0.1h,我怎么知道漏洞已被修补?为什么 Debian 不直接将 1.0.1h 放入发行版中?我不明白这一点。

答案1

您可能正在寻找 Debian stable,它根据定义保持软件包版本稳定。特定版本的稳定版附带的任何版本的 openssl 都将保留。对于安全修复,Debian 维护者将上游安全补丁向后移植到稳定版本,而不是升级稳定版本。如果您想要所有内容的最新上游版本,那么您将需要不稳定分支。

来自Debian 安全团队常见问题解答:

问:你为什么要摆弄该软件包的旧版本?

在制作修复安全问题的新软件包时,最重要的指导原则是尽可能少地进行更改。我们的用户和开发人员依赖于发布后的确切行为,因此我们所做的任何更改都可能会破坏某人的系统。对于库来说尤其如此:确保永远不会更改应用程序编程接口 (API) 或应用程序二进制接口 (ABI),无论更改有多小。

这意味着迁移到新的上游版本并不是一个好的解决方案,而是应该向后移植相关更改。一般来说,如果需要的话,上游维护者愿意提供帮助,如果没有,Debian 安全团队也许能够提供帮助。

在某些情况下,无法向后移植安全修复程序,例如需要修改或重写大量源代码时。如果发生这种情况,可能需要迁移到新的上游版本,但这必须事先与安全团队协调。

相关内容