curl 8.11.0 现已正式发布。这是第 262 个版本,包含了 5 项更改、266 个错误修复,共 435 次 commit。
具体更新内容如下:
Security
CVE-2024-9681:HSTS 子域覆盖父缓存条目。当 curl 被要求使用 HSTS 时,子域的到期时间可能会覆盖父域的缓存条目,使其比预期更早或更晚结束。
Changes
- –create-dirs 也适用于 –dump-header
- GnuTLS 后端添加了 P12 格式支持
- 添加了禁用 IPFS 的选项
- TLSv1.3 earlydata 支持(使用 GnuTLS)
- 官方 WebSocket 支持
Bugfixes
Build
- cmake:document -D 和 env 构建选项
- 配置:添加对“unity”构建的支持
- 配置:设置 linker flags 以允许 rustls 在 macos 上构建
curl
- 动态检测 ECH 支持,而不是在构建时检测
- 支持 –show-headers 和 –remote-header-name
- 使 –skip-existing 对 –parallel 有效
libcurl
- conncache:如果捆绑包被删除,请再次查找它
- curl.h:删除 CURL/CURLSH/CURLM 类型定义的结构指针
- ftp:修复从 stdin 上传时最后写入长度为 0 的问题
- hsts:在 max-age 附近正确支持“隐含 LWS”
- lib:删除 hmac/sha256/md5 的函数指针类型转换
- mprintf:不要忽略 %o、%x、%X 的长度修饰符
- mprintf:将 %o 视为无符号
- netrc:将netrc文件缓存在内存中
- url:重定向时使用相同的凭据
- urlapi:规范化 IPv6 地址
- ......
更多详情可查看完整公告。