按照 curl 作者 Daniel Stenberg 的规划,日前发布的 7.88.0 应该是 7.x 系最后一个版本。但事出有变,由于要修复 7.88.0 版本中的一个 bug;开发团队决定再发布了一个 bug 修复更新,即 7.88.1 版本。
具体更新内容如下:
Bug 修复
http2 多路复用数据损坏
这是触发 7.88.1 补丁版本发布的主要原因。在某些情况下,当数据以 HTTP/2 多路复用流的形式传输时,curl 会弄错并导致保存的数据损坏。它将从内部缓冲区获得错误的数据。
这是一个早就存在的 bug,但最近的更改提升了它被触发的可能性。
使连接超时使用完整的持续时间
在某些情况下,curl 在进行连接时只允许给定超时期限的一半。
runtests:修复 “uninitialized value $port”
在启用 verbose 模式的情况下运行测试套件,它会出错并显示此消息。
测试:确保 gnusev-tls 在使用前有 SRP 支持
测试套件使用 gnusev-tls 来验证 SRP 身份验证。只有在启动时发现这个工具,它才会使用,但由于最近对提供这个工具的 GnuTLS 项目进行了更改,它现在默认禁用 SRP 构建,因此不能用于此测试。现在,测试脚本还会在尝试使用之前检查它是否确实支持 SRP。
setopt:未定义 HTTP2 时允许 HTTP3
如果构建不支持 HTTP/2,则回归使得无法请求 HTTP/3。
socketpair:读取对检查字节时允许 EWOULDBLOCK
7.88.0 中的修复结果导致偶尔出现问题(至少在 Windows 上),这是对 socketpair emulation 验证的后续改进。当创建对并验证它是否有效时,必须确保代码正确处理 EWOULDBLOCK。
领取专属 10元无门槛券
私享最新 技术干货