您现在的位置是:首页 > 文章详情

cURL 7.86 发布,添加实验性 WebSocket 支持、移除 NPN 支持

日期:2022-10-27点击:370

cURL 7.86 已发布,此版本添加实验性 WebSocket 支持、移除 NPN 支持,并带来大量修复。

重点

已移除 NPN 支持

curl 不再支持使用 NPN 协商 HTTP/2。执行此操作的标准方法长期以来一直是 ALPN,且浏览器几年前就取消了对 NPN 的支持。

WebSocket API

此版本中包含一个实验性 WebSocket API ,它以三个新功能和一个新的 setopt 选项来控制行为。

WebSocket API 的详细介绍

Bug修复

一些已解决的问题:

  • aws_sigv4 标头计算代码进行了重大改革。
  • curl 手册页详细说明了每个选项的多用途
  • 弃用带有小 curl_off_t 的构建,这个版本的  curl 不再支持在没有 64 位数据类型的系统上构建。
  • ngtcp2 配置选项默认为“否”,需要明确要求在构建中启用 ngtcp2。
  • 拒绝带有 TAB 字符的 cookie 名称或内容,名称或内容中带有标签的 Cookie无法互操作, curl 将它们保存到磁盘时会出问题,因此拒绝。
  • 对于带有 gcc + want 警告的构建,设置 gnu89 标准,为了更好地确保兼容性。
  • 使用 -O2 作为默认优化配置中的 clang
  • 警告 –ssl 使用是“不安全的”
  • ctype 函数转换为仅宏,用宏替换了整个函数族
  • 100 多个文档拼写修复
  • 使 nghttp2 对 HTTP/2 中的字段空白不那么挑剔,如果使用新的 nghttp2 库构建,curl 对标题字段后的尾随空格不那么挑剔
  • 使用 URL 解码的用户名进行 .netrc 解析,这种回归使得 curl 在使用 .netrc 文件查找相应密码时,无法正确解码 URL 中提供的用户名。
  • 使 certinfo 可用于 QUIC,CURLOPT_CERTINFO选项现在适用于 QUIC/HTTP/3 传输。
  • 强制 IPv4 传输仅使用 A 查询,当要求 curl 仅使用 IPv4 进行传输时,curl 现在仅解析 IPv4 名称。但很大一部分系统在请求 AAAA 地址时会出现问题,因此需要使用此选项来避免 bug。
  • schannel:导入 PFX 时,禁用密钥持久性,使用 Schannel 后端时的一些操作会导致之后磁盘上的剩余文件。
  • 添加和使用 Curl_timestrcmp,curl 在比较库中的密钥时使用这个新的恒定时间函数,避免使用时间作为反馈来判断猜测用户名或密码。
  • curl:防止在并行模式下过度排队,命令行工具过于急切地在并行模式下创建和排队等待传输,使得具有数百万传输的命令行很容易使用海量的内存。
  • url 解析器:在不猜测时更好地提取方案
  • 使用 CURLU_URLENCODE 修复不带斜线的解析 URL
  • url 解析器:更精简,分配更少,URL 解析器现快了几个百分点,且减少了内存分配。
  • url 解析器:拒绝主机名字段中的坏字符
  • wolfSSL:修复会话管理错误,由于缺少引用计数器,会话 ID 缓存处理可能会触发崩溃。

未来计划

计划在未来移除以下功能:

  • 支持没有 64 位数据类型的系统
  • 支持 NSS TLS 库

 

更新公告:https://daniel.haxx.se/blog/2022/10/26/7-86-0-with-websocket/

原文链接:https://www.oschina.net/news/215275/curl-7-86-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章