5.2. 程序错误修复


这部分论述了 Red Hat Enterprise Linux 8.0 中修复的错误,它们对用户有严重影响。

5.2.1. Desktop

PackageKit 现在可在 rpm 软件包上运行

在这个版本中,在 rpm 软件包上操作的支持已添加到 PackageKit 中。

(BZ#1559414)

5.2.2. 图形基础结构

QEMU 无法正确处理 8 字节 ggtt 条目

QEMU 有时会将一个 8 字节的 ggtt 条目写入到两个连续的 4 字节写入操作中。这些部分写入各自可能会触发单独的主机 ggtt 写入。有时,两个 ggtt 写被错误地合并。因此,转换到机器地址会失败,并会出现错误日志。

(BZ#1598776)

5.2.3. 身份管理

企业安全客户端使用 opensc 库进行令牌检测

Red Hat Enterprise Linux 8.0 仅支持用于智能卡的 opensc 库。有了此更新,企业安全客户端(ESC)使用 opensc 而不是删除的 coolkey 库进行令牌检测。因此,应用程序可以正确地检测到支持的令牌。

(BZ#1538645)

证书系统现在支持轮转调试日志

在以前的版本中,证书系统使用自定义日志记录框架,它不支持日志轮转。因此,调试日志(如 /var/log/pki/instance_name/ca/debug )无限增长。在这个版本中,证书系统使用 java.logging.util 框架,它支持日志轮转。因此,您可以在 /var/lib/pki/instance_name/conf/logging.properties 文件中配置日志轮转。

有关日志轮转的更多信息,请参阅 java.util.logging 软件包的文档。

(BZ#1565073)

证书系统不再记录服务启动时 SetAllPropertiesRule 操作警告

在以前的版本中,当服务启动时,证书系统会在 /var/log/messages 日志文件中记录 SetAllPropertiesRule 操作的警告信息。这个问题已被解决,上面提到的警告不再被记录。

(BZ#1424966)

证书系统 KRA 客户端正确地解析 Key Request 响应

在以前的版本中,证书系统切换到新的 JSON 库。因此,某些对象的序列化会有所不同,Python 密钥恢复颁发机构(KRA)客户端无法解析 Key Request 响应。客户端已被修改,以支持使用旧和新的 JSON 库的响应。因此,Python KRA 客户端会正确解析 密钥请求 响应。

(BZ#1623444)

5.2.4. 编译器和开发工具

GCC 不再针对出站访问产生假的正警告

在以前的版本中,当使用 -O3 优化级别选项编译时,GNU Compiler Collection(GCC)偶尔会返回有关出站访问的假警告,即使编译的代码没有包含它。这个优化已被修复,GCC 不再显示假的正警告。

(BZ#1246444)

ltrace 可正确显示大型结构

在以前的版本中,ltrace 工具无法正确打印函数返回的大型结构。ltrace 中大型结构的处理已得到改进,它们现在可以正确打印。

(BZ#1584322)

GCC 内置功能 __builtin_clz 在 IBM Z 上返回正确的值

在以前的版本中,GCC 编译器错误地折叠 IBM Z 架构的 FLOGR 指令。因此,使用这个指令的 __builtin_clz 功能可能会在使用 -funroll-loops GCC 选项编译代码时返回错误的结果。这个程序错误已被解决,这个功能现在提供了正确的结果。

(BZ#1652016)

GDB 在批处理模式中的最后一个命令失败时提供非零退出状态

在以前的版本中,在以批处理模式运行时,GDB 始终以状态 0 退出,无论命令中出现什么错误。因此,无法确定命令是否成功。这个行为已被更改,GDB 现在会在上一命令发生错误时退出状态 1。这样可保持与之前执行所有命令的行为的兼容性。因此,现在可以确定 GDB 批处理模式是否成功执行。

(BZ#1491128)

5.2.5. 文件系统和存储

更高的打印级别不再导致 iscsiadm 意外终止

在以前的版本中,当用户使用 --print-P 选项指定大于 0 的打印级别时,iscsiadm 程序会意外终止。这个问题已被解决,所有打印级别现在都可以正常工作。

(BZ#1582099)

multipathd 无法获取路径的 WWID 时,它不再禁用该路径

在以前的版本中,multipathd 服务会把一个路径的 WWID 视为获得空 WWID 的失败尝试。如果 multipathd 无法获取路径的 WWID,有时会禁用该路径。

在这个版本中,如果在检查是否改变时无法获取 WWID,则 multipathd 会继续使用旧的 WWID。

因此,当当检查 WWID 是否已更改时,当 multipathd 不能得到 WWID 时,它不再禁用路径。

(BZ#1673167)

5.2.6. 高可用性和集群

新的 /etc/sysconfig/pcsd 选项拒绝客户端发起的 SSL/TLS 重新协商

当在服务器上启用 TLS 重新协商时,客户端可以发送重新协商请求,该请求将启动新的握手。握手的计算要求在服务器上高于客户端。这使得服务器易受 DoS 攻击。在这个版本中,/etc/sysconfig/pcsd 配置文件中设置 PCSD_SSL_OPTIONS 会接受 OP_NO_RENEGOTIATION 选项来拒绝重新协商。请注意,客户端仍然可以打开多个与在所有服务器中执行握手的服务器的连接。

(BZ#1566430)

删除的集群节点不再显示在集群状态中

在以前的版本中,当使用 pcs cluster node remove 命令删除一个节点时,删除的节点会在 pcs status 显示的输出中保持可见。在这个版本中,删除的节点不再显示在集群状态中。

(BZ#1595829)

现在可以使用更新的首选参数名称或已弃用的参数名称来配置隔离代理

大量隔离代理参数已被重命名,而旧参数名称仍被支持为已弃用。在以前的版本中,pcs 无法设置新参数,除非与 --force 选项一同使用。在这个版本中,pc s 现在支持重命名的隔离代理参数,同时保持对已弃用参数的支持。

(BZ#1436217)

pcs 命令现在可以正确地读取集群的 XML 状态。

pcs 命令以 XML 格式运行 crm_mon 实用程序来获取群集的状态。crm_mon 实用程序将 XML 打印到标准输出,并将警告打印到标准错误输出。以前,pcs 将 XML 和警告混合到一个流中,无法将其作为 XML 解析。在这个版本中,标准和错误输出在 pcs 中分离,并读取集群的 XML 状态可以正常工作。

(BZ#1578955)

在从现有集群创建新集群时,用户不再建议销毁集群

在以前的版本中,当用户在运行 pcs cluster setup 命令时指定现有集群中的节点或者使用 pcsd Web UI 创建集群时,pcs 将其报告为一个错误,并建议用户销毁节点上的集群。因此,用户会销毁节点上的集群,破坏节点所属的集群节点,因为剩余的节点仍会将销毁的节点视为集群的一部分。在这个版本中,建议用户从其集群中删除节点,从而更好地通知他们如何在不中断集群的情况下解决问题。

(BZ#1596050)

pcs 命令不再以交互方式请求凭证

当非 root 用户运行需要 root 权限的 pcs 命令时,pcs 会连接到本地运行的 pcsd 守护进程,并将命令传给它,因为 pcsd 守护进程使用 root 权限来运行,所以可以运行该命令。在以前的版本中,如果用户没有认证到本地 pcsd 守护进程,则 pcs 会要求输入用户名和密码。这给用户造成混淆,要求在运行 pcs 的脚本中进行特殊处理。在这个版本中,如果用户未通过身份验证,则 pcs 退出并显示应执行的操作: 无论是以 root 身份运行 pcs,还是使用新的 pcs client local-auth 命令进行身份验证。因此,pcs 命令不会以互动方式询问凭证,改进用户体验。

(BZ#1554310)

现在,当 crypto-policies 被设置为 FUTURE 时,pcsd 守护进程会使用其默认自生成的 SSL 证书启动。

FUTUREcrypto-policies 设置需要 SSL 证书中的 RSA 密钥至少为 3072b 长。在以前的版本中,当设置了此策略时,pcsd 守护进程不会启动,因为它使用 2048b 密钥生成 SSL 证书。有了这个更新,pcsd 自生成的 SSL 证书的密钥大小已增加到 3072b,并且 pcsd 现在使用其默认自生成的 SSL 证书启动。

(BZ#1638852)

pcsd 服务现在在网络就绪时启动

在以前的版本中,当用户配置了 pcsd 来绑定到特定 IP 地址,且当 pcsd 试图启动时,地址在启动过程中未准备好,则 pcsd 无法启动,需要手动干预来启动 pcsd。有了此修复,pcsd.service 依赖于 network-online.target。因此,当网络就绪且可绑定到 IP 地址时,pcsd 可以启动。

(BZ#1640477)

5.2.7. 网络

glib-networking不再允许弱 TLS 算法

在以前的版本中,glib-networking 软件包与 RHEL 8 系统范围的 Crypto 策略不兼容。因此,使用 glib 库进行联网的应用程序可能会允许使用较弱算法的传输层安全(TLS)连接。有了此更新,会应用系统范围的加密策略,现在为网络使用 glib 的应用程序只允许按照策略可接受的 TLS 连接。

(BZ#1640534)

5.2.8. 安全性

SELinux 策略现在允许 iscsiuio 进程连接到发现门户

在以前的版本中,对于 iscsiuio 进程,SELinux 策略的限制太强,这些进程无法使用 mmap 系统调用访问 /dev/uio* 设备。因此,到发现门户的连接会失败。此更新在 SELinux 策略中添加了缺少的规则,在上述场景中,iscsiuio 进程可以按预期正常工作。

(BZ#1626446)

5.2.9. 订阅管理

dnfyum 现在无论 subscription-manager 值都可以访问存储库

在以前的版本中,dnfyum 命令会忽略 subscription-manager 服务添加的 URL 中的 https:// 前缀。更新的 dnfyum 命令不会忽略无效的 https:// URL。因此,dnfyum 无法访问存储库。为解决这个问题,新的配置变量 proxy_scheme 已添加到 /etc/rhsm/rhsm.conf 文件中,其值可以设置为 httphttps。如果没有指定值,subscription-manager 会使用更常用的默认值设置 http

请注意,如果代理使用 http,大多数用户不应更改 /etc/rhsm/rhsm.conf 中的配置中的任何内容。如果代理使用 https,用户应将 proxy_scheme 的值更新为 https。然后,在这两种情况下,用户都需要运行 subscription-manager repos --list 命令,或等待 rhsmcertd 守护进程进程正确重新生成 /etc/yum.repos.d/redhat.repo

(BZ#1654531)

5.2.10. 虚拟化

在 Azure 上挂载临时磁盘现在可以更可靠

在以前的版本中,如果虚拟机"停止(取消分配)",然后启动,在 Microsoft Azure 平台上运行的虚拟机(VM)中挂载临时磁盘会失败。在这个版本中,在上述情况下可以正确处理磁盘重新连接,这可防止问题的发生。

(BZ#1615599)

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.