Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 31 章 网络

libcurl 成功与需要 HTTP 主机名的服务器通信,以匹配 TLS 会话主机名

在以前的版本中,在某些情况下,网络安全服务(NSS)为具有不同主机名的服务器错误地重复使用 TLS 会话。因此,HTTPS 服务器可能会以 HTTP 错误 400 (Bad Request)响应。上游补丁应用于 libcurl 库的源代码,以防止 NSS 在 HTTP 主机名与 TLS 会话主机名不匹配时重复使用 TLS 会话。因此,libcurl 可以成功与需要 HTTP 主机名的服务器通信,以匹配 TLS 会话主机名。(BZ#1269855)

curl 不再需要用户指定的公钥

在此次更新之前,curl 工具需要私有和公共 SSH 密钥(相互包含)用于用户身份验证。因此,如果用户只提供私有 SSH 密钥(使用 scp 实用程序是常见做法),curl 无法验证用户。现在,应用了上游补丁来提高 SSH 用户身份验证,如果只提供了 SSH 私钥,curl 现在也成功验证用户。(BZ#1275769)

libcurl 不再截断长用户名和密码

以前,lib curl 库中的 URL 解析程序不支持任意密码。因此,用户名和密码超过 255 个字符会被截断。现在,在 libcurl 源代码中应用了一系列上游补丁,现在 libcurl 可以正确处理 URL 中的长用户名和密码。(BZ#1260178)

PycURLpycurl.POSTFIELDS 选项现在可以正常工作

在以前的版本中,PycURL 接口违反了 libcurl API,这需要由 CURLOPT_POSTFIELDS 选项传递的字符串保持有效,直到传输完成为止。因此,如果使用 pycurl.POSTFIELDS 选项,libcurl 会在其生命周期之外访问字符串,这会导致未定义的行为。PycURL 源代码中应用了上游补丁,以确保传递给 libcurlCURLOPT_POSTFIELDS 选项的字符串保持足够长,并且上面描述的问题不再发生。(BZ#1153321)

sctp_accept () 在超时事件期间调用时不再会导致死锁

在以前的版本中,当在 4 通道握手后,用户在心跳超时事件期间用户调用 sctp_accept () 时,可能会出现死锁。在这个版本中,这个程序错误已通过提供 assoc->base.sk 指针来解决,以确保 SCTP 正确锁定并解锁侦听套接字。(BZ#1270586)

如果堆栈大小被设置为无限,则不再出现内存不足消息

在此次更新之前,当堆栈大小被设置为无限时,使用 ftp 命令会 放置,从而导致 sysconf (_SC_ARG_MAX)功能返回 -1, 这会导致 malloc ()函数被调用为 0, 并导致出现内存不足信息。在这个版本中,底层源代码已被改进,以分配合理的最小内存。因此,如果堆栈大小之前设置为无限,则 内存不足 消息不再会出现。(BZ#1304064)

NetworkManager 不再为 dhclient 提供完整的 FQDN (DHCP_HOSTNAME)。

在以前的版本中,NetworkManager 始终仅在 DHCP 请求中发送机器主机名的主机部分。因此,无法强制发送完全限定域名(FQDN)。在这个版本中,用户可以使用 nmcli 配置在 DHCP 请求中发送的 FQDN,并将 ipv4.dhcp-fqdn 设置为所需的 FQDN,并确保启用了 ipv4.dhcp-send-hostname。在配置文件中,可以使用 DHCP_FQDN 变量指定 FQDN。(BZ#1255507)