第 5 章 软件包更新
5.1. 389-ds-base
程序错误修复
安全修复
- CVE-2012-2678
- 389 Directory Server 处理密码更改的方式中发现了一个安全漏洞。如果 LDAP 用户更改了其密码,且目录服务器没有重启,则攻击者能够绑定到目录服务器,可以通过"unhashed"属性获取该用户的密码的纯文本版本。
- CVE-2012-2746
- 找到,当 LDAP 用户的密码被改变时,启用了审计日志记录(默认为禁用),新密码以纯文本形式写入审计日志。这个更新引入了一个新的配置参数 "nsslapd-auditlog-logging-hide-unhashed-pw",当设为 "on" (默认选项)时,防止 389 Directory Server 将纯文本密码写入审计日志。这个选项可以在
/etc/dirsrv/slapd-ID/dse.ldif
中配置。
安全修复
- CVE-2012-0833
- 在 389 目录服务器守护进程(ns-slapd)使用证书组处理访问控制指令(ACI)的方式中发现了一个安全漏洞。如果定义了证书组的 LDAP 用户试图绑定到目录服务器,则会导致 ns-slapd 进入无限循环并消耗大量 CPU 时间。
程序错误修复
- BZ#743979
- 在以前的版本中,389 目录服务器使用读/写锁定机制的 Netscape Portable Runtime (NSPR)实现。因此,服务器有时会停止对负载过重的请求做出响应。在这个版本中,原始锁定机制替换为 POSIX (可移植操作系统接口)读/写锁定机制。服务器现在始终在负载过重时响应。
- BZ#745201
- 在以前的版本中,访问 LDAP 比较操作的日志记录中没有包括可辨识名称(DN)。因此,访问日志中缺少此信息。这个版本修改了底层源代码,以便记录 DN,并可在访问日志中找到。
- BZ#752577
- 在以前的版本中,当 389 目录服务器负载非常重时,在网络出现大量负载和运行时,客户端连接有时会出现问题。当服务器向客户端发送简单 Paged Result (SPR)搜索结果时,当服务器有连接问题时,称为清理例程的 LDAP 服务器会错误地调用清理过程。因此,会发生内存泄漏,服务器会意外终止。在这个版本中修复了底层源代码,以确保清理任务被正确运行,且不会发生内存泄漏。因此,在服务 SPR 请求时,服务器不会终止或变得无响应。
- BZ#757897
- 在以前的版本中,服务器无法有效地执行带有 Change Sequence Number (CSN)的某些操作。因此,在内容复制期间执行大量 CSN 操作时,ns-slapd 守护进程最多消耗 100% 的 CPU 时间。在这个版本中,底层源代码已被修改,以便有效地执行 CSN 操作。因此,可在内容复制过程中执行大量 CSN 操作,而无需性能问题。
- BZ#757898
- 在以前的版本中,当检查简单身份验证和安全层(SASL)身份映射时,在 SASL GSSAPI 验证方法的底层代码中无法正确发布分配的内存。这个问题可能会在处理 SASL 绑定请求时导致内存泄漏,这最终会导致 LDAP 服务器因为分段错误而意外终止。在这个版本中,添加了正确释放内存所需的功能调用。内存泄漏不再发生,LDAP 服务器在这种情况下不再崩溃。
- BZ#759301
- 在以前的版本中,389 目录服务器无法正确处理 Entry USN (Update Sequence Number)索引。因此,索引有时会与主数据库和搜索操作不同步,而对 USN 条目的搜索操作会返回不正确的结果。这个版本修改了 Entry USN 插件的底层源代码。因此,Entry USN 索引现在由服务器正确处理。
- BZ#772777
- 在以前的版本中,搜索过滤器属性是规范化的,并且为搜索结果集中的每个条目重复编译正则表达式。因此,使用带有许多属性和子字符串的搜索过滤器会导致搜索性能不佳。在这个版本中,确保在应用前预先编译和预规范化搜索过滤器。当应用带有许多属性和子字符串子字符串的搜索过滤器时,这些更改提高了搜索性能。
- BZ#772778
- 在以前的版本中,要缓存的 ACI (访问权限控制信息记录)的数量限制为 200。因此,根据 200 ACI 评估 Directory Server 条目失败,并显示以下错误消息:
acl_TestRights - cache overflown
在这个版本中,默认的 ACI 缓存限制增加到 2000,并允许通过配置文件条目 "cn=ACL Plugin,cn=config" 中的新参数nsslapd-aclpb-max-selected-acls
来配置它。因此,除非超过了新限制,否则不会显示上述错误消息,现在可以在需要时更改限制。 - BZ#772779
- 在以前的版本中,恢复命令包含一个包括无限循环的代码路径。因此,在从数据库备份执行恢复时,389 目录服务器有时会变得无响应。在这个版本中,从底层源代码中删除无限循环代码路径。因此,服务器在执行数据库恢复时不会停止响应。
- BZ#781485
- 在以前的版本中,允许 ldapmodify 操作来修改 RUV (Replica Update Vector)条目。因此,在执行此类操作时,389 Directory Server 变得无响应。在这个版本中,不允许直接修改 RUV 条目。因此,服务器在执行此类操作时不会停止响应,并返回错误消息 advising usage of the CLEANRUV 操作。
- BZ#781495
- 在以前的版本中,要识别 389 Directory Server 的重启事件,
logconv.pl
脚本搜索服务器日志 "conn=0 fd=" string.因此,脚本会报告一个错误的服务器重启数量。在这个版本中,修改脚本以改为搜索 "conn=1 fd=" 字符串。因此,现在会返回正确的服务器重启数量。 - BZ#781500
- 当从 LDIF (LDAP Data Interchange Format)文件重新载入数据库时,其中包含带有过时或停用的复制 master 的 RUV 元素时,更改日志会无效。因此,389 目录服务器发出了错误消息和需要重新初始化。在这个版本中,确保用户正确告知用户已过时或停用的复制 master,这些 master 已从 RUV 条目中删除。现在,在这种情况下,数据库会如预期重新载入。
- BZ#781516
- 在以前的版本中,当非叶节点成为 tombstone 条目时,其子条目会丢失父子关系。因此,在子 tombstone 条目前,非叶的 tombstone 条目可能已被获取。在这个版本中修复了底层源代码,以便在删除非叶条目时也保持父子关系。因此,tombstones 现在以底部顺序正确获取。
- BZ#781529
- 在以前的版本中,在更新 389 Directory Server 的受管条目条目之前,不会针对受管条目模板验证受管条目属性。因此,在更新没有包含在受管条目模板中的原始条目属性后,受管条目可能会被更新。在这个版本中,添加了一个检查,将修改后的属性与受管条目模板属性进行比较。因此,受管条目不会更新,除非受管条目模板中包含原始条目的修改属性。
- BZ#781533
- 在以前的版本中,389 目录服务器不会在所有运行的任务完成前关闭。因此,当执行长时间运行的任务时,目录服务器有时会需要很长时间才能关闭。这个版本增强了底层源代码,在性能长时间运行任务期间检查服务器关闭请求。因此,即使处理长时间运行的任务,服务器也会在标准时间内关闭。
- BZ#781537
- 在以前的版本中,389 目录服务器预期
authzid
属性的值被完全编码了 BER (基本编码规则)。因此,在使用代理授权执行 ldapsearch 命令时会返回以下错误:unable to parse proxied authorization control (2 (protocol error))
在这个版本中,修改底层源代码,因此不需要完整的 authzid 值的 BER 编码。因此,上面描述的场景中不会返回任何错误。 - BZ#781538
- 在以前的版本中,匹配规则 OID (对象标识符)的缓冲的固定大小为 1024 个字符。因此,匹配的规则 OID 会在其总长度超过 1024 个字符时被截断。在这个版本中,修改底层源代码以使用动态分配的缓冲区,而不是使用固定大小。因此,任何数量的匹配规则 OID 可以在不截断的情况下处理。
- BZ#781539
- 在以前的版本中,在 "cn=config" 对象上执行 ldapsearch 命令会返回对象的所有属性,包括带有空值的属性。在这个版本中,确保带有空值的属性不会保存到 "cn=config" 中,并使用检查空属性来增强 ldapsearch 命令。因此,在上述场景中仅返回具有值的属性。
- BZ#781541
- 在以前的版本中,使用代理用户作为执行操作的用户包含 main 用户执行的操作记录。在这个版本中,确保代理用户记录在搜索、add、mod、del 和 modrdn 操作的日志记录中。
- BZ#784343
- 在以前的版本中,通过检查是否存在
.pid
文件来检查服务器是否离线,数据库升级脚本会检查。然而,在某些情况下,即使关联的进程已经终止,文件仍会存在。因此,升级脚本有时会假设 Directory Server 在线,即使服务器实际离线,也不会进行数据库升级。在这个版本中,添加了一个显式测试,用于检查.pid
文件中引用的进程是否确实在运行。因此,升级脚本现在可以正常工作。 - BZ#784344
- 在以前的版本中,repl-monitor 命令只使用主机名的子域部分进行主机识别。因此,具有相同子域部分的主机名(例如:"ldap.domain1", "ldap.domain2")被识别为单个主机,且生成不准确输出。在这个版本中,确保整个主机名用于主机识别。因此,所有主机名都被识别为独立的,repl-monitor 命令的输出是准确的。
- BZ#788140
- 在以前的版本中,服务器使用非规范化 DN 字符串来执行内部搜索和修改操作,而代码用于修改操作预期的规范化 DN 字符串。因此,在使用非常规格式指定的域名执行复制时,会记录类似以下的错误消息:
NSMMReplicationPlugin - repl_set_mtn_referrals: could not set referrals for replica dc=example,dc=com: 32
在这个版本中,确保 DN 字符串在修改操作之前被规范化。因此,复制不会在上述场景中生成错误消息。 - BZ#788722
- 在以前的版本中,
389-ds-base/ldap/servers/snmp/
目录包含没有版权标头的.mib
文件。因此,由于版权原因,这些文件不能包含在某些 Linux 发行版中。这个版本将所有此类文件的信息合并到redhat-directory.mib
文件中,该文件包含必要的版权信息,并确保它是目录中的唯一文件。因此,没有版权问题阻止 389 目录服务器包含在任何 Linux 发行版本中。 - BZ#788724
- 在以前的版本中,可扩展搜索过滤器的底层源代码使用
strcmp
例程进行值比较。因此,使用带有二进制数据的可扩展搜索过滤器返回不正确的结果。这个版本修改了底层源代码以使用二进制感知功能。因此,可扩展的搜索过滤器可以与二进制数据正常工作。 - BZ#788725
- 在以前的版本中,搜索过滤器的值规范化不会遵循使用的过滤器类型和匹配规则。因此,当对 search 属性语法使用不同的值时,搜索会尝试返回不正确的结果。在这个版本中,修改了底层源代码,以使用规范化敏感来匹配过滤属性和值的规则。因此,会根据匹配规则返回搜索结果。
- BZ#788729
- 在以前的版本中,在 Directory 服务器上,数据库中子条目的 tombstones 会错误地处理。因此,如果数据库包含转换为 tombstones 的已删除条目,尝试重新索引
entryrdn
索引会失败,并显示以下错误消息:_entryrdn_insert_key: Getting "nsuniqueid=ca681083-69f011e0-8115a0d5-f42e0a24,ou=People,dc=example,dc=com" failed
在这个版本中,389 目录服务器可以正确地处理子条目的 tombstones,entryrdn
索引现在可以成功重新索引且没有错误。 - BZ#788731
- 在以前的版本中,RUV tombstone 条目被
entryrdn
索引错误地索引。因此,尝试搜索这些条目将无法成功。在这个版本中,确保对entryrdn
索引中的 RUV tombstone 条目的正确索引,并尝试此类条目现在可以成功。 - BZ#788741
- 在以前的版本中,DNA (分布式分配)插件对请求使用太短的超时来复制一系列 UID。因此,在带有高延迟的网络中使用复制与 DNA 添加用户有时会失败,返回以下出错信息:
Operations error: Allocation of a new value for range cn=posix ids,cn=distributed numeric assignment plugin,cn=plugins,cn=config failed
在这个版本中,此类复制请求的默认超时时间被设置为 10 分钟。因此,使用带有 DNA 的复制来添加用户时不会返回任何错误,操作会成功。 - BZ#788745
- 在以前的版本中,当更改复制角色时,在 RUV 中更改序列号(CSN)不会被刷新。因此,服务器上的数据不一致。在这个版本中,确保在复制角色更改时刷新 CSN。因此,在前面提到的情形中,不再会出现数据不一致的问题。
- BZ#788749
- 在以前的版本中,日志文件中不会明确报告模式文件中的错误。因此,信息可能会被错误地解释为
dse.ldif
文件中报告错误。在这个版本中,修改错误消息,以便它们包含找到错误的文件的名称和路径。 - BZ#788750
- 在以前的版本中,服务器在升级后使用 nisDomain 模式的过时版本。因此,在升级后重启 389 Directory Server 会产生以下出错信息:
attr_syntax_create - Error: the EQUALITY matching rule [caseIgnoreMatch] is not compatible with the syntax [1.3.6.1.4.1.1466.115.121.1.26] for the attribute [nisDomain]
此更新可确保服务器使用最新版本的 nisDomain 模式。因此,升级后重启服务器不会显示任何错误。 - BZ#788751
- 389 目录服务器之前在完成规范化操作后无法正确释放分配的内存。这会导致在服务器运行时发生内存泄漏。在这个版本中,底层代码可以正确释放内存,以便在这些情况下不再发生内存泄漏
- BZ#788753
- 在以前的版本中,cn=monitor 模式中没有包括 "connection" 属性,这会导致访问控制信息(ACI)处理代码忽略 ACI。因此,当对 cn=monitor 执行匿名搜索时请求
connection
connection
属性。 - BZ#788754
- 在以前的版本中,在服务器运行时有时会发生几个内存泄漏错误。在这个版本中解决了所有内存泄漏错误,因此不会再发生它们。
- BZ#788755
- 在以前的版本中,对于 389 目录服务器,IPv4-mapped IPv6 地址被视为独立的地址。因此,当此类地址与标准 IPv4 地址冲突时,会在服务器启动过程中报告错误。在这个版本中,确保每个 IPv4 映射 IPv6 地址的 IPv4 部分与现有的 IPv4 地址进行比较。因此,即使 IPv4 映射 IPv6 地址与标准 IPv4 地址冲突,服务器也会以无错误开头。
- BZ#788756
- 在以前的版本中,389-ds-base man page 包含多个拼写错误和事实错误。在这个版本中修正了 man page,以便它们包含正确的信息,且没有拼写错误。
- BZ#790491
- 在以前的版本中,在初始化目录服务器副本时有时会发生 NULL pointer dereference。因此,服务器会意外终止,并显示分段错误。在这个版本中,通过检查 NULL 值增强了副本初始化的底层源代码。因此,副本初始化总是成功完成。
- BZ#796770
- 在以前的版本中,在带有孤立 tombstone 条目的操作过程中有时会发生双空闲错误。因此,当将孤立的 tombstone 条目传递给
tombstone_to_glue
功能时,Directory 服务器会意外终止。在这个版本中修复了获取上级 tombstone 条目的逻辑,并消除了将 tombstone 条目转换为孤立条目的机会。因此,意外的服务器终止不再发生在上述场景中。 - BZ#800215
- 在以前的版本中,在 ldapcompare 命令代码中错误地处理内部循环。因此,对虚拟属性执行并发比较操作会导致 Directory 服务器变得无响应。在这个版本中解决了内部循环问题。因此,服务器在不出现问题的情况下执行并发比较操作。
- BZ#803930
- 在以前的版本中,当升级 389 目录服务器时,会在实际升级步骤完成前启动服务器启动。因此,启动会失败并显示以下错误消息:
ldif2dbm - _get_and_add_parent_rdns: Failed to convert DN cn=TESTRELM.COM to RDN
在这个版本中,确保服务器在升级过程完成前不会启动。因此,服务器在升级后成功启动。 - BZ#811291
- 在以前的版本中,当执行范围的搜索操作时,当删除条目时,范围读取操作的代码无法正确处理情况。因此,在负载过重时同时执行 delete 和 ranged search 操作会导致 Directory Server 意外终止。在这个版本中,底层源代码可以正确处理这种情况。因此,服务器不会在同时负载时执行删除和范围搜索操作前终止。
- BZ#813964
- 当在高负载下对 389 目录服务器执行删除和搜索操作时,到堆栈缓冲区的 DB_MULTIPLE_NEXT 指针可能会被设置为无效的值。因此,指针的 dereference 会导致尝试访问没有为堆栈缓冲区分配的内存。这会导致服务器意外终止并出现分段错误。在这个版本中,DB_MULTIPLE_NEXT pointer 可以被正确测试。如果指针的值无效,则页面或值被视为已删除,并重新加载堆栈缓冲区。因此,在这种情况下不再会发生分段错误。
- BZ#815991
ldap_initialize()
功能不是 thread-safe。因此,在使用带有许多复制协议的复制时,389 目录服务器在启动时意外终止。在这个版本中,确保调用ldap_initialize()
功能会受到相互排除的保护。因此,当使用带有许多复制协议的复制时,服务器会正确启动。- BZ#819643
- 由于底层源代码中的错误,如果新字符串序列与某些字母不同,则尝试重命名 RDN (Relative Distinguished Name)字符串会失败。在这个版本中修复了代码,以便可以将 RDN 重命名为具有相同字符串序列,但大小写不同。
- BZ#821542
- 在以前的版本中,重命名 DN 字符串时会忽略字母问题单信息。因此,如果新字符串序列仅在某些字母时有所不同,则 DN 字符串仅转换为小写,且问题单信息会丢失。在这个版本中,修改底层代码,以便现在可以将 RDN 重命名为具有相同字符串序列,但大小写不同。
- BZ#822700
- 在以前的版本中,ACI 处理的代码不会拒绝错误指定的 DN。因此,在 ACI 中错误指定的 DN 会导致 389 Directory Server 在启动或在线导入过程中意外终止。在这个版本中,确保 ACI 处理的基本源代码拒绝错误指定的 DN。因此,服务器不会在这种情况下终止。
- BZ#824014
- 在以前的版本中,代码直接处理 “
entryusn
” 属性修改的缓存条目。因此,在负载过重时,使用启用了引用完整性的 “entryusn
” 和 “memberof
” 属性执行 delete 和 search 操作时,服务器会意外终止。在这个版本中,确保不会直接在缓存中修改条目。因此,服务器会在前面描述的条件中执行搜索,而不会意外终止。
功能增强
- BZ#683241
- 在以前的版本中,在初始操作结果返回 LDAP 客户端后,执行 post-operation 插件。因此,初始操作的一些结果可能不会立即可用。这个版本引入了 "betxnpreoperation" 和 "betxnpostoperation" 插件类型。这些类型的插件在初始操作的常规事务中运行。因此,当使用这些插件类型时,初始操作触发的操作会在完成初始操作前完成。
- BZ#766322
- 在以前的版本中,无法轻松确定 LDAP 客户端应使用的默认搜索基础。因此,没有配置搜索基础的 LDAP 客户端会尝试针对 389 Directory Server 搜索。在这个版本中,在 root DSE (Directory Server Entry)中添加了一个新属性 defaultNamingContext。因此,客户端可以查询 root DSE 以获取 defaultNamingContext 属性的值,并使用返回的值作为搜索基础。
- BZ#768086
- 在这个版本中引进了 nsslapd-minssf-exclude-rootdse 配置属性,带有可能的值 "on" 和 "off"。如果它的值是 "off" (默认值),服务器允许客户端访问根 DSE,即使 Security Strenght Factor (SSF) 值小于 nsslapd-minssf 属性值。因此,即使剩余的服务器需要 SSL/TLS,也可以允许访问根 DSE。
- BZ#768091
- 在以前的版本中,对于 Managed Entry Config 条目不允许 delete 操作。因此,尝试删除这些条目会被拒绝,并显示以下错误消息:
ldap_delete: Server is unwilling to perform (53) additional info: Not a valid operation.
在这个版本中,修改底层源代码,以便允许删除 Managed Entry Config 条目,并可成功执行。 - BZ#781501
- 在以前的版本中,在 389 目录服务器中的 LDAP 客户端无法使用扩展用户帐户信息。在这个版本中,增加了对帐户 Usable Request Control 的支持,它允许 LDAP 客户端获得扩展用户帐户信息。
- BZ#788760
- 在以前的版本中,
logconv.pl
脚本只能为文件或请求的周期生成操作摘要。在这个版本中引进了用于生成每秒统计的-m
选项,使用-M
选项生成每分钟的统计数据。统计数据以 CSV 格式生成,适合进一步处理。 - BZ#790433
- 在以前的版本中,所有新创建的条目都必须手动添加到组中。在这个版本中,添加了一个新的插件,这样可确保在与特定条件匹配时自动将每个新条目添加到组中。
5.2. abrt 和 libreport
安全修复
- CVE-2012-5659
- 它发现,/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 工具没有足够地清理其环境变量。这可能会导致从非标准目录(如 /tmp/)加载并运行 Python 模块。一个本地的攻击者可以利用此漏洞将其权限升级到一个brt 用户的权限。
- CVE-2012-5660
- 在 ABRT 处理用于存储崩溃信息的目录的方式中发现了一个竞争条件。具有无人权限的本地攻击者可以利用此漏洞执行符号链接攻击,可能会允许他们将权限升级到 root。
5.3. abrt、libreport、btparser 和 python-meh
安全修复
- CVE-2012-1106
- 如果启用了 ABRT 中的 C 处理程序插件(默认安装了 abrt-addon-ccpp 软件包)和 abrt-ccpp 服务,并且 sysctl fs.suid_dumpable 选项被设置为 "2" (默认为 "0"),则设置用户 ID (setuid)程序的核心转储是不安全的组 ID 权限。这可以允许本地无特权用户从 setuid 进程的内核转储文件获取敏感信息,否则它们将无法访问。
- CVE-2011-4088
- ABRT 不允许用户在提交敏感数据之前轻松搜索收集的崩溃信息。这可能会导致用户意外通过提交的崩溃报告公开敏感信息。在这个版本中,添加了在所有收集的数据间搜索的功能。请注意,这个修复不适用于默认配置,其中报告会发送给红帽客户支持。它只对向 Red Hat Bugzilla 发送信息的用户生效。
程序错误修复
- BZ#809587, BZ#745976
- 当使用 ABRT GUI 使用菜单按钮报告错误报告 ABRT 的问题时,会创建一个空错误。在这个版本中,删除了这个按钮,因为它仅用于测试目的。
- BZ#800828
- 当新转储目录通过 reporter-upload 程序保存到
/var/spool/abrt-upload/
时,ABRT 守护进程将转储目录复制到/var/spool/abrt/
,并递增了之前已递增的崩溃计数。由于崩溃计数递增两次,因此转储目录被标记为本身的副本并删除。在这个版本中,远程上传的转储目录不再递增崩溃计数,从而解决了这个问题。 - BZ#747624
- /usr/bin/abrt-cli 工具缺少 man page。在这个版本中,添加了
abrt-cli (1)
手册页。 - BZ#796216
- 分析内核 oops 的行会导致
line
变量释放两次。在这个版本中解决了这个程序错误,内核 oopses 已被正确地分析。 - BZ#770357
- 在此次更新之前,因为
mailx
插件缺少了 mailx 插件的默认配置文件,通过mailx
插件的 ABRT 电子邮件通知无法正常工作。在这个版本中,为mailx
插件添加了一个默认配置文件:/etc/libreport/plugins/mailx.conf
。 - BZ#799352
- 如果系统上未安装 dbus,启动 ABRT 守护进程会导致错误。在这个版本中,删除了 dbus 依赖项,即使系统上没有安装 dbus,也可以启动 ABRT 守护进程。
- BZ#727494
- 之前版本的 ABRT 静默允许用户多次向 Bugzilla 报告相同的问题。现在,此行为已被更改,如果报告已经提交,用户会被警告。允许电子邮件附加的最大大小以及本地日志增加到 1 MB。这解决了在通过电子邮件发送或使用
日志记录器
插件进行本地存储时更长的报告丢失的问题。 - BZ#746727
- 在这个版本中修复了一个程序错误,导致
/tmp/anaconda-tb
permission 文件有时被识别为二进制文件,有时作为文本文件。 - BZ#771597
- ABRT 2.x 添加了新的守护进程。但是,从 ABRT 1.x 过渡过程中,并非所有添加的守护进程都被正确启用。在这个版本中,所有守护进程都会正确启动,并从 ABRT 1.x 更新至 ABRT 2.x 可以正常工作。
- BZ#751068
- abrt-cli 软件包以前依赖于 abrt-addon-python 软件包。这导致用户无法通过 Yum 删除 abrt-addon-python 软件包,因为也会删除 abrt-cli。在这个版本中,添加了一个新的 abrt-tui 软件包,它会拉取所有所需的软件包,以便在命令行上使用 ABRT,从而解决上述问题。“”
- BZ#749100
- 在以前的版本中,ABRT 工具中的一些字符串没有标记为可转换。在这个版本中解决了这个问题。
- BZ#773242
- 当 ABRT 尝试移动数据时,用户会返回一个误导消息,通知创建了转储的副本。这个版本改进了这个消息,以便清除 ABRT 不复制数据,而是移动数据。
- BZ#811147
- 当后端包含由函数参数组成的文本的帧时,GDB 中的后端打印机会截断参数。回溯追踪解析器无法处理截断的参数,也不会正确格式化它们。在这个版本中,backtrace 解析器检测到截断的字符串,表示函数参数已被截断。然后,解析器状态会适应这种情况,并正确解析回溯追踪。
- BZ#823411
- Bugzilla API 中的更改阻止 ABRT
bugzilla
插件正常工作。在这个版本中,修改源代码以使用新的 Bugzilla API 解决了这个问题。 - BZ#758366
- 这个版本修复了各种 ABRT 配置文件的评论中的拼写错误。
- BZ#625485
- 以前的 ABRT 版本生成无效的 XML 日志文件。在这个版本中解决了这个问题,每个非 ASCII 字符都被转义。
- BZ#788577
- 与 ABRT 不同,python-meh 并没有在其问题报告中包含环境变量列表。环境变量列表是分配所创建漏洞的有用信息。在这个版本中,代码生成环境变量列表并将其传递给 libreport 被添加到 python-meh,python-meh 生成的问题报告现在包含环境变量列表。
5.4. acroread
安全修复
- CVE-2012-1530,CVE-2013-0601,CVE-2013-0602,CVE-2013-0603,CVE-2013-0604,CVE-2013-0605,CVE-2013-0606,CVE-2013-0607,CVE-2013-0608, CVE-2013-0609 ,CVE-2013-0609,CVE-2013-0610,CVE-2013-06 11, CVE-2013-06 12, CVE-2013-06 13, CVE-2013- 0614, CVE-2013-06 15, CVE-2013-06 16, CVE-2013-06 17, CVE-2013-06 18 ,CVE-2013-0619,CVE-2013-0620, CVE-2013-0620, CVE-2013-06 21, CVE-2013 -0623, CVE-2013-0626
- 在这个版本中,Adobe Reader 中修复了几个安全漏洞。这些漏洞在 APSB13-02 的 APSB13-02 中详细介绍。专门制作的 PDF 文件可能会导致 adobe Reader 崩溃,或者可能在打开时以运行dobe Reader 的用户执行任意代码。
5.5. alsa-utils
错误修复
- BZ#674199
- 在此次更新之前,alsactl 工具会尝试初始化所有声音卡(如果 /etc/asound.state 文件不存在)。因此,SElinux 可能会拒绝对不存在的设备的访问。这个版本修改了底层代码,以便只有从 udev 中调用一次 alsactl。
功能增强
- BZ#650113
- 在这个版本中,alsa-delay 和 alsaloop 工具已添加到 alsa-utils 中,以管理系统音频延迟。
5.6. anaconda
程序错误修复
- BZ#690058
- 在此次更新之前,Kickstart 文件中的
noprobe
参数没有传递给最后一个已知的代码路径。因此,Anaconda 无法正确满足 noprobe 请求。这个版本改进了代码,以便参数传递给最后一个已知的代码路径。因此,根据 kickstart 文件中的device
命令载入设备驱动程序。 - BZ#691794
- 在以前的版本中,提供整个阵列访问不正确的设备文件用于在 设备映射器多路径(DM-Multipath )环境中初始化引导装载程序。因此,系统无法引导。Anaconda 已修改,以枚举阵列中的所有驱动器,并在每个驱动器上初始化引导装载程序。现在,系统会如预期引导。
- BZ#723404
- 在不使用网络的情况下从介质执行最小安装时,网络设备没有正常工作的默认网络配置。因此,使用 ifup 命令重启后启动网络设备会失败。在这个版本中,在默认网络设备配置文件中将
BOOTPROTO
的值设置为dhcp
。因此,在上述场景中,可以使用 ifup 命令成功激活网络设备。 - BZ#727136
- 当 Anaconda 将 PowerPC Reference Platform (PReP)引导分区放在不同的驱动器中时,系统无法引导。在这个版本中,PReP 引导分区被强制位于与 root 分区相同的驱动器中。因此,系统会按预期引导。
- BZ#734128
- 由于一个回归,当在带有预先存在的 逻辑卷 (LV)的系统中安装时,安装程序无法正确检测包含镜像逻辑卷的 逻辑卷管理 配置。因此,在安装之前创建的镜像逻辑卷不会被显示且无法在 kickstart 中使用。处理镜像逻辑卷的代码已更新,以使用因为以前的程序错误修复而更改的 udev 信息。因此,安装程序可以正确地检测到镜像逻辑卷。
- BZ#736457
- 在 IBM System z 构架中,只有一个 CPU 的 z/VM 客户机无法读取安装环境使用的 Conversational Monitor 系统(CMS)配置文件。因此,只有一个 CPU 的 z/VM 客户机的用户必须通过内核引导行中的所有安装环境配置值,或者在安装环境启动时在交互式提示中提供信息。这个版本改进了代码,以便在挂载
/proc
文件后检测客户机数量。因此,具有一个 CPU 的客户机可以将引导设备在线,以便 CMS 配置文件可以按预期进行读取和自动安装。 - BZ#738577
- Anaconda 生成的 kickstart 中的
repo
命令包含基本安装存储库信息,但应该只包含由repo
kickstart 命令或图形用户界面(GUI)添加的其他存储库。因此,在使用 kickstart 文件时,为安装生成的repo
命令会导致失败。在这个版本中,Anaconda 只为额外的软件仓库生成repo
命令。因此,对于介质安装,Kickstart 不会失败。 - BZ#740870
- 在 上手动安装级别 0 或级别 1 的 BIOS RAID 设备会在安装程序中生成 Intel Media Storage Manager (IMSM)元数据读取错误。因此,用户无法安装到这样的设备。在这个版本中,Anaconda 可以正确地检测到 BIOS RAID 级别 0,级别 1 IMSM 元数据。因此,用户可以安装到这些设备中。
- BZ#746495
- LiveCD 环境缺少 devkit-disks 实用程序的传统符号链接。因此,修改的自动挂载程序行为的调用不会被正确执行。代码已更新,以调用正确的非传统二进制文件。因此,在安装过程中使用的
USB
设备不再被自动挂载。 - BZ#747219
- 控制台
tty1
置于 Anaconda 控制之下,但没有在 Anaconda 退出时返回。因此,init 没有权限修改 tty1 的设置,以便在 Anaconda 退出时启用 Ctrl C功能,这会导致在安装程序提示用户意外终止后按 +Ctrl+Alt+Delete 组合键时启用CtrlC无法正常工作。将 tty1 控制返回到 init 的代码添加到 Anaconda 中。因此,Ctrl+C 可以正常工作。 - BZ#750126
- buildinstall 脚本中使用的 Bash 版本有一个影响
=~
运算符解析的错误。此操作器用于在包含文件时检查架构。因此,一些提供 grub 命令的二进制文件存在于安装程序的 x86_64 版本中,但 i686 介质中缺少。Bash 代码已被修改以防止这个错误。现在,在 i686 介质上也存在二进制文件,用户现在可以按预期从安装介质中使用 grub 命令。 - BZ#750417
- 由于卸载序列中的错误排序,动态链接器无法链接库,这会导致 mdadm 工具无法正常工作,并使用
127
的状态代码退出。在这个版本中解决了卸载序列中的排序,因此动态链接器和 mdadm 现在可以正常工作。 - BZ#750710
- 没有检查作为
stdout
和stderr
传递的文件描述符是否不同。因此,如果 stdout 和 stderr 描述符相同,则使用它们进行写入会导致覆盖,日志文件不包含预期所有行。在这个版本中,如果 stdout 和 stderr 描述符相同,则只有一个其中一个用于 stdin 和 stderr。因此,日志文件包含 stdout 和 stderr 中的所有行。 - BZ#753108
- 当在带有 PowerPC Reference Platform (PReP)分区的系统中安装时,应该不会修改 PReP 分区。在这个版本中解决了这个问题,PReP 分区除了在安装过程中使用的 PReP 分区不会被修改。因此,旧的 PReP 分区不会被更新。
- BZ#754031
- 内核命令行
/proc/cmdline
以\n
结尾,但安装程序只检查\0
。因此,当devel
参数是命令行中的最后一个参数时,不会检测到 devel 参数,安装会失败。这个版本改进了代码,同时检查\n
。因此,devel
参数会被正确解析,安装可以如预期进行。 - BZ#756608
- IBM System z 上的网络安装检查使用 ping 命令提供的名称服务器地址。限制
ICMP
ECHO
数据包的环境将导致此测试失败,停止安装,询问用户是否提供名称服务器地址是否有效。因此,如果此测试失败,使用 kickstart 的自动安装将停止。在这个版本中,如果 ping 测试失败,则 nslookup 命令用于验证提供的名称服务器地址。如果 nslookup 测试成功,则 kickstart 将继续安装。因此,在非互动模式下在 IBM System z 上自动化网络安装将在上述场景中按预期完成。 - BZ#760250
- 当使用多个活跃网络接口和
ksdevice
=link
命令配置系统时,链接
规格没有被一致性用于设备激活和设备配置。因此,有时使用针对安装程序激活的设备的设置配置有链接状态的其他网络设备。在这个版本中,代码已被改进,现在会在设备激活和设备配置时使用链接
规格引用同一设备。因此,当在安装过程中存在多个具有链接状态的设备时,ksdevice = 要激活的设备链接
规格,并由安装程序使用不会导致另一个设备具有链接状态的错误配置。 - BZ#766902
- 使用 Anaconda GUI 主机名屏幕配置网络时,缺少 Configure Network 按钮的键盘快捷方式。在这个版本中,添加了 C 键盘快捷键。现在可以使用 Alt+C 键盘快捷键调用网络配置。
- BZ#767727
- Anaconda 中的 Ext2FS 类可以正确地设置为
8 TB
,但 Ext3FS 和 Ext4FS 在不覆盖这个值的情况下继承这个值。因此,当试图创建大于8Tb
的 ext3 或者 ext4 文件系统时,安装程序不允许它。在这个版本中,新 ext3 和 ext4 文件系统大小的安装程序上限已从8Tb
调整为16TB
。现在,安装程序允许创建最多16TB
的 ext3 和 ext4 文件系统。 - BZ#769145
- Anaconda dhcptimeout 引导选项无法正常工作。NetworkManager 使用了 45 秒的
DHCP
事务超时,而无需配置不同的值。因此,在某些情况下,NetworkManager 无法获取网络地址。NetworkManager 已扩展为从 DHCP 配置文件读取 timeout 参数,并使用该参数而不是默认值。Anaconda 已更新,将 dhcptimeout 值写入用于安装的接口配置文件。因此,引导选项dhcptimeout
可以正常工作,NetworkManager 现在会在 DHCP 客户端配置文件中指定的 DHCP 事务期间等待获取地址。 - BZ#783245
- 在此次更新之前,Anaconda 安装镜像中没有
USB3
模块。因此,在安装过程中 Anaconda 不会检测到 USB3 设备。在这个版本中,在安装过程中检测到 USB3 模块和 USB3 设备。 - BZ#783841
- 当 kickstart clearpart 命令或安装程序的自动分区选项用于清除系统磁盘的旧数据时,如逻辑卷和软件 RAID 等复杂存储设备,LVM 工具会导致安装过程变得不响应,因为死锁。因此,当尝试从复杂存储设备中删除旧元数据时,安装程序会失败。在这个版本中,将与安装程序打包的 udev 规则中的 LVM 命令更改为使用不太严格的锁定方法,安装程序被修改为从磁盘中显式删除分区,而不是只是在旧内容上创建新的分区表。因此,LVM 在上述场景中不再挂起。
- BZ#785400
/usr/lib/anaconda/textw/netconfig_text.py
文件尝试从错误的位置导入模块。因此,Anaconda 无法启动,并会生成以下出错信息:No module named textw.netconfig_text
代码已被修正,在描述的场景中不再发生错误。- BZ#788537
- 在此次更新之前,kickstart 存储库条目没有使用全局代理设置。因此,如果未明确指定代理,在限制为使用代理安装的网络时,当尝试连接到 kickstart 文件中的其他存储库条目时,将意外终止。如果额外存储库没有为其设置代理,则此更新会将代码更改为使用全局代理。因此,将使用全局代理设置,在描述的场景中安装会如预期进行。
- BZ#800388
- kickstart pre 和 post 安装脚本没有 Anaconda 使用的代理的信息。因此,在预安装和安装后脚本(仅限于使用代理)的预安装和安装后脚本等程序将无法正常工作。 在这个版本中,设置了
PROXY
、PROXY_USER
、PROXY_PASSWORD
环境变量。因此,pre 和 post 安装脚本现在可以访问 Anaconda 使用的代理设置。 - BZ#802397
- 在 kickstart 部分 命令中使用-
onbiosdisk
=NUMBER
选项有时会导致安装失败,因为 Anaconda 无法找到与指定 BIOS 磁盘驱动器匹配的磁盘。希望使用 BIOS 磁盘编号来控制 kickstart 安装的用户无法成功安装 Red Hat Enterprise Linux。这个版本调整了与 BIOS 磁盘号匹配的 Anaconda 中的比较,以确定 Linux 设备名称。因此,希望使用 BIOS 磁盘编号来控制 kickstart 安装的用户现在可以成功安装 Red Hat Enterprise Linux。 - BZ#805910
- 由于一个回归,当在 Rescue 模式下运行没有或仅未初始化磁盘的系统时,Anaconda 存储子系统不会在使用选项列表显示 GUI 前检查是否存在 GUI。因此,当选择的用户 继续安装 程序时,安装程序会意外终止,并显示回溯信息。在这个版本中,添加了一个检查是否有 GUI,并在没有 GUI 时回退到 TUI。因此,用户会告知用户在上述场景中缺少可用磁盘。
- BZ#823810
- 当在固件引导模式中使用带有 Qlogic qla4xxx 设备的 Anaconda 时,并在 BIOS 中设置 iSCSI 目标(启用或禁用),设备会公开为 iSCSI 设备。但是在这个模式中,安装程序使用的 iscsiadm 和 libiscsi 工具无法处理设备。因此,安装程序在检查存储设备期间,安装会失败。在这个版本中,安装程序不会尝试管理使用 iscsiadm 或 libiscsi 的 qla4xxx 固件设置的 iSCSI 设备。因此,在固件模式中由 qla4xxx 设备设置的 iSCSI 目标的环境中进行安装可以成功完成。注意固件引导模式通过
qla4xxx.ql4xdisablesysfsboot
引导选项打开和关闭。在这个版本中,它会被默认启用。
功能增强
- BZ#500273
- 不支持将
iSCSI
连接绑定到网络接口,在单一子网中为设备映射器多路径(DM-Multipath)连接使用多个 iSCSI 连接到目标的安装需要。因此,DM-Multipath 连接不能在单个子网中使用,因为所有设备都使用默认网络接口。在这个版本中,在 “Advanced Storage Options” 对话框中添加了Bind targets to network interfaces
选项。打开后,特别为所有活动网络接口发现的目标可供选择和登录。对于 kickstart 安装,可以使用新的iscsi
-iface
选项指定应绑定到目标的网络接口。使用接口绑定后,必须绑定所有 iSCSI 连接,即表示必须在 kickstart 中为所有 iscsi 命令指定-iface
选项。可以使用 kickstart network 命令和 Kickstart network命令激活
iSCSI 连接所需的网络设备,或使用 “高级存储选项” 对话框中的 配置网络 按钮(配置该设备时,也可在安装程序中激活该设备)。“”现在,可以在安装过程中使用不同网络接口为 iSCSI 设备配置和使用 DM-Multipath 连接。 - BZ#625697
- curl 命令行工具不在安装镜像文件中。因此,在 kickstart 的
%pre
部分中无法使用 curl。在这个版本中,在 kickstart 的%pre
部分中可以使用 curl 到安装镜像中。 - BZ#660686
- 添加了对使用 IP over InfiniBand (IPoIB)接口安装的支持。因此,可以使用 IPoIB 网络接口安装直接连接到
InfiniBand
网络的系统。 - BZ#663647
- 在 kickstart volgroup 命令中添加了两个新选项,以指定最初未使用的空间(以 MB 为单位)或卷组总大小的百分比。这些选项只适用于在安装过程中创建的卷组。因此,用户可以在新卷组中为快照保留空间,同时仍对同一卷组中的逻辑卷使用 -
grow
选项。 - BZ#671230
GPT
磁盘标签现在用于大小为 2.2 TB 并更大的磁盘。因此,Anaconda 现在允许安装到大小 2.2 TB 和更大磁盘,但安装的系统并不总是在非EFI
系统中正常引导。在安装过程中可以使用大小 2.2 TB 和更大磁盘的磁盘,但只能用作数据磁盘;它们不应用作可引导磁盘。- BZ#705328
- 当接口配置文件由配置应用程序(如 Anaconda )创建时,NetworkManager 通过对现有配置文件名称进行哈希来生成 通用唯一 IDentifier (UUID)。因此,在多个安装的系统中为给定网络设备名称生成相同的 UUID。有了这个更新,NetworkManager 的 Anaconda 会生成一个随机 UUID,因此不必通过对配置文件名称进行哈希来生成连接 UUID。因此,所有安装系统的每个网络连接都有不同的 UUID。
- BZ#735791
- 当安装程序使用
noipv6
引导选项或network
-nopipv6 kickstart 命令禁用
支持时,或使用加载程序 文本用户界面 (TUI)的 “Configure TCP/IP” 屏幕,在安装过程中没有为IPv6
IPv6
配置 IPv6,安装系统上的 IPv6 内核模块会被禁用。 - BZ#735857
- 需要在安装期间为使用 Anaconda 的图形用户界面添加 的光纤通道 (FCoE)设备配置
VLAN
发现选项。Anaconda 安装程序创建的所有 FCoE 设备都配置为通过 fcoemon 守护进程执行 VLAN 发现,方法是将其配置文件的AUTO_VLAN
值设置为yes
。在 “Advanced Storage Options” 对话框中添加了新的 “Use auto vlan” 复选框,它由 “Advanced Storage Devices” 屏幕中的 Add Advanced Target 按钮调用。因此,当在 Anaconda 中添加 FCoE 设备时,现在可以在 “Advanced Storage Options” 对话框中 “使用 auto vlan” 复选框配置设备的 VLAN 发现选项。FCoE 设备配置文件的AUTO_VLAN
选项的值/etc/fcoe/cfg-device
会相应地设置。 - BZ#737097
- 安装镜像中不存在 lsscsi 和 sg3_utils。因此,无法维护 Data Integrity 字段 (DIF)磁盘。在这个版本中,在安装镜像中添加了 lsscsi 和 sg3_utils,现在可以在安装过程中使用维护 DIF 磁盘的工具。
- BZ#743784
- Anaconda 使用 biosdevname 在
/etc/fcoe/
目录下创建 FCoE 配置文件,它是 FCoE BFS 的所有可用以太网接口。但是,它不会为 FCoE 接口添加 ifname 内核命令行参数,该参数会在安装过程中发现 FCoE 目标后处于离线状态。因此,在后续重启后,系统会尝试在/etc/fcoe/
中找到旧的风格的ethX
接口名称,这与使用 biosdevname Anaconda 创建的文件不匹配。因此,因为缺少 FCoE 配置文件,因此不会在这个接口上创建 FCoE 接口。因此,在 FCoE BFS 安装过程中,当以太网接口在发现目标后离线时,FCoE 链接重启后不会出现。在这个版本中,为所有 FCoE 接口添加了 dracutip
参数,包括在安装过程中离线的那些参数。因此,在安装过程中断开连接的 FCoE 接口重启后将激活。 - BZ#744129
- 在 kickstart 中使用
swap
--recommended
命令安装可创建大小为 2 GB 的交换文件,再加上安装的 RAM 大小,而不考虑安装的 RAM 量。因此,具有大量 RAM 的机器会延长调用 oom_kill syscall 被调用 oom_kill 系统调用前的时间,即使出现故障情况。在这个版本中,swap-recommended
的swap
大小计算被修改,以满足文档 https://access.redhat.com/site/solutions/15244 中推荐的值,对于 swap kickstart 命令添加了-hibernation
选项,并在 GUI/TUI 安装中作为默认值。因此,如果使用 swap-recommended
,则具有大量 RAM 的机器现在具有合理的交换
大小。但是,休眠可能无法用于此配置。如果用户想要使用休眠,则他们应使用swap
-hibernation
。 - BZ#755147
- 如果为 FCoE 引导配置了多个以太网接口,则默认只打开主接口,且不会配置其他接口。在这个版本中,在安装过程中为 FCoE 使用的所有网络接口设置
ifcfg
配置文件中的ONBOOT
=yes
值。因此,所有用于安装 FCoE 存储设备的网络设备重启后会自动激活。 - BZ#770486
- 在这个版本中,在安装环境中添加了 Netcat (nc)网络工具。用户现在可以在 Rescue 模式下使用 nc 程序。
- BZ#773545
- virt-what shell 脚本已添加到安装镜像中。用户现在可以在 kickstart 中使用 virt-what 工具。
- BZ#784327
- 固件文件只从驱动程序更新磁盘(DUD)上的
$prefix/lib/firmware
路径中的 RPM 文件加载。在这个版本中,在要搜索固件的路径中添加$prefix/lib/firmware/updates
目录。包含固件更新的 RPM 文件现在可以在%prefix/lib/firmware/updates
中包含固件文件。
5.7. atlas
错误修复
- BZ#723350
- 在以前的版本中,基础 atlas 软件包中的二进制文件包含来自不兼容的指令集的 illegal 指令(3DNow!)。因此,会显示 "Illegal 指令" 错误。此更新禁用指令集的使用。
5.8. audit
- "auditctl"命令现在允许 shell 转义的文件名更好地处理其中带有空格的文件名。
- 有一个新的实用程序 auvirt,可提取有关虚拟化事件的报告。
- auditd.conf 配置选项 "tcp_max_per_addr" 现在允许从同一 IP 地址最多有 1024 个并发连接。虽然这不推荐用于正常使用,但在一些客户端系统位于 NAT 后面的情况下,这可帮助系统出现相同的 IP 地址。
程序错误修复
功能增强
- BZ#658630
- 在此次更新之前,如果审计规则有拼写错误,或者 Linux 内核不支持该命令,则会触发错误,并可以停止处理规则,或者作为其他选项,您可以忽略所有错误,在这种情况下,可以完成所有错误,但返回成功。在这个版本中,为 auditctl 引进了 "-c" 选项,它的工作方式类似于 ignore 选项,但如果有任何规则触发错误,"-c"选项会返回失败。请注意,与 ignore 选项一样,"-c"选项将继续处理所有审计规则。
- BZ#766920
- 此发行版本添加了对一个新的内核审核功能的支持,允许字段比较。对于每个审计事件,Linux 内核会收集有关导致事件的信息。现在,您可以使用 "-C" 选项来比较: "auid", "uid", "euid", "suid", "fsuid", 或 "obj_uid"; 和 "gid", "egid", "sgid", "fsgid", 或 "obj_gid"。这两个组无法混合使用。比较可以使用 equal 或 not equal 运算符。请注意,为了使这个改进正常工作,系统必须引导 Linux 2.6.32-244 内核或更新版本。
5.9. augeas
程序错误修复
- BZ#759311
- 在以前的版本中,当在批处理模式中使用 Augeas 时,"--autosave"选项无法正常工作,这会导致配置更改没有被保存。因此,配置更改只能保存在交互模式中。此更新可确保批处理模式中的"--autosave"选项功能如预期。
- BZ#781690
- 在此次更新之前,当解析 GRUB 配置文件时,Augeas 没有正确解析"password"命令的"加密"选项。相反,它会将"加密"部分解析为密码,并将密码哈希解析为第二个"menu.lst"文件名。此更新可确保在解析 GRUB 配置文件时正确解析 password 命令的"加密"选项。
- BZ#820864
- 在以前的版本中,8lueeas 无法解析包含挂载选项的 /etc/fstab 文件,并带有等号,但没有值。在这个版本中修复了 fstab lens,以便它可以处理这样的挂载选项。现在,Augeas 可以解析包含挂载选项的 /etc/fstab 文件,并带有等号,但没有正确值。
功能增强
- BZ#628507
- 在以前的版本中,finite-automata-DOT 图形工具(fadot)不支持 -h 选项。因此,当使用 -h 选项启动 fadot 时会显示 "Unknown option" 信息。在这个版本中,增加了对 -h 选项的支持,并确保在使用 选项启动时显示 fadot 时显示帮助信息。
- BZ#808662
- 在以前的版本中,Augeas 没有可以解析 /etc/mdadm.conf 文件。因此,将物理服务器转换为虚拟客户机 Virt-P2V 的工具无法转换 MD 设备上的物理主机。这个更新添加了一个新的 lens 来解析 /etc/mdadm.conf 文件,启用 Virt-P2V 来按预期转换 MD 设备中物理主机。
5.10. authconfig
程序错误修复
- BZ#689717
- 在此次更新之前,如果文件没有正确格式化,SSSD 配置文件将无法解析。因此,authconfig 工具可能会意外终止。在这个版本中,错误会被正确处理,配置文件会被备份,并创建新的文件。
- BZ#708850
- 在此次更新之前,man page "authconfig (8) " 是指不存在的过时配置文件。在这个版本中,修改 man page 以指向 authconfig 修改的配置文件。
- BZ#749700
- 在此次更新之前,当 SSSD 配置被更新时,会设置已弃用的 "krb_kdcip" 选项而不是 "krb5_server" 选项。这个版本修改了 SSSD 配置设置,以使用 "krb5_server" 选项来设置 Kerberos KDC 服务器地址。
- BZ#755975
- 在以前的版本中,当使用 "--savebackup" 选项时,authconfig 命令总是返回退出值 "1",因为处理系统中的不存在配置文件。在这个版本中,即使一些配置文件可由 authconfig 处理,则退出值为 "0"。
功能增强
5.11. autofs
5.11.1. RHBA-2012:1442 - autofs 程序漏洞修复更新
错误修复
- BZ#870929
- 在启动序列过程中,当自动挂载守护进程使用内部主机映射时,automount 会意外终止,并带有分段错误。这个程序错误已被解决,在上述场景中不再崩溃。
程序错误修复
- BZ#772946
- 使用包含映射条目删除问题的最新更改引入了包括映射键查找的新问题。上一个补丁中使用的条件太宽,映射键查找机制无法在包含的多挂载映射条目中查找密钥。现在,这个条件已被修改,在多挂载映射条目中的密钥可以被正确找到。
- BZ#772356
- 检查挂载位置的有效性的功能旨在仅检查映射位置错误的一小部分。最近进行了改进的修改,报告此验证功能中的逻辑测试。因此,测试的范围是广泛的,这会导致 automount 报告假的失败。在这个版本中,故障逻辑测试已被修复,不再会发生假的故障。
- BZ#790674
- 在以前的版本中,autofs 子挂载会错误地处理关闭同步和锁定限制。因此,当子挂载过期时,automount 可能会变得无响应。有了这个更新,只有在通过状态 ST_SHUTDOWN、ST_SHUTDOWN_PENDING 或 ST_SHUTDOWN_FORCE,或者当状态更改为 ST_READY 后,子挂载才会关闭。
- BZ#753964
- 在此次更新之前,两个 IPv6 兼容性功能被错误地包含在 libtirpc 库的 autofs 接口中。这导致 autofs IPv6 RPC 代码无法正常工作。在这个版本中,autofs 的 libtirpc 接口代码已被修复。
- BZ#782169
- 将旧的 auto.net 脚本用于主机映射时,脚本中的错误处理多次发生导出会阻止脚本返回任何导出路径。这个程序错误已通过修改脚本来仅选择唯一导出列表来解决,从而消除了重复导出。
- BZ#787595
- 由于对 mount.nfs 工具的更改可以利用对内核中 NFS 挂载选项的支持,因此 RPC 处理已从 mount.nfs 移到内核。但是,内核 RPC 必须等待对无法超时的服务器的 RPC 请求,在尝试自动挂载到不可用的服务器时,会造成非常慢的交互式响应。这个版本更改了 autofs RPC 代码,以早期检测这种情况,并尽快提供正确的错误消息。
- BZ#760945
- 在以前的版本中,虽然 /net/ 和 /misc/ 目录被默认 /etc/auto.master 工具完全使用,但它们没有在 autofs RPM 软件包中指定。因此,rpm 工具将其报告为不由任何软件包所有。在这个版本中,这两个目录都添加到 autofs spec 文件中。
- BZ#745527
- 在以前的版本中,如果没有参数调用,autofs init.d 脚本无法返回正确的使用信息,或者参数不正确。这个程序错误已被解决,脚本现在可以按预期输出使用情况信息。
功能增强
- BZ#683523
- 在 autofs 软件包中添加了对系统安全服务守护进程(SSSD)的初始支持作为映射源。
5.12. axis
安全修复
- CVE-2012-5784
- Apache Axis 没有验证服务器主机名是否与 X.509 证书的主题通用名称(CN)或 subjectAltName 字段中的域名匹配。如果存在对任何域名有效的证书,这可能会导致中间攻击者欺骗 SSL 服务器。
5.13. bacula
5.13.1. RHBA-2012:1469 - bacula 程序错误修复更新
程序错误修复
- BZ#728693
- 在此次更新之前,logwatch 工具不会检查 "/var/log/bacula*" 文件。因此,logwatch 报告不完整。在这个版本中,将所有日志文件添加到 logwatch 配置文件中。现在,logwatch 报告已完成。
- BZ#728697
- 在此次更新之前,bacula 工具本身创建了"/var/spool/bacula/log"文件。因此,这个日志文件使用了不正确的 SELinux 上下文。这个版本修改了底层代码,以在 bacula 软件包中创建 /var/spool/bacula/log 文件。现在,此日志文件具有正确的 SELinux 上下文。
- BZ#729008
- 在此次更新之前,bacula 软件包是在没有 CFLAGS 变量 "$RPM_OPT_FLAGS" 的情况下构建的。因此,不会生成调试信息。在这个版本中,修改底层代码以使用 CFLAGS="$RPM_OPT_FLAGS 构建软件包。现在,调试信息会如预期生成。
- BZ#756803
- 在此次更新之前,perl 脚本生成 my.conf 文件包含错误打印。因此,端口变量没有正确设置。在这个版本中修正了错误打印。现在,port 变量的设置如预期。
- BZ#802158
- 在此次更新之前,"show pool"命令的值是从 "res->res_client" 项中获取的。因此,输出会显示不正确的作业和文件保留值。在这个版本中,使用 "res->res_pool" 项来获取正确的值。
- BZ#862240
- 在此次更新之前,bacula-storage-common 工具在更新过程中错误地删除了 bcopy 函数的替代方案。因此,在更新后会消失 bcop.{mysql,sqlite,postgresql}。这个版本修改了底层代码,以直接在 storage-{mysql,sqlite,postgresql} 中删除这些链接,而不是在 bacula-storage-common 中。
5.14. bind-dyndb-ldap
安全修复
- CVE-2012-3429
- 在 bind-dyndb-ldap 执行来自 DNS 请求的名称进行转义的方法中发现了一个安全漏洞,以便在 LDAP 查询中使用。远程攻击者可以将 DNS 查询发送到配置为使用 bind-dyndb-ldap 的指定服务器,从而导致 named 意外退出断言失败。
LDAP
后端是 BIND 的插件,它为 LDAP 数据库提供后端功能。它支持动态更新和内部缓存,有助于减少 LDAP 服务器上的负载。
程序错误修复
- BZ#751776
- 当包含无效的 资源记录 (RR)时,bind-dyndb-ldap 插件会拒绝加载整个区域,其优先级相同 完全限定域名(FQDN)作为区域名称(例如是 vendory Qualified Domain Name )。在这个版本中,解析资源记录的代码已被改进。如果遇到无效的 RR,则会记录错误消息 “Failed to parse RR 条目”,区将继续加载。
- BZ#767489
- 当第一个到
LDAP
服务器的连接失败时,bind-dyndb-ldap 插件不会尝试再次连接。因此,用户必须执行"rndc reload"命令才能使插件正常工作。在这个版本中,插件会定期重试来连接到 LDAP 服务器。因此,不再需要用户干预,插件可以正常工作。 - BZ#767492
- 当
zone_refresh
周期超时且区从LDAP
服务器中删除时,插件将继续为删除的区域提供服务。在这个版本中,当设置了zone_refresh
参数时,插件不再服务已从 LDAP 中删除的区域。 - BZ#789356
- 当命名守护进程收到 rndc reload 命令或
SIGHUP
信号时,插件无法连接到 LDAP 服务器,该插件会在它收到之前属于插件处理的区域的查询时意外终止。这个问题已被解决,当重新载入过程中连接到 LDAP 时,插件不再提供其区域,且在描述的场景中不再崩溃。 - BZ#796206
- 当命名丢失到
LDAP
服务器的连接时,插件会意外终止,然后成功重新连接,并且之前存在的一些区域已从 LDAP 服务器中删除。这个程序错误已被解决,插件不会在上述场景中崩溃。 - BZ#805871
- 在插件中,某些字符串长度被错误地设置。因此,在 ipa-server 安装过程中,为转发区错误地设置了 授权 (SOA)序列号和到期时间。在这个版本中,代码已被改进,SOA 序列号和过期时间会如预期设置。
- BZ#811074
- 当 域名系统 (DNS)区域由 bind-dyndb-ldap 插件管理,并且子域被委派给另一个
DNS
服务器时,该插件不会将 A 或 AAAA glue 记录放在 DNS 回答的其他部分中。“”因此,其他 DNS 服务器无法访问委派的子域。在这个版本中,插件已被修复,现在在 “附加部分中” 返回委托子域的 A 或 AAAA 粘滞记录。因此,委派的区域可以在上述场景中正确解析。 - BZ#818933
- 在以前的版本中,bind-dyndb-ldap 插件不会在传入的 DNS 查询中正确转义非 ASCIII 字符。因此,插件无法发送包含非 ASCII 字符的查询的回答 “,” 如。该插件已被修复,现在可以正确返回带有非 ASCII 字符的查询的回答。
功能增强
- BZ#733371
- bind-dyndb-ldap 插件现在支持两个新属性:id
nsAllowQuery
和idnsAllowTransfer
,可用于为查询或传输设置 ACL。有关属性的信息,请参阅/usr/share/doc/bind-dyndb-ldap/README
。 - BZ#754433
- 该插件现在支持新的区属性
idnsForwarders
和idnsForwardPolicy
,它们可用于配置转发。如需详细描述,请参阅/usr/share/doc/bind-dyndb-ldap/README
。 - BZ#766233
- 插件现在支持区域传送。
- BZ#767494
- 该插件有一个名为
sync_ptr
的新选项,可用于使 A 和 AAAA 记录保持同步。如需详细描述,请参阅/usr/share/doc/bind-dyndb-ldap/README
。 - BZ#795406
- 无法将插件的配置存储在
LDAP
中,并且配置只能从named.conf
文件中获取。在这个版本中,可以从 LDAP 中的idnsConfigObject
获取配置信息。请注意,在 named.conf 中设置的选项的优先级低于 LDAP 中设置的选项。优先级将在以后的更新中改变。如需了解更多详细信息,请参阅 README 文件。
5.15. bind
5.15.1. RHBA-2012:1107 - 绑定程序错误修复更新
错误修复
- BZ#838956
- 由于 rbtdb.c 源文件中有一个竞争条件,named 守护进程可能会意外终止,并显示 INSIST 错误代码。这个程序错误已在代码中解决,命名的守护进程不会在上述场景中崩溃。
安全修复
- CVE-2012-5688
- BIND 中的 DNS64 实现中发现了一个安全漏洞。如果远程攻击者向指定服务器发送特殊设计的查询,named 可能会意外退出并出现断言失败。请注意,默认情况下不启用 DNS64 支持。
安全修复
- CVE-2012-4244
- 在 BIND 使用大型 RDATA 值处理资源记录的方式中发现了一个安全漏洞。DNS 域的恶意所有者可能会使用此缺陷创建特殊设计的 DNS 资源记录,这会导致递归解析器或次要服务器意外退出并出现断言失败。
安全修复
- CVE-2012-3817
- 在启用 DNSSEC 验证时,BIND 中发现了一个未初始化的数据结构使用缺陷。一个远程攻击者可以向 DNSSEC 验证 BIND 解析器发送大量查询,从而导致它意外退出断言失败。
5.15.5. RHBA-2012:1341 - 绑定程序错误修复更新
错误修复
- BZ#858273
- 在以前的版本中,BIND 在 static-stub 区中拒绝"转发"和"forwarders"语句。因此,无法将某些查询转发到指定的服务器。有了这个更新,BIND 接受静态存区的选项,从而解决了这个问题。
安全修复
- CVE-2012-5166
- 在 BIND 处理某些资源记录组合的方式中发现了一个安全漏洞。一个远程攻击者可以使用这个缺陷来防止递归解析器或某些配置中的权威服务器锁定。
5.15.7. RHBA-2012:0830 - 绑定程序错误修复和功能增强更新
DNS
(域名系统)协议的实现。BIND 包含 DNS 服务器(名为
),它将主机名解析为 IP 地址;解析器库(供应用程序在与 DNS 交互时使用); 以及用于验证 DNS 服务器是否正常运行的工具。
程序错误修复
- BZ#734458
- 当
/etc/resolv.conf
包含带有禁用递归的名称服务器时,nslookup 无法解析某些主机名。在这个版本中,应用了补丁,在描述的场景中 nslookup 可以正常工作。 - BZ#739406
- 在以前的版本中,错误由 DNSSEC 信任锚自动更新的错误被错误地处理。因此,
命名的
守护进程可能会在关闭时变得无响应。在这个版本中,错误处理已被改进,并在关闭时命名
。 - BZ#739410
名为
守护进程的多线程使用 atomic 操作功能来加快对共享数据的访问。这个功能无法在 32 位和 64 位 PowerPC 构架中正常工作。因此,named
有时在这些构架中变得无响应。这个版本在 32 位和 64 位 PowerPC 构架中禁用 atomic 操作功能,这样可确保named
现在更加稳定可靠,且不再挂起。- BZ#746694
- 在此次更新之前,在验证 DNSSEC 签名的 NXDOMAIN 响应时可能会出现竞争条件,
named
可能会意外终止。在这个版本中,底层代码已被修复,竞争条件不再发生。 - BZ#759502
named
守护进程配置为主服务器,有时无法传输不可压缩的区域。以下出错信息已记录:transfer of './IN': sending zone data: ran out of space
处理区域传送的代码已被修复,这个错误不再发生在上述场景中。- BZ#759503
- 在 DNS 区域传输过程中,
named
有时会意外终止,并显示断言失败。在这个版本中,应用了补丁来使代码更加稳定,named
不再会在上述场景中崩溃。 - BZ#768798
- 在以前的版本中,
rndc.key
文件是在软件包安装过程中由 rndc-confgen -a 命令生成的,但此功能已在 Red Hat Enterprise Linux 6.1 中删除,因为因为/dev/random
中缺少熵而报告安装 bind 软件包有时会挂起。现在,命名的
initscript 会在服务启动期间生成rndc.key
(如果它不存在)。 - BZ#786362
- 执行 rndc reload 命令后,
命名
无法更新 DNSSEC 信任锚,并将以下信息发送到日志:managed-keys-zone ./IN: Failed to create fetch for DNSKEY update
这个问题已在 9.8.2rc1 上游版本中解决。 - BZ#789886
- 由于 bind spec 文件中的错误,bind-chroot 子软件包不会创建
/dev/null
设备。另外,在卸载 绑定 后,一些空目录会保留在后面。在这个版本中,bind-chroot 打包错误已被修复。 - BZ#795414
- dynamic-db 插件在早期加载,这会导致
named.conf
文件中的配置覆盖插件提供的配置。因此,named
有时无法启动。在这个版本中,在插件初始化前解析named.conf
,named
现在会如预期启动。 - BZ#812900
- 在以前的版本中,当挂载
/etc/init.d/named
initscript 时,当启用chroot
配置以及未启用chroot
时,当/var/named
目录被挂载时,无法区分不同的情况。因此,当停止named
服务时,总是卸载/var/named
目录。initscript 已被修复,现在仅在启用了chroot
配置时卸载/var/named
。因此,当未启用chroot
配置时,/var/
会在 named 服务停止后保持挂载。named
- BZ#816164
- 在以前的版本中,当无法获得回答时,nslookup 工具不会返回非零退出代码。因此,无法确定 nslookup 运行是否成功,或从错误代码中不成功。nslookup 工具已被修复,现在当无法获得回答时,它会返回 "1" 作为退出代码。
功能增强
5.16. binutils
程序错误修复
功能增强
5.17. biosdevname
错误修复
- BZ#865446
- 在以前的版本中,biosdevname 无法正确处理带有多个端口的 PCI 卡。因此,根据 biosdevname 命名方案,仅重命名了这些卡的第一个端口的网络接口。这个程序错误已被解决,这些卡的所有端口的网络接口现在都会如预期重命名。
5.18. brltty
5.18.1. RHBA-2012:1231 - brltty 程序错误修复更新
程序错误修复
- BZ#684526
- 在以前的版本中,构建 brltty 软件包可能会在 ocaml 的未打包文件错误上失败。这只有在构建 root 中预安装 ocaml 软件包时才会发生。在 %configure 宏中添加了 "--disable-caml-bindings" 选项,以便软件包现在可以正确构建。
- BZ#809326
- 在以前的版本中,由 brlapi-devel 软件包安装的 /usr/lib/libbrlapi.so 符号链接错误地指向 ../../lib/lib/lib/lib/libbrlapi.so。这个链接已被修复,可以正确地指向 ../../lib/libbrlapi.so.0.5。
5.19. busybox
安全修复
- CVE-2006-1168
- flow 漏洞下的缓冲区在 BusyBox 的解压缩工具中发现了一个使用 Lempel-Ziv 压缩压缩的特定存档文件。如果用户使用未压缩扩展特殊制作的存档文件,可能会导致 BusyBox 崩溃或可能,执行运行 BusyBox 的用户特权的任意代码。
- CVE-2011-2716
- BusyBox DHCP 客户端 udhcpc 没有足够地清理 DHCP 服务器回复中提供的某些选项,如客户端主机名。恶意 DHCP 服务器可能会向 DHCP 客户端发送带有特殊设计的值的此类选项。如果此选项的值保存在客户端系统上,然后之后由假设该选项被信任的进程在不安全评估,则可能会导致任意代码执行该进程的特权。注意:默认情况下,udhcpc 不用于 Red Hat Enterprise Linux,且没有提供 busybox 软件包的 DHCP 客户端脚本。
程序错误修复
- BZ#751927
- 在此次更新之前,"findfs"命令无法识别 Btrfs 分区。因此,转储核心文件时可能会出现错误消息。在这个版本中,增加了对识别此类分区的支持,因此不再出现这个问题。
- BZ#752134
- 如果"grep"命令同时使用了"-F"和"-i"选项,则忽略"-i"选项。因此,"grep -iF"命令会错误地执行区分大小写的搜索,而不是不区分大小写的搜索。应用了补丁以确保"-F"和"-i"选项的组合可以正常工作。
- BZ#782018
- 在此次更新之前,msh shell 不支持 "set -o pipefail" 命令。在这个版本中,增加了对这个命令的支持。
- BZ#809092
- 在以前的版本中,当试图因为变量替换而执行空命令时,msh shell 可能会意外终止分段错误(如 msh -c '$nonexistent_variable')。在这个版本中,sh 已被修改来正确地解释这样的命令,在这种情况下不会再崩溃。
- BZ#752132
- 在以前的版本中,msh shell 会错误地执行空循环。因此,即使循环条件为 false,msh 不会退出这样的循环,这可能会导致使用循环的脚本变得无响应。在这个版本中,sh 已修改来正确执行并退出空循环,因此不再会发生挂起。
5.20. byacc
5.20.1. RHBA-2012:0749 - byacc 程序错误修复更新
错误修复
- BZ#743343
- Byacc 的最大堆栈深度从 10000 减小到acc 版本之间的 500 个。如果使用acc 编译的源代码中存在深入的 else-if 结构,这可能会导致内存不足的情况,从而导致 YACC Stack Overflow 和构建失败。在这个版本中,发行版本会将最大堆栈深度恢复到其原始值 10000。注意:底层的 LR 算法仍然对 parsable else-if 语句的数量施加一个硬性限制。将最大堆栈深度恢复到其原始值意味着具有深度的 else-if 结构的源代码,之前根据acc 编译来实现此目的。
5.21. c-ares
5.21.1. RHBA-2012:0922 - c-ares 程序错误修复更新
程序错误修复
- BZ#730695
- 在以前的版本中,当搜索 AF_UNSPEC 或 AF_INET6 地址系列时,如果找不到 AF_INET6 地址,c-ares 库会回到 AF_INET6 系列。因此,即使只请求 IPv6 地址,也会返回 IPv4 地址。在这个版本中,c-are 仅在搜索 AF_UNSPEC 地址时执行回退。
- BZ#730693
- 当用户试图解析无效的回复时,ares_parse_a_reply () 函数泄漏内存。在这个版本中,分配的内存被正确释放,内存泄漏不再发生。
- BZ#713133
- ares_malloc_data ()public 函数中的 switch 语句缺少终止 break 语句。这可能导致无法预计的行为,有时应用程序会意外终止。在这个版本中,添加了缺少的 switch 语句,iss_malloc_data ()函数现在可以正常工作。
- BZ#695426
- 当解析 SeRVice (SRV)记录查询时,c-ares 在需要数据要在内存中一致的构架上错误地访问内存。这会导致程序使用 SIGBUS 信号意外终止。在这个版本中,c-ares 已被修改,以便在上述场景中正确访问内存。
- BZ#640944
- 在以前的版本中,iss_gethostbyname 手册页不会将 ARES_ENODATA 错误代码作为有效和预期的错误代码记录。在这个版本中,会相应地修改 man page。
5.22. cdrkit
5.22.1. RHBA-2012:1451 - cdrkit 程序错误修复更新
错误修复
- BZ#797990
- 在此次更新之前,重叠的内存被错误地处理。因此,当使用"-graft-points"选项调用 "genisoimage" 时,新创建的路径可能会被破坏,以便在根目录以外的点上调整路径。这个版本会修改底层代码,以如预期生成 graft 路径。
5.23. certmonger
程序错误修复
- BZ#765599
- 在此次更新之前,如果守护进程无法访问用户指定位置中的文件,则 get-started.txt 文件中提供的其中一个示例无法按预期工作,例如 SELinux 策略。在这个版本中,这个问题记录在 get-started.txt 文件中。
- BZ#765600
- 在此次更新之前,certmonger 守护进程没有配置为在安装软件包时默认启动。在这个版本中,启用 certmonger 服务。
- BZ#796542
- 在此次更新之前,在某些情况下可能会"getcert"命令,当使用了需要参数且未指定参数的选项时,会显示误导错误消息"invalid option"。在这个版本中,修改错误代码,以便发送正确的消息。
功能增强
- BZ#766167
- 在此次更新之前,新添加的证书不会被自动可见。要查看这些证书,必须手动重启服务器。在这个版本中,在消息总线中添加了 D-Bus 信号,以允许应用程序执行需要使用新证书的操作。另外,添加了新的 "-C" 选项来调用用户指定的命令。
5.24. chkconfig
程序错误修复
- BZ#696305
- 当安装多个只具有 LSB 标头的 Linux 标准基本(LSB)服务时,相关 LSB init 脚本的 stop 优先级可能会被误计算,并设置为 "-1"。在这个版本中,LSB init 脚本排序机制已被修复,LSB init 脚本的停止优先级现在可以正确设置。
- BZ#706854
- 当使用 "install_initd" 命令安装需要 "$local_fs" 工具的 LSB init 脚本时,在某些情况下,脚本的安装可能会失败。在这个版本中,底层代码已被修改来忽略这个要求,因为始终会隐式提供 "$local_fs" 工具。现在,正确安装了带有 "$local_fs" 的要求的 LSB init 脚本。
- BZ#771454
- 如果 LSB init 脚本包含 "Required-Start" 依赖项,但安装 LSB 服务没有配置为在任何运行级别启动,则依赖项可能会被错误地应用。因此,LSB 服务的安装会静默失败。在这个版本中,如果服务没有配置为在任何运行级别启动,chkconfig 不再严格强制执行 "Required-Start" 依赖项。在这种情况下,LSB 服务会如预期安装。
- BZ#771741
- 在以前的版本中,chkconfig 无法正确处理 LSB 初始化脚本之间的依赖关系。因此,如果启用了 LSB 服务,则依赖于它的 LSB 服务可能会错误设置。有了这个更新,chkconfig 已被修改来确定依赖项,现在在此场景中将依赖 LSB 服务设置为预期。
5.25. cifs-utils
安全修复
- CVE-2012-1586
- mount.cifs 中发现了一个存在安全漏洞的文件。如果工具安装有 setuid 位集,本地攻击者可以利用此漏洞来确定攻击者无法访问目录中的文件或目录。注意红帽分发的 cifs-utils 软件包中的 mount.cifs 没有设置 setuid 位。我们建议管理员不要为 mount.cifs 手动设置 setuid 位。
程序错误修复
- BZ#769923
- cifs.mount (8)手册页之前缺少几个挂载选项的文档。在这个版本中,缺少的条目已添加到手册页中。
- BZ#770004
- 在以前的版本中,在重新挂载现有 CIFS 挂载时,mount.cifs 工具无法正确更新"/etc/mtab"系统信息文件。因此,mount.cifs 创建了一个现有挂载条目的重复条目。在这个版本中,将 del_mtab () 函数添加到 cifs.mount,这样可确保在添加更新的挂载条目前从 "/etc/mtab 中删除旧的挂载条目。
- BZ#796463
- mount.cifs 工具没有正确将用户和组名称转换为数字 UID 和 GID。因此,当使用用户或组名称指定 "uid", "gid" 或 "cruid" 挂载选项时,CIFS 共享会使用默认值挂载。这会导致对预期的用户无法访问共享,因为 UID 和 GID 默认设置为 "0"。在这个版本中,用户和组名称会被正确转换,以便使用指定的用户和组所有权挂载 CIFS 共享。
- BZ#805490
- cifs.upcall 工具没有遵守 "krb5.conf" 文件中的 "domain_realm" 部分,且只适用于默认域。因此,尝试从默认域不同的 CIFS 共享挂载 CIFS 共享会失败,并显示以下错误消息:mount error (126): 所需的密钥不可用这个更新修改底层代码,以便 cifs.upcall 可以正确处理多个 Kerberos 域,并且 CIFS 共享现在可以按预期挂载到多域环境中。
功能增强
- BZ#748756
- cifs.upcall 工具之前始终使用 "/etc/krb5.conf" 文件,无论用户是否指定了自定义 Kerberos 配置文件。在这个版本中,将 "--krb5conf" 选项添加到 cifs.upcall 中,允许管理员指定备用 krb5.conf 文件。有关此选项的更多信息,请参阅 cifs.upcall (8)手册页。
- BZ#748757
- cifs.upcall 工具没有最佳地确定用于 Kerberos 身份验证的正确服务主体名称(SPN),这偶尔会在挂载服务器的非限定域名时导致 krb5 身份验证失败。这个版本改进了 cifs.upcall,用于确定 SPN 的方法现在更为广泛。
- BZ#806337
- 在这个版本中,在 mount.cifs 工具中添加了 "backupuid" 和 "backupgid" 挂载选项。指定后,这些选项向用户或组授予访问备份意图的文件的权利。有关这些选项的更多信息,请参阅 mount.cifs (8)手册页。
5.26. 集群和 gfs2-utils
程序错误修复
- BZ#759603
- 当节点丢失与仲裁设备的联系人同时过期时,会出现竞争条件。节点争用隔离,这可能会导致集群失败。为了防止发生竞争条件,改进了 cman 和
qdiskd
交互计时器。 - BZ#750314
- 在以前的版本中,在启动隔离过程中集群分区和合并不会被正确检测到。因此,DLM (Distributed Lock Manager)锁定空间操作可能会变得无响应。在这个版本中,分区和合并事件会被检测到并正确处理。在上述场景中,DLM 锁定空间操作不再变得无响应。
- BZ#745538
- qdisk (5)手册页中的多个 ping 命令示例不包括
-w
选项。如果 ping 命令在没有 选项的情况下运行,则操作可能会超时。在这个版本中,p-w
选项被添加到这些 ping 命令中。 - BZ#745161
- 由于 libgfs2 中的一个错误,sendinel 目录条目被计算为与实际条目一样。因此,当需要大量日志元数据块(例如,块大小为 512 和 9 或更多日志)时,mkfs.gfs2 工具创建了没有通过 fsck 检查的文件系统。在这个版本中,在处理 sendinel 条目时会避免递增目录条目的计数。现在,使用大量日志元数据块创建的
GFS2
文件系统现在完全通过 fsck 检查。 - BZ#806002
- 当节点出现故障并被隔离时,该节点通常会重启,并使用新状态加入集群。但是,如果在重新加入操作过程中发生块,则该节点无法重新加入集群,且尝试在启动过程中失败。在以前的版本中,在这种情况下,cman init 脚本不会恢复启动过程中发生的操作,一些守护进程可能会错误地在节点上运行。底层源代码已被修改,在遇到错误时,cman init 脚本现在会执行完全回滚。在这种情况下,任何守护进程都不必要地运行。
- BZ#804938
- 之前用来验证 cluster.conf 文件的 RELAX NG 模式无法识别
totem.miss_count_const
constant 作为一个有效的选项。因此,当使用此选项时,用户无法验证cluster.conf
。现在,RELAX NG 模式可以正确识别这个选项,并且cluster.conf
文件可以如预期被验证。 - BZ#819787
cmannotifyd
守护进程通常在 cman 实用程序之后启动,这意味着cmannotifyd
不会在启动时接收或分配当前集群状态上的任何通知。这个版本修改了 cman 连接循环,以生成配置和成员资格更改的通知。- BZ#749864
- 在 gfs2_edit 代码中使用
free()
功能可能会导致内存泄漏,从而导致各种问题。例如,当用户执行 gfs2_edit savemeta 命令时,gfs2_edit 工具可能会变得无响应,甚至意外终止。这个版本应用了多个上游补丁,现在正确使用free()
功能,不再会发生内存泄漏。在这个版本中,保存 gfs2_edit savemeta 命令的统计信息会频繁报告,以便用户知道在保存大量元数据时,进程仍在运行。 - BZ#742595
- 在以前的版本中,如果文件系统只包含一个资源组,则 gfs2_grow 工具无法扩展 GFS 文件系统。这是因为旧代码基于
GFS1
(不同的字段),它计算了资源组之间的距离,且不能只使用一个资源组。在这个版本中,libgfs2 中添加了rgrp_size()
功能,它计算资源组的大小,而不是确定之前资源组中的距离。现在,只能成功扩展只有一个资源组的文件系统。 - BZ#742293
- 在以前的版本中,当底层设备不包含有效的 GFS2 文件系统时,gfs2_edit 工具会输出不明确的错误消息,这可能会造成混淆。在这个版本中,用户在上述场景中提供附加信息。
- BZ#769400
- 在以前的版本中,mkfs 工具会在创建
GFS2
文件系统时提供出错信息的用户。消息还包含绝对构建路径和源代码引用,这些引用是不需要的。应用了补丁,以便用户在上述场景中为用户提供全面的错误消息。 - BZ#753300
gfs_controld
守护进程忽略了在挂载文件系统时为dlmc_fs_register()
功能返回的dlm_controld
守护进程返回的错误。这会导致挂载成功,但无法使用分布式锁定管理器(DLM)协调GFS
文件系统的恢复。在这个版本中,在以下情况下挂载文件系统不会成功,并返回出错信息。
功能增强
- BZ#675723, BZ#803510
- gfs2_convert 工具可用于
GFS1
文件系统,将文件系统从GFS1
转换为GFS2
。但是,gfs2_convert 工具需要在转换前运行 gfs_fsck 工具,但由于此工具没有包括在 Red Hat Enterprise Linux 6 中,用户必须使用 Red Hat Enterprise Linux 5 运行这个实用程序。在这个版本中,gfs2_fsck 工具允许用户在 Red Hat Enterprise Linux 6 系统上执行完整的GFS1
到GFS2
转换。 - BZ#678372
- 使用
qdiskd
守护进程和 device-mapper-multipath 工具进行集群调优是一个非常复杂的操作,它以前容易在此设置中错误配置qdiskd
,从而导致集群节点失败。改进了qdiskd
守护进程的输入和输出操作,以自动检测与多路径相关的超时,而无需手动配置。用户现在可以使用 device-mapper-multipath 轻松部署qdiskd
。 - BZ#733298, BZ#740552
- 在以前的版本中,cman 实用程序无法在 corosync 中正确配置冗余环协议(RRP),从而导致 RRP 部署无法正常工作。有了这个更新,c man 已进行了改进,以正确配置 RRP,并对用户配置执行额外的完整性检查。现在,使用 RRP 部署集群更容易,用户会看到更广泛的错误报告。
- BZ#745150
- 在这个版本中,Red Hat Enterprise Linux High Availability 已针对 VMware vSphere 5.0 版本进行验证。
- BZ#749228
- 有了这个更新,在具有高可用性 LVM (HA-LVM)的双节点集群中验证 fence_scsi 隔离代理的使用。
5.27. cluster-glue
程序错误修复
- BZ#758127
- 在以前的版本中,程序 /etc/sysconfig/pacemaker 中的环境变量 "LRMD_MAX_CHILDREN" 没有被正确评估。因此,Local Resource Management Daemon (lrmd)中的 "max_child_count" 变量没有被修改。在这个版本中,这个程序错误已被解决,环境变量 "LRMD_MAX_CHILDREN" 会如预期评估。
- BZ#786746
- 在以前的版本中,如果 Pacemaker 在执行操作时尝试取消重复操作,则本地资源管理守护进程(lrmd)无法正确取消操作。因此,操作不会从重复列表中删除。在这个版本中,如果在执行过程中取消了取消的操作,则取消的操作会标记为从重复操作列表中删除,因此永远不会再次执行重复取消的操作。
5.28. ClusterMon
程序错误修复
5.29. cluster
错误修复
- BZ#878373
- 在以前的版本中,隔离的守护进程会创建其具有不安全权限的日志文件。虽然文件中不会存储任何敏感数据,如密码、用户名或 IP 地址,但使用此更新,也会创建日志文件并具有正确的权限。如果需要,现有日志文件的权限也会自动更正。
错误修复
- BZ#849049
- 在以前的版本中,无法为 dlm_controld 守护进程指定启动选项。因此,某些功能无法正常工作。在这个版本中,可以使用 /etc/sysconfig/cman 配置文件来指定 dlm_controld 启动选项,从而修复这个程序错误。
错误修复
- BZ#982699
- 在以前的版本中,cman init 脚本无法正确处理其锁定文件。在节点重启过程中,这可能会导致节点本身被其他成员从集群中驱除。在这个版本中,cman init 脚本可以正确处理锁定文件,且集群的其他节点不会采取隔离操作。
5.30. conman
5.30.1. RHEA-2012:0401 - conman 增强更新
功能增强
- BZ#738967
- 用户现在可以配置打开的文件的最大数量。这允许 conman 守护进程轻松地管理大量节点。
5.31. control-center
错误修复
- BZ#771600
- 以前的 control-center 软件包版本包含 gnome-at-mobility,它是一个软件组件,它不需要与 Red Hat Enterprise Linux 6 一起分发的软件组件,也不会出现在任何可用的频道中。在这个版本中,非功能 gnome-at-mobility 脚本已被删除,不再作为 control-center 软件包的一部分发布。
功能增强
- BZ#524942
- 后台配置工具现在使用 XDG Base Directory 规格来确定存储其数据文件的位置。默认情况下,此文件位于 ~/.config/gnome-control-center/backgrounds.xml。用户可以通过设置 XDG_DATA_HOME 环境变量来更改 ~/.config/ 前缀,或者将 GNOMECC_USE_OLD_BG_PATH 环境变量设置为 1 以恢复旧行为并使用 ~/.gnome2/backgrounds.xml 文件。
- BZ#632680
- control-center-extra 软件包现在包含 GNOME Control Center shell。此 shell 提供了一个用户界面来启动各种 Control Center 工具。
- BZ#769465, BZ#801363
- GNOME Control Center 现在为 Wacom 图形平板电脑提供了一个配置工具,它替换了 wacompl 工具。
5.32. coolkey
程序错误修复
5.33. coreutils
程序错误修复
- BZ#772172
- "pr -c [filename]" 和 "pr -v [filename]" 命令(用于显示控制和非打印字符)会导致 pr 实用程序以多字节区域中的分段错误终止。在这个版本中,底层代码已被修改,pr 实用程序现在可以按预期工作。
- BZ#771843
- ls 命令的 "-Z" 选项没有足够解释,只有最后一个格式选项会被考虑,用户不知道为什么 "ls -Zl" 和 "ls -lZ" 命令返回不同的输出。在这个版本中,ls info 文档有所改进。
- BZ#769874
- "tail --follow"命令使用 inotify API 来跟踪文件中的更改。但是,inotify 不适用于远程文件系统,而 tail 实用程序应回退到轮询此类文件系统上的文件。远程文件系统列表中缺少远程文件系统 GPFS 和 FhGFS,因此"tail --follow"不显示对这些文件系统上文件的更新。这些文件系统已添加到远程文件系统列表中,不再出现这个问题。
- BZ#751974
- 如果启用了 SELinux,则"ls -l"命令会泄漏命令行中指定的每个非空目录名称的一个字符串。在这个版本中,这些字符串从内存中释放,问题不再发生。
- BZ#754057
- 如果运行忽略 SIG_CHLD 信号的进程,则 su 工具可能会变得无响应。这是因为 su 实用程序使用 waitpid ()函数等待子进程。带有 waitpid ()函数的循环机制等待进程处于已停止状态。但是,屏蔽 SIG_CHLD 信号的进程永远不会处于该状态。在这个版本中,循环机制已被改进,可以正确处理这种情况,问题不再会发生。
- BZ#804604
- 在非交互式 tcsh shell 中,colorls.csh 脚本返回以下错误:tput: No value for $TERM and no -T specified这是因为 tcsh shell 没有短路在 colorls.csh 表达式中对逻辑 AND 进行评估。在这个版本中,检查交互式 shell 已被修改,脚本不再返回错误消息。
功能增强
- BZ#766461
- 在默认列表中,df 实用程序显示包括 UUID 的长文件系统名称。因此,文件系统名称后的列被推送到右侧,并使 df 输出难以读取。只要 UUID 系统名称变得更为常见,df 现在会在长名称引用符号链接时打印引用,且没有指定文件系统。
- BZ#691466
- 当在带有 chmod 工具的目录上清理特殊的 set-user-id 和 set-group-id 位时,用户无法使用八进制数字模式。这是一个上游更改,但因为之前的所有 Red Hat Enterprise Linux 版本中可能,需要提供向后兼容性。因此,如果八进制数模式至少为 5 位,则 chmod 工具现在允许用户使用八进制数模式清除目录上的特殊位。
5.34. corosync
错误修复
- BZ#849554
- 在以前的版本中,corosync-notifyd 守护进程启用了 dbus 输出,每次通过 dbus 发送消息时都会等待 0.5 秒。因此,corosync-notifyd 在生成输出和内存时非常慢。另外,当 corosync-notifyd 终止时,其内存不会被释放。在这个版本中,corosync-notifyd 不再会降低其操作的一半延迟,而 Corosync 现在会在 IPC 客户端退出时正确释放内存。
程序错误修复
- BZ#741455
- mainconfig 模块将不正确的字符串 pointer 传递给打开 corosync 日志文件的功能。如果文件的路径(在 cluster.conf 中)包含不存在的目录,则返回不正确的错误消息,表示存在配置文件错误。现在,会返回正确的错误消息,告知用户无法创建日志文件。
- BZ#797192
- coroipcc 库不会删除存储在 /dev/shm 共享内存文件系统中的 Inter-Process Communication (IPC)连接的临时缓冲区。/dev/shm 内存资源被完全使用,并导致服务事件的 Denial。库已被修改,以便在 corosync 服务器没有删除缓冲区时应用程序删除临时缓冲区。/dev/shm 系统现在不再与不需要的数据冲突。
- BZ#758209
- update_aru ()函数的范围条件可能会导致消息 ID 检查不正确。corosync 实用程序输入"FAILED TO RECEIVE"状态,无法接收多播数据包。update_aru ()函数中的 range 值不再被检查,现在使用 fail_to_recv_const 常数执行检查。
- BZ#752159
- 如果 corosync-notifyd 守护进程长时间运行,则 corosync 进程会消耗大量内存。这是因为 corosync-notifyd 守护进程未能表示删除了 no-longer 使用的 corosync 对象,从而导致内存泄漏。corosync-notifyd 守护进程已被修复,如果 corosync-notifyd 长时间运行,corosync 内存用量将不再增加。
- BZ#743813
- 当大型集群同时启动或者多个 corosync 实例同时启动时,CPG (关闭进程组)事件不会被发送到用户。因此,节点被错误地检测到为不再可用,或者作为保留并重新加入集群。现在,在这样的场景中,CPG 服务会正确检查退出代码,并且 CPG 事件按预期发送到用户。
- BZ#743815
- OpenAIS EVT (Eventing)服务有时会导致计时器和序列化锁定之间的 corosync 中死锁。修改了锁定的顺序,并解决了这个程序错误。
- BZ#743812
- 当 corosync 过载时,在不发出任何通知的情况下,IPC 信息可能会丢失。这是因为有些服务没有处理 totem_mcast () 函数返回的错误代码。使用 IPC 的应用程序现在可以正确处理无法正确发送 IPC 信息,并尝试再次发送信息。
- BZ#747628
- 如果在一个系统中同时安装了 corosync 和 cman RPM 软件包,RPM 验证过程会失败。这是因为两个软件包都拥有同一目录,但对其应用不同的权限。现在,RPM 软件包具有相同的权限,RPM 验证不再会失败。
- BZ#752951
- corosync 会消耗过量内存,因为 getaddrinfo ()函数泄漏内存。现在,使用 freeadrrinfo ()函数释放内存,getaddrinfo ()不再泄漏内存。
- BZ#773720
- 由于 objdb 结构中的内存损坏,无法在运行时激活或停用调试日志。现在,可以在运行时激活或取消激活 debug 日志记录,例如: "corosync-objctl -w logging.debug=off" 命令。
功能增强
- BZ#743810
- 每个 IPC 连接在堆栈中使用 48 K。在以前的版本中,堆栈大小减少的多线程应用程序无法正常工作,这会导致过量内存用量。现在,堆中的临时内存资源被分配给 IPC 连接,因此多线程应用程序不再需要说明 IPC 连接的堆栈大小。
错误修复
- BZ#929100
- 运行使用 Corosync IPC 库的应用程序时,mgr ()函数中的一些消息会丢失或重复。在这个版本中,可以正确地检查 assigned_put () 函数的返回值,在 IPC 环缓冲中返回正确的剩余字节数,并确保 IPC 客户端正确了解环缓冲中实际消息数。现在,allocation () 函数中的消息不再丢失或重复。
5.35. cpio
5.35.1. RHBA-2012:1414 - cpio 程序错误修复更新
错误修复
- BZ#866467
- 在以前的版本中,在归档操作过程中,cpio 命令无法将大于 155 字节的文件名分成两个部分。因此,cpio 可能会意外终止并出现分段错误。这个程序错误已被解决,cpio 现在可以在没有任何崩溃的情况下处理较长的文件名。
5.35.2. RHBA-2012:0444 - cpio 程序错误修复更新
错误修复
- BZ#746209
- 在此次更新之前,--to-stdout 和 --no-absolute-filenames 选项没有在 cpio (1)手册页中列出。这个版本包括缺少的选项,并更正几个错误打印。
5.36. cpuspeed
程序错误修复
- BZ#642838
- 在此次更新之前,PCC 驱动程序在加载时使用"userspace"调控器,而不是"ondemand"调控器。这个版本修改了 init 脚本,以同时检查 PCC 驱动程序。
- BZ#738463
- 在此次更新之前,cpuspeed init 脚本会尝试为每个内核设置 cpufrequency 系统文件,它是一个弃用的过程。在这个版本中,全局设置阈值。
- BZ#616976
- 在此次更新之前,当配置文件被禁止时,cpuspeed 工具不会重置 MIN 和 MAX 值。因此,MIN_SPEED 或 MAX_SPEED 值不会按预期重置。在这个版本中,在初始化脚本中添加了条件来检查这些值。现在,MIN_SPEED 或 MAX_SPEED 值会如预期重置。
- BZ#797055
- 在此次更新之前,初始化脚本不会按预期处理 IGNORE_NICE 参数。因此,当设置了 IGNORE_NICE 参数时,"-n"被添加到命令选项中。在这个版本中,修改 init 脚本,在使用 IGNORE_NICE 参数时停止添加 NICE 选项。
5.37. crash
5.37.1. RHBA-2012:0822 - 崩溃程序漏洞修复和功能增强更新
程序错误修复
- BZ#754291
- 如果内核是在启用了完全公平调度程序(CFS)组调度功能(CONFIG_FAIR_GROUP_SCHED=y)配置的,则 crash 工具的"runq"命令不会显示 CPU 运行队列中的所有任务。在这个版本中,修改 crash 工具,以便运行队列中的所有任务现在都会如预期显示。另外,"-d"选项已添加到 "runq" 命令中,该命令提供与 /proc/sched_debug 文件相同的调试信息。
- BZ#768189
- 在以前的版本中,在 Intel 64 和 AMD64 构架中,"bt"命令无法正确处理递归不可屏蔽中断(NMI)。因此,在某些情况下,"bt"命令可以在无限循环中显示任务后端。在这个版本中,crash 工具已被修改,以识别 NMI 处理程序中的递归,并防止回溯追踪的无限显示。
- BZ#782837
- 在某些情况下,压缩的 kdump 核心文件的标头中的 "elf_prstatus" 条目数量可能与系统崩溃时运行的 CPU 数量不同。如果崩溃工具分析了这样的核心文件,在显示任务后端时,崩溃会意外终止并出现分段错误。在这个版本中,修改代码,以便"bt"命令现在在此场景中显示回溯追踪。
- BZ#797229
- 代码的最新更改会导致 crash 工具错误地识别 64 位 PowerPC 架构的 kdump 转储文件,作为 32 位 PowerPC 架构的转储文件。这会导致 crash 工具在初始化过程中失败。在这个版本中解决了这个问题,crash 工具现在识别和分析 32 位和 64 位 PowerPC 架构的压缩的 kdump 转储文件。
- BZ#817247
- 当用户页面被交换出或没有在 IBM System z 架构中映射时,crash 工具无法正确处理。因此,"vm -p"命令失败,并发生了读取错误,或者交换设备的偏移 va1lue 会错误地设置。在这个版本中,crash 显示 swap 设备的正确偏移值,或者正确表示用户页面没有被映射。
- BZ#817248
- 当"bt -t"和"bt -T"命令在 IBM System z 架构上的活动任务中运行时,crash 工具无法正确处理的情况。因此,命令会失败,并显示此任务的 "bt: invalid/stale stack pointer: 0" 错误信息。这个版本修改了源代码,以便 "bt -t" 和 "bt -T" 命令按预期执行。
功能增强
5.38. crash-trace-command
错误修复
- BZ#729018
- 在以前的版本中,crash-trace-command 软件包中的 "trace.so" 二进制文件由没有 "-g" 选项的 GCC 编译器编译。因此,其关联的 "trace.so.debug" 文件中不包含任何调试信息。这可能会影响自动错误报告工具(ABRT)及其重新追踪服务器执行的崩溃分析。另外,在这些情况下,无法使用 GDB 工具正确调试崩溃。在这个版本中,修改 crash-trace-command 的 Makefile,以使用 "RPM_OPT_FLAGS" 标志编译 "trace.so" 二进制文件,以确保在编译过程中使用 GCC 的 "-g" 选项。调试和崩溃分析现在可以按预期执行。
5.39. createrepo
错误修复
- BZ#623105
- 在此次更新之前,modifyrepo.py 脚本的 shebang 行包含 "#!/usr/bin/env python",因此系统路径用于定位 Python 可执行文件。当在系统上安装另一个版本的 Python 时,在 PATH 环境变量中指定 "/usr/local/python" 时,脚本因为 Python 兼容性问题而无法正常工作。在这个版本中,shebang 行被修改为 "#!/usr/bin/python",以便始终使用 Python 的系统版本。
5.40. cryptsetup-luks
错误修复
5.41. ctdb
5.41.1. RHBA-2012:0904 - ctdb 程序错误修复更新
错误修复
- BZ#794888
- 在更新之前,ctdb 工作目录,所有子目录和文件都是在 ctdb 服务启动时使用不正确的 SELinux 上下文创建的。此更新使用安装后脚本来创建 ctdb 目录,命令 "/sbin/restorecon -R /var/ctdb" 现在会设置正确的 SELinux 上下文。
5.42. cups
5.42.1. RHBA-2012:1285 - cups 程序错误修复更新
错误修复
- BZ#854472
- 在以前的版本中,当最初没有提供身份验证(或请求甚至请求)时,cups 会返回 "forbidden" 状态,而不是正确的"unauthorized"状态。因此,某些操作(如尝试使用 Web 用户界面在队列之间移动作业)会失败。已提供了一个上游补丁来解决这个程序错误,并且 cups 现在在上述场景中返回正确的状态。
5.42.2. RHBA-2012:1470 - cups 程序错误修复更新
错误修复
- BZ#873592
- 在以前的版本中,启用了 LDAP 浏览后,用于 LDAP 查询的一个对象被释放两次,这会导致 cupsd 服务意外终止并出现分段错误。此外,浏览的 LDAP 队列的名称也被单个字符截断。因此,如果只定义了在最后一个字符中不同名称的多个打印队列,则只会列出一个打印队列。在这个版本中,解决了这些问题的上游补丁已被向后移植,并且 cupsd 服务不再崩溃,LDAP 打印队列现在可以正确显示。
5.42.3. RHBA-2012:0818 - cups 程序错误修复更新
程序错误修复
- BZ#738410
- 在此次更新之前,在请求单个副本时,纯文本过滤器并不总是正确生成输出。纯文本过滤器通过将一个副本的输出假脱机到临时文件来生成单个或多个副本的输出,然后根据需要发送该临时文件的内容。但是,如果过滤器被用于 MIME 类型转换,而不是作为Script Printer Description (PPD)过滤器,并且请求一个副本,则不会创建临时文件,且程序失败并显示"No such file or directory"消息。有了这个更新,无论指定的副本数如何,纯文本过滤器已被修改来创建临时文件。现在,数据会如预期发送到打印机。
- BZ#738914, BZ#740093
- 在以前的版本中,可以通过提交空文件以进行打印(例如,执行 "lp /dev/null")或将空文件作为标准输入来创建空作业。这样,会创建一个作业,但永远不会处理。在这个版本中,不允许创建空打印作业,用户现在会通知请求中没有文件。
- BZ#806818
- Web 界面的搜索页模板转换包含一个错误,导致搜索功能无法正常工作:尝试在 CUPS Web 界面中搜索打印机会失败,并在浏览器中显示错误消息。搜索模板中的 bug 已被修复,德语区域中的搜索功能现在可以正常工作。
5.43. cvs
5.43.1. RHBA-2012:1302 - cvs 程序错误修复更新
程序错误修复
- BZ#671145
- 在此次更新之前,C shell (csh)不会将 CVS_RSH 环境变量设置为 "ssh",当用户访问远程 CVS 服务器时,会使用远程 shell (rsh)。因此,连接容易受到攻击的影响,因为远程 shell 没有被加密,或者不一定在每个远程服务器上启用。cvs.csh 脚本现在使用有效的 csh 语法,并且登录时正确设置了 CVS_RSH 环境变量。
- BZ#695719
- 在此次更新之前,xinetd 软件包不是 cvs 软件包的依赖项。因此,CVS 服务器无法通过网络访问。在这个版本中,cvs-inetd 软件包包含 CVS inetd 配置文件,确保 xinetd 软件包作为依赖项安装,并在系统中提供 xinetd 守护进程。
5.44. cyrus-sasl
错误修复
- BZ#878357
- 在以前的版本中,GSSAPI 插件保留凭证处理整个客户端连接的时间。这些句柄保存指向 Kerberos 重播缓存结构的指针。当重播缓存是文件时,该结构包含一个打开的文件描述符。当太多客户端使用 GSSAPI 时,服务器可能会耗尽文件句柄。因此,客户端可能会在重启前变得无响应。在这个版本中,在插件获取安全上下文后立即关闭 GSSAPI 凭证处理,从而防止这个错误。
5.45. dash
5.45.1. RHBA-2012:1381 - dash 程序错误修复更新
错误修复
- BZ#706147
- 在此次更新之前,允许使用短划线 shell。因此,用户无法使用短划线 shell 登录。在这个版本中,在安装或升级短划线软件包时,将短划线添加到允许登录 shell 的 /etc/shells 列表中,并在卸载软件包时将其从列表中删除。现在,用户可以使用短划线 shell 登录。
5.46. db4
5.46.1. RHBA-2012:0452 - db4 程序错误修复更新
错误修复
- BZ#784662
- db4 spec 文件错误地声明:"License"只是"BSD",而它实际上是以 BSD 和 Sleepycat 许可证的许可,后者与 Berkeley 软件分发(BSD)许可证不同,后者通过包含 redistribution 子句。在这个版本中修正了 spec 文件,以便正确说明 db4 软件在"Sleepycat 和 BSD"许可证下提供。
5.46.2. RHBA-2013:1444 - db4 程序错误修复更新
错误修复
- BZ#1012586
- 由于 mutex 初始化调用的顺序不正确,rpm 工具在某些情况下会变得无响应,直到终止为止。在这个版本中,mutex 初始化调用的顺序已被修改。因此,rpm 工具不再变得无响应。
5.47. dbus
安全修复
- CVE-2012-3524
- 发现 D-Bus 库遵循的环境设置,即使在使用升级的权限运行时也是如此。本地攻击者可以在运行与 D-Bus 库链接的 setuid 或 setgid 应用程序(libdbus)之前设置特定的环境变量来升级其权限。
5.48. device-mapper-multipath
错误修复
- BZ#837594
- 当多路径向量(动态分配的阵列)调整为较小的大小时,device-mapper-multipath 不会将指针重新分配给阵列。如果阵列位置已通过缩小大小来更改,则 device-mapper-multipath 会损坏其内存。在这个版本中,device-mapper-multipath 在此场景中正确地重新分配指针,且不再发生内存崩溃。
程序错误修复
- BZ#812832
multipathd
守护进程没有在关闭过程中正确停止等待的线程。等待程序线程可以访问空闲的内存,并导致守护进程在关闭过程中意外终止。在这个版本中,mutlipathd
守护进程可以正确地停止等待程序线程,然后才能访问任何空闲的内存,在关闭过程中不再崩溃。- BZ#662433
- 当 设备映射器多路径 停止后,
multipathd
默认不会在多路径设备中禁用queue_if_no_path
选项。当multipathd
在关闭过程中停止时,如果设备的所有路径都丢失,则设备的 I/O 会添加到队列中,关闭过程变得无响应。在这个版本中,multipathd 会默认将queue_without_daemon
选项设置为no
。因此,当multipathd
停止时,所有多路径设备都会停止队列,多路径现在可以按预期关闭。 - BZ#752989
- 设备映射器多路径 使用内置设备配置中的正则表达式来确定多路径设备,以便将正确的配置应用到该设备。在以前的版本中,一些用于解析设备厂商名称和产品 ID 的正则表达式不够具体。因此,有些设备可以与不正确的设备配置匹配。在这个版本中,产品和厂商正则表达式已被修改,现在所有多路径设备都会被正确配置。
- BZ#754586
- 重命名设备后,
multipathd
和 udev 之间有一个竞争条件,用于重命名新的多路径设备节点。如果 udev 首先重命名设备节点,multipathd
会删除由 udev 创建的设备,且无法创建新设备节点。在这个版本中,multipathd
立即创建新设备节点,且不再发生竞争条件。因此,重命名的设备现在可以按预期可用。 - BZ#769527
- 在以前的版本中,
flush_on_last_dev
处理代码无法正确实现队列功能的处理。因此,即使激活了flush_on_last_del
功能,multipathd
会在多路径设备上重新启用队列,在删除最后一个路径设备后无法立即删除。在这个版本中,代码已被修复,当用户设置flush_on_last_del
时,其多路径设备可以正确地禁用队列,即使设备无法立即关闭。 - BZ#796384
- 在以前的版本中,设备映射器多路径 使用固定大小的缓冲来读取 Virtual Device Identification 页面 [0x83]。缓冲区大小有时不足以容纳设备发送的数据,ALUA (Asymmetric Logical Unit Access) prioritizer 失败。设备映射器多路径现在为 Virtual Device Identification 页面动态分配一个足够大的缓冲,ALUA prioritizer 在描述的场景中不再失败。
- BZ#744210
- 在以前的版本中,
multipathd
不会默认设置max_fds
选项,它会设置multipathd
可打开的最大文件描述符数量。另外,user_friendly_names
设置只能在/etc/multipath.conf
的defaults
部分中配置。用户必须手动设置max_fds
,并在其特定于设备的配置中覆盖默认的 user_friendly_names
值。在这个版本中,多路径默认将max_fds
设置为系统最大值,user_friendly_names
可以在multipath.conf
的devices
部分进行配置。用户不再需要为大型设置设置 max_fds,并且能够选择每个设备类型的 user_friendly_names。 - BZ#744756
- 在以前的版本中,要修改内置配置,用户配置的供应商和产品字符串必须与内置配置的供应商和产品字符串相同。vendor 和 product 字符串是正则表达式,用户并不总是知道修改内置配置所需的正确供应商和产品字符串。在这个版本中,
hwtable_regex_match
选项被添加到multipath.conf
的 defaults 部分。如果设置为yes
,则多路径会使用常规表达式匹配来确定用户的供应商和产品字符串是否与内置设备配置字符串匹配:用户可以使用其硬件中的实际供应商和产品信息,并修改该设备的默认配置。默认情况下,选项设置为no
。 - BZ#750132
- 在以前的版本中,
multipathd
使用已弃用的内存不足(OOM)调整接口。因此,守护进程没有被 OOM 终止程序的保护。当内存较低且用户无法恢复失败的路径时,OOM 终止程序可能会终止守护进程。在这个版本中,multipathd
现在使用新的内存不足调整接口,且不再由内存不足终止程序终止。 - BZ#702222
multipath.conf
文件现在包含一个注释,告知用户必须重新加载配置才能使任何更改生效。- BZ#751938
- 当运行 multipath -h (打印使用量)时,
multipathd
守护进程会错误地退出代码1
。在这个版本中,底层代码已被修改,multipathd
现在会在上述场景中返回代码 0。 - BZ#751039
- 有些
multipathd
线程没有检查multipathd
在启动其执行前是否关闭。因此,multipathd
守护进程可能会意外终止,并在关闭时出现分段错误。在这个版本中,multipathd
线程会在触发执行前检查multipathd
是否关闭,multipathd
不再在关闭时终止分段错误。 - BZ#467709
- 当多个节点使用相同的存储时,
multipathd
守护进程没有处理路径组的切换方法。因此,如果一个节点无法访问逻辑单元的首选路径,而其他节点的首选路径被保留,则multipathd
可能会在路径组间备份回来。在这个版本中,在 device-mapper-multipath 中添加了followover
failback 方法。如果设置了followover
failback 方法,multipathd
不会返回到首选路径组,除非它刚刚上线。当多个节点使用相同的存储时,在一台机器上路径失败不再会导致路径组持续切换。
功能增强
- BZ#737051
- NetApp 品牌名称已添加到 RDAC (Redundant Disk Array Controller)检查程序和优先级器的文档中。
- BZ#788963
- 添加了 Fujitsu ETERNUS 的内置设备配置。
- BZ#760852
- 如果多路径检查程序配置被设置为
tur
,则不会异步执行检查。如果设备失败,且检查程序正在等待 SCSI 层返回,则其他路径上的检查会保持等待。检查程序已被重写,就像异步检查路径一样,其他路径上的路径检查会如预期继续。 - BZ#799908
- 添加了 IBM XIV 存储系统的内置配置。
- BZ#799842
- NetApp LUN 内置配置现在默认使用
tur
路径检查程序。另外 flush_on_last_del 被启用,dev_loss_tmo 已设置为infinity
,fast_io_fail_tmo 设置为5
,pg_init_retries 已设置为50
。
5.49. dhcp
安全修复
- CVE-2012-3571
- 在处理零长度客户端标识符的 dhcpd 守护进程中发现了一个拒绝服务漏洞。一个远程攻击者可以使用此缺陷向 dhcpd 发送特殊设计的请求,可能会导致它进入无限循环,并消耗大量 CPU 时间。
- CVE-2012-3954
- dhcpd 守护进程中发现两个内存泄漏漏洞。远程攻击者可以通过发送大量 DHCP 请求,利用这些漏洞使 dhcpd 耗尽所有可用内存。
程序错误修复
- BZ#656339
- 在以前的版本中,当 dhclient 在获取或更新地址时失败,它也会从备份中恢复 resolv.conf 文件,即使其他 dhclient 进程正在运行。因此,网络流量可能会不必要的中断。dhclient-script 中的错误已被修复,只有在没有其他 dhclient 进程运行时,dhclient 现在才会从备份中恢复 resolv.conf。
- BZ#747017
- 当 dhcpd 进程试图解析 dhcpd.conf 中的 slp-service-scope 选项时,会导致 dhcpd 进程中的一个死循环。因此,dhcpd 会在启动时输入无限循环,消耗了 100% 的 CPU 周期。这个版本改进了代码,问题不再发生。
- BZ#752116
- 在以前的版本中,DHCPv4 客户端不会检查 DHCPACK 消息中接收的地址是否已在使用中。因此,重启后两个客户端可能具有相同的冲突,IP 地址可能会存在相同的冲突。有了这个更新,这个 bug 已被修复,DHCP4 客户端现在执行重复地址检测(DAD),并在 DHCPACK 中接收的地址已在使用时发送 DHCPDECLINE 信息,如 RFC 2131。
- BZ#756759
- 当使用 "-1" 命令行选项调用 dhclient 时,它应尝试获得一次租期,并在以状态代码 2 的失败退出时尝试获取租期。在以前的版本中,当使用 "-1" 命令行选项调用 dhclient 时,然后发出 DHCPDECLINE 信息,它会继续获得租期。在这个版本中,clientclient 代码已被修复。因此,在使用 "-1" 选项启动时,dhclient 停止获取租期并在发送 DHCPDECLINE 后退出。
- BZ#789719
- 在以前的版本中,当使用 "-timeout" 选项启动时,dhclient 会在无限循环中保留发送 DHCPDISCOVER 信息,值为 3 或更小(秒)。在这个版本中,这个问题已被解决,"-timeout"选项可以正常工作,所有值都可以正常工作。
功能增强
5.50. ding-libs
程序错误修复
5.51. dmraid
5.51.1. RHBA-2012:0910 - dmraid 程序漏洞修复更新
程序错误修复
- BZ#729971
- 在以前的版本中,grub 安装会在 dmraid 镜像中静默失败,因为 RAID 集的设备几何结构没有被正确设置。因此,无法创建设置分区的 MBR,分区无法引导。在这个版本中,底层代码已被修改,dmraid 设备的 geometry 会正确设置。
- BZ#729032
- dmraid 二进制文件在没有 gcc 的 -g 选项的情况下编译,debuginfo 文件不包含 ".debug_info" 部分。因此,无法正确生成调试信息和调试 dmraid。在这个版本中,使用正确的调试选项编译了二进制文件,问题不再发生。
- BZ#701501
- 当 dmraid 工具访问 4 KB 扇区或更小时,它会返回一个误导错误消息。在这个版本中,检查设备大小的库功能已被修改,在这些情况下不再显示错误消息。
5.52. dnsmasq
5.52.1. RHEA-2012:0869 - dnsmasq 增强更新
功能增强
- BZ#794792
- 添加了一个新的子软件包 dnsmasq-utils。dnsmasq-utils 子软件包包含 dhcp_lease_time 和 dhcp_release 实用程序,用于使用标准 DHCP 协议查询和移除 DHCP 服务器租期。
5.53. docbook-utils
程序错误修复
- BZ#639866
- 在此次更新之前,用于生成 manpages 的 Perl 脚本在标头中包含错误打印。因此,所有 docbook-utils 构建的手册页的标头语法都不正确。在这个版本中修正了脚本。现在,man page 标头具有正确的语法。
5.54. dracut
5.54.1. RHBA-2012:1318 - dracut 程序错误修复更新
错误修复
- BZ#860351
- 如果 "/boot/" 目录不在单独的文件系统中,则 dracut 调用 sha512hmac 工具,且文件名前缀为 "/sysroot/boot"。因此,sha512mac 在 "/boot/" 中搜索文件 checksum,返回的错误和 dracut 认为 FIPS 检查失败。最后,会出现内核 panic。在这个版本中,dracut 使用符号链接链接 "/boot" 到 "/sysroot/boot",sha512mac 现在可以访问 "/boot/" 中的文件,FIPS 检查现在通过,允许系统在上述场景中正常引导。
5.54.2. RHBA-2012:1078 - dracut 程序错误修复更新
错误修复
- BZ#839296
- 在以前的版本中,在引导过程中使用的 proc 文件系统的默认挂载选项是 "mount -t proc -o nosuid,noexec,nodev proc /proc"。这会导致特定内核驱动程序无法访问 proc 文件系统中的设备节点。在这个版本中,选项已被修改为之前使用 "mount -t proc /proc",以便 proc 文件系统可以被内核驱动程序成功访问。
程序错误修复
- BZ#788119
- 在以前的版本中,如果 dracut 模块不包含 "install" 文件,则 dracut 无法执行 "installkernel" 命令。因此,dracut fips-aesni 模块无法包含在 initramfs 镜像中。现在,可以在上述场景中正确执行"安装内核",从而解决了这个问题。
- BZ#761584
- 在以前的版本中,dracut 无法启动降级的 RAID 阵列,从而导致无法引导系统。在这个版本中,dracut 使用 rd_retry 内核命令行参数值,并在 rd_retry/2 秒后尝试强制阵列启动,从而修复这个程序错误。
- BZ#747840
- 在启动过程中,dracut 会多次调用 "udevadm settle" 命令。因此,有时会返回有关命令超时的 inconsequential 信息,在控制台输出中创建冲突。在这个版本中解决了这个程序错误,在上述场景中不再返回信息。
- BZ#735529
- 有时,dracut 会在所有磁盘都可用前尝试编译阵列。因此,dracut 以 degraded 模式或完全失败启动阵列。这个程序错误已被解决,dracut 现在只在由 rd_retry 内核命令行参数控制的时间一段时间后才强制降级阵列启动。
- BZ#714039
- dracut 软件包依赖于 vconfig 软件包,但 vconfig 没有被 dracut 使用。在这个版本中,删除了对 vconfig 的依赖。
- BZ#794863
- 在以前的版本中,如果网络接口启动,则 dracut 会等待两秒来检测链接是否已启动。对于某些网卡,两个秒不够长。因此,网络没有正确设置,系统无法引导。现在,dracut 会等待 10 秒,从而解决了这个问题。
- BZ#752584
- dracut 没有为其启动的网络接口设置广播地址,从而导致 0.0.0.0 广播地址。这个程序错误已被解决,现在在启动时正确设置了默认广播地址。
- BZ#703164
- dracut man page 的 FILES 部分已被修改来修复不准确的内容。
- BZ#752073
- 如果用户在内核命令行上添加多个 "console=[tty]" 参数,则最后一个参数指定主控制台。在以前的版本中,dracut 无法初始化此控制台,而是非条件初始化 /dev/tty0。这个程序错误已被解决,dracut 现在会在上述场景中初始化正确的控制台。
- BZ#788618
- 当 iSCSI 接口中没有指定用户名和密码时,dracut 会重复使用来自之前的 iSCSI 参数的登录信息。因此,身份验证失败,系统没有引导。在这个版本中,这个程序错误已被解决。
功能增强
5.55. dropwatch
错误修复
- BZ#725464
- 在此次更新之前,dropwatch 工具可能会变得无响应,因为它正在等待已取消激活或停止的服务发出停用确认。在这个版本中,dropwatch 检测到尝试取消激活/停止已经停用/停止的服务,不再挂起。
错误修复
- BZ#684713
- 在以前的版本中,dropwatch 工具可能会意外终止并出现分段错误。故障是由发出启动和停止消息时出现的双自由错误导致的。在这个版本中,删除了底层代码的空闲函数调用,这可以防止 dropwatch 工具崩溃。
5.56. dvd+rw-tools
错误修复
- BZ#807474
- 在以前的版本中,growisofs 工具编写 32KB 的块,并在最后一个块中报告错误,当刻录到 32KB 的 ISO 镜像文件时,会报告错误。在这个版本中,写入的块可以小于 16 个块的倍数。
5.57. e2fsprogs
程序错误修复
5.58. efibootmgr
错误修复
- BZ#715216
- 在 Coverity Scan 分析中,发现了一个没有检查错误的分配。在这个版本中,会检查分配中的错误,从而解决了这个问题。
5.59. elinks
安全修复
- CVE-2012-4545
- ELinks 在客户端到服务器 GSS 安全机制协商过程中执行了客户端凭证委托。一个恶意服务器可能会使用这个缺陷来获取客户端的凭证,并将客户端模拟到使用 GSSAPI 的其他服务器。
5.60. espeak
5.60.1. RHBA-2012:1118 - espeak 程序错误修复更新
错误修复
- BZ#789997
- 在以前的版本中,eSpeak 操作了系统声音卷。因此,eSpeak 可以将声音卷设置为最大值,而不考虑指定的 amplitude。声音卷管理代码已从 eSpeak 中删除,现在只有 PulseAudio 管理声音卷。
5.61. expect
5.61.1. RHBA-2012:0456 - 期望程序错误修复更新
程序错误修复
- BZ#674866
- 在此次更新之前,expect (1)手册页没有被正确格式化。因此,手册页的内容不可读。格式已被修正,以确保易于阅读。
- BZ#735962
- 在此次更新之前,passmas 脚本没有使用完整路径(/bin/su)调用 "su" 二进制文件。passmass 脚本已被修改来调用"/bin/su"而不是"su",这更加安全。
- BZ#742911
- 由于与不正确的字符匹配,由 autoexpect 工具创建的应用程序可能会意外终止,并显示分段错误。在这个版本中,字符数量会被正确匹配,由 autoexpect run 创建的应用程序可以成功。
- BZ#782859
- 在以前的版本中,expect-devel 子软件包包含到 expect 库的符号链接,这会导致不必要的依赖项。在这个版本中,链接位于 expect 软件包中。
5.62. fcoe-target-utils
程序错误修复
- BZ#752699
- 在此次更新之前,在没有 fcoe-target 工具的情况下启动 targetadmin 可能会导致以下输出:
OSError: [Errno 2] No such file or directory: '/sys/kernel/config/target
在这个版本中,修改底层代码,以便在不运行 fcoe-target 服务的情况下调用 targetcli 时会显示警告信息。 - BZ#813664
- 在此次更新之前,fcoe-target-utils 使用可执行名称 "targetadmin",它没有反映上游版本中的当前名称。在这个版本中,将名称改为 "targetcli",以匹配上游版本。
- BZ#815981
- 在此次更新之前,配置状态被保存到 "tcm_start.sh",当 fcoe-target 服务启动时,fcoe-target 初始化脚本会从此文件中恢复状态。为提高可靠性,这个更新使用新方法保存和恢复 fcoe-target 配置;现在将其保存到 "/etc/target/saveconfig.json"。
功能增强
- BZ#750277
- 在此次更新之前,Fibre Channel over Ethernet (FCoE)目标模式的 fcoe-target-utils 软件包仅作为技术预览提供。在这个版本中,Red Hat Enterprise Linux 6 完全支持 fcoe-target-utils 软件包。
5.63. fcoe-utils
错误修复
- BZ#804936
- 当 fcoe 服务运行时,"service fcoe status"命令会返回一个不正确的返回值。在这个版本中,底层代码已被修改,fcoe 现在会在这些情况下返回正确的代码。
5.64. febootstrap
5.65. fence-agents
错误修复
- BZ#872620
- 隔离速度至关重要,因为否则损坏的节点有更多时间破坏数据。在以前的版本中,fence_vmware_soap 隔离代理的操作速度较慢,在具有数百个虚拟机的 VMWare vSphere 平台上可能会损坏数据。这个版本解决了没有有效 UUID 的虚拟机出现问题,该 UUID 可以在失败的 P2V (Physical-to-Virtual)进程过程中创建。现在,隔离过程也更快,如果遇到没有 UUID 的虚拟机,则不会终止它。
程序错误修复
- BZ#769681
- fence_rhevm 隔离代理使用 Red Hat Enterprise Virtualization API 检查虚拟机的电源状态("on"或"off")。除了 "up" 和 "down" 状态外,API 还包括其他状态的数量。在以前的版本中,只有在机器处于"up"状态时,才会返回 "on" 电源状态。即使机器正在运行,也会为所有其他状态返回"off"状态。这允许在机器真正关闭前成功进行隔离。有了这个更新,fence_rhevm 代理会更保守地检测群集节点的电源状态,并且仅在计算机实际关闭的情况下返回"off"状态,处于"down"状态。
- BZ#772597
- 在以前的版本中,fence_soap_vmware 隔离代理无法与集群中的一百台机器一起工作。因此,使用 fence_soap_vmware 隔离代理隔离在 VMWare 中运行的集群节点会失败,并显示 "KeyError: 'config.uuid'" 错误消息。在这个版本中,底层代码已被修复,以便在此类集群中支持隔离。
- BZ#740484
- 在以前的版本中,fence_ipmilan 代理无法处理包含空格字符的 passwd_script 参数值。因此,无法使用需要额外参数的密码脚本。在这个版本中,确保 fence_ipmilan 接受并正确解析 passwd_script 参数的值。
- BZ#771211
- 在以前的版本中,fence_vmware_soap 隔离代理不会公开正确的隔离虚拟机路径。有了这个更新,fence_vmware_soap 已被修复,以支持此虚拟机识别。
- BZ#714841
- 在以前的版本中,某些隔离代理不会生成正确的元数据输出。因此,无法使用元数据自动生成手动页面和用户界面。在这个版本中,所有隔离代理都会按预期生成元数据。
- BZ#771936
- 自动工具可以找到可能的缓冲区溢出和空解引用缺陷。在这个版本中,这个问题已被解决。
- BZ#785091
- 当预期但未提供密码时,使用身份文件进行 SSH 的隔离代理会意外终止。这个程序错误已被解决,在上述场景中返回正确的错误消息。
- BZ#787706
- fence_ipmilan 隔离代理没有遵守 power_wait 选项,且不会在向设备发送 power-off 信号后等待。因此,设备可能会终止其关闭序列。这个程序错误已被解决,fence_ipmilan 现在会在按预期关闭机器前等待。
- BZ#741339
- fence_scsi 代理创建 fence_scsi.dev 文件,该文件包含节点在 unfence 操作过程中注册的设备列表。每个未隔离操作都未链接此文件。因此,如果在 cluster.conf 文件中使用了多个隔离设备条目,则 fence_scsi.dev 只包括节点在最近未fence 操作过程中注册的设备。现在,如果 fence_scsi.dev 中不存在当前正在注册的设备,而不是未链接调用,则会将其添加到该文件中。
- BZ#804169
- 如果"delay"选项设定为 5 秒以上,而隔离设备通过 telnet_ssl 工具连接,则连接超时,且隔离设备失败。现在,在打开连接前会应用 "delay" 选项,从而解决了这个问题。
- BZ#806883
- 在以前的版本中,隔离代理返回的 XML 元数据会错误地将所有属性列为"unique"。在这个版本中解决了这个问题,属性只有在此信息有效时才会被标记为唯一。
- BZ#806912
- 在这个版本中,在 fence_ipmilan 代理的错误消息中解决了一个拼写错误。
- BZ#806897
- 在此次更新之前,在使用 "-M cycle" 选项时,IPMI (智能平台管理接口)的隔离代理可能会返回一个无效的返回代码。这个无效的返回码可能会导致隔离操作无效,从而导致集群变得无响应。这个程序错误已被解决,在上述场景中仅返回预定义的返回代码。
- BZ#804805
- 在以前的版本中,fence_brocade 隔离代理无法区分与标准"选项"选项的"操作"选项。因此,"action"选项会被忽略,节点总是被隔离。这个程序错误已被解决,现在两个选项会被正确识别并执行操作。
功能增强
- BZ#742003
- 这个版本添加了使用安全 shell 访问 Fujitsu RSB 隔离设备的功能。
5.66. fence-virt
程序错误修复
- BZ#753974
- 在此次更新之前,libvirt-qpid 插件无法正确处理异常。因此,如果与指定的 qpid 守护进程的连接失败,则 fence_virtd 守护进程可能会意外终止。这个版本修改了异常处理。现在,隔离操作可以正常工作。
- BZ#758392
- 在此次更新之前,当无法读取密钥文件时,散列实用程序 sha_verify 无法正确处理错误。因此,如果 fence_virtd 无法在启动时读取指定的密钥文件,则 fence_virtd 守护进程可能会在收到隔离请求时意外终止。如果无法读取密钥文件,则此更新会修改错误处理。现在,fence_virtd 不再在这些条件下终止。
- BZ#761215
- 在此次更新之前,fence_virt.conf (5)手册页中的 serial 模式的 XML 示例包含一个不正确的右标签。在这个版本中修正了这个标签。
- BZ#806949
- 在此次更新之前,libvirt-qpid 插件直接链接到 qpid 库,而不是仅链接 qmfv2 库。因此,qpid 库的较新版本无法用于 libvirt-qpid 插件。此更新不再直接链接到 qpid 库。现在,较新的 qpid 库可以与 libvirt-qpid 一起使用。
- BZ#809101
- 在此次更新之前,fence_virtd.conf 手册页和 fence_virtd.conf 生成器错误地声明,fence_virtd 侦听所有网络接口。这两者都已被修改为默认的状态,fence_virtd 侦听默认网络接口。
5.67. file
5.67.1. RHBA-2012:1339 - 文件程序漏洞修复更新
程序错误修复
- BZ#795425
- file 实用程序不包含检测 QED 镜像的"magic"模式,因此无法检测此类镜像。添加了用于检测 QED 镜像的新"magic"模式,文件实用程序现在会如预期检测到这些镜像。
- BZ#795761
- file 实用程序不包含检测 cookie 镜像的"magic"模式,因此无法检测此类镜像。添加了用于检测 cookie 镜像的新"magic"模式,文件实用程序现在会如预期检测到这些镜像。
- BZ#797784
- 在以前的版本中,文件工具不会尝试从 ~/.magic.mgc 文件中加载"magic"模式,这会导致存储在此文件中的"magic"模式不可用。在这个版本中,修改 file 工具,因此它现在会尝试载入 ~/.magic.mgc 文件。如果存在该文件,且该文件中定义的"magic"模式可以正常工作,则会加载该文件。
- BZ#801711
- 在以前的版本中,文件工具使用 "-z" 选项解压缩文件时使用读取超时。因此,实用程序无法检测 bzip2 工具压缩的文件。底层源代码已被修改,在解压缩压缩文件时,文件不再使用读取超时。现在,在使用 "-z" 选项时,压缩文件会如预期检测到。
- BZ#859834
- 在以前的版本中,文件实用程序包含多个"magic"模式,用于检测"dump"备份工具的输出。在 big-endian 架构中,使用了不太详细的"magic"模式,文件工具的输出不一致。现在,删除了不太详细的"magic"模式,现在使用一个更详细、更详细的"magic"模式来检测"dump"输出。
5.67.2. RHBA-2012:0391 - 文件程序漏洞修复更新
程序错误修复
- BZ#688136
- 在以前的版本中,文件实用程序包含只根据一个字节错误地检测到文件的"magic"模式。因此,以该特定字节开始的 Unicode 文本文件可能会错误地识别为 DOS 可执行文件。在这个版本中,删除了有问题的模式。不再接受匹配少于 16 位的特征,实用程序不再将 Unicode 文件检测为 DOS 可执行文件。
- BZ#709846
- 在以前的版本中,Dell BIOS 标头检测的"magic"模式已过时。因此,文件工具不会检测较新的 BIOS 格式。"magic"模式已更新,文件实用程序现在可以正确检测 Dell BIOS 的新格式。
- BZ#719583
- 在以前的版本中,用户只能将新的"magic"文件添加到主目录中。因此,用户无法为系统范围的某些特殊文件格式配置"magic"模式。有了这个更新,向后移植补丁提供了一种从 /etc/magic 文件中读取"魔法"模式的方法。
- BZ#733229
- 在以前的版本中,Python 的"魔法"模式不足。因此,文件工具无法根据 Python 功能定义检测 Python 脚本。在这个版本中,对 Python 的检测有所改进,Python 脚本可以被正确识别。
- BZ#747999
- 在以前的版本中,文件工具不包含用于使用 LZMA 算法压缩的文件的"magic"模式。因此,文件工具无法检测到这些文件。在这个版本中,添加了缺少的"magic"模式,LZMA 压缩文件现在如预期检测到。
- BZ#758109
- 在以前的版本中,file 工具不包含"magic"模式,用于检测tanium 微处理器上的交换签名。因此,文件工具无法检测到签名。这个版本添加了缺少的"magic"模式,并如预期在tanium 微处理器上检测到交换签名。
- BZ#760083
- 在以前的版本中,文件工具没有从 RPM 文件中解析 RPM 软件包的名称。因此,实用程序没有打印 RPM 软件包的名称。这个更新为 RPM 软件包名称解析添加了一个"magic"模式,该名称现在会如预期打印。
5.68. firefox
安全修复
- CVE-2013-0775, CVE-2013-0780,CVE-2013-0782,CVE-2013-0783
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-0776
- 它发现,在取消代理服务器的身份验证提示后,地址条继续显示请求的站点地址。攻击者可以利用此漏洞通过欺骗用户查看可信站点来对网络进行攻击。
安全修复
- CVE-2012-1948,CVE-2012-1951,CVE-2012-1952,CVE-2012-1953,CVE-2012-1954,CVE-2012-1958,CVE-2012-1962,CVE-2012-1967
- 包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2012-1959
- 恶意网页可能会绕过同一部分安全包装程序(SCSW),并使用 chrome 特权执行任意代码。
- CVE-2012-1966
- Firefox 中上下文菜单功能中的一个缺陷可能会导致恶意网站绕过预期的限制,并允许跨站点脚本攻击。
- CVE-2012-1950
- 在拖放地址条中时,可以显示与地址栏中不同的页面,从而方便恶意站点或用户执行网络攻击。
- CVE-2012-1955
- 在名为 history.forward 和 history.back 的方式中存在一个缺陷,攻击者可以把一个恶意的 URL 纳入一个恶意 URL,用户可能会欺骗用户查看可信网站。
- CVE-2012-1957
- Firefox 用来解析源(如 RSS)的解析器实用程序类中的一个缺陷,攻击者可以利用运行 Firefox 的用户的特权执行任意 JavaScript。此问题可能会影响其他浏览器组件或假设类返回清理输入的附加组件。
- CVE-2012-1961
- Firefox 处理 X-Frame-Options 标头的方式存在缺陷,允许恶意网站执行 clickjacking 攻击。
- CVE-2012-1963
- Firefox 生成内容安全策略(CSP)报告的方式中的一个缺陷,可以允许恶意网页窃取一个受害的 OAuth 2.0 访问令牌和 OpenID 凭证。
- CVE-2012-1964
- Firefox 处理证书警告的方式中存在一个缺陷,允许中间人攻击者创建精心设计的警告,从而可能会使用户接受任意证书被信任。
- CVE-2012-1965
- Firefox 处理源的方式存在缺陷:javascript URL 可以允许绕过输出过滤,这可能会导致跨站点脚本攻击。
安全修复
- CVE-2012-1970,CVE-2012-1972,CVE-2012-1973,CVE-2012-1974,CVE-2012-1975,CVE-2012-1976,CVE-2012-3956,CVE-2012-3957,CVE-2012-3958,CVE-2012-3959, CVE-2012-1976 , CVE-2012-3956 , CVE-2012-1973 , CVE-2012-1974 , CVE-CVE-2012-3960,CVE-2012-3961,CVE-2012-3962,CVE-2012-3963,CVE-2012-3964
- 包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2012-3969,CVE-2012-3970
- 包含恶意可扩展 Vector Graphics (SVG)镜像文件的网页可能会导致 Firefox 崩溃,或者可能具有运行 Firefox 的用户特权执行任意代码。
- CVE-2012-3967,CVE-2012-3968
- Firefox 使用 WebGL 呈现某些镜像的方式中发现了两个漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者在某些情况下可能会执行具有运行 Firefox 的用户特权的任意代码。
- CVE-2012-3966
- 在以 Icon Format (ICO)文件中对 Firefox 解码嵌入式位映射镜像的方式中发现了一个安全漏洞。包含恶意 ICO 文件的网页可能会导致 Firefox 在某些情况下崩溃,或者在某些情况下,可以使用运行 Firefox 的用户的权限执行任意代码。
- CVE-2012-3980
- 在 Firefox Web 控制台处理"eval"命令的方式中发现了一个安全漏洞。在查看包含恶意内容的网页时,在 Web 控制台中运行"评估"可能会导致 Firefox 使用运行 Firefox 的用户的权限执行任意代码。
- CVE-2012-3972
- 在 Firefox 使用 XSLT 的格式编号功能(Extensable Stylesheet Language Transformations)的方式中发现了一个越界内存读取缺陷。包含恶意内容的网页可能会导致信息泄漏,或导致 Firefox 崩溃。
- CVE-2012-3976
- 找到,之前访问的站点的 SSL 证书信息可在地址栏中显示,而主窗口显示新页面。这可能会导致恶意攻击,因为攻击者可能会利用此漏洞来欺骗用户认为他们正在查看可信站点。
- CVE-2012-3978
- 在 Firefox 中的 location 对象实现中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来允许加载受限的内容。
安全修复
- CVE-2012-4194,CVE-2012-4195,CVE-2012-4196
- Firefox 中的位置对象实现中发现了多个漏洞。恶意内容可用于执行跨站点脚本攻击、绕过同一原始策略,或者导致 Firefox 执行任意代码。
安全修复
- CVE-2013-0744,CVE-2013-0746,CVE-2013-0750,CVE-2013-0753,CVE-2013-0754,CVE-2013-0762,CVE-2013-0766,CVE-2013-0767,CVE-2013-0769
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-0758
- 在实现 Chrome Object Wrappers 的方式中发现了一个安全漏洞。恶意内容可用于导致 Firefox 通过 Firefox 中安装的插件执行任意代码。
- CVE-2013-0759
- Firefox 在地址栏中显示 URL 值的方式中的缺陷可能会允许恶意站点或用户执行恶意攻击。
- CVE-2013-0748
- 在 Firefox 中实施特定 JavaScript 功能的方式中发现了一个信息披露漏洞。攻击者可以利用此漏洞绕过地址空间布局随机化(ASLR)和其他安全限制。
安全修复
- CVE-2012-3982,CVE-2012-3988,CVE-2012-3990,CVE-2012-3995,CVE-2012-4179,CVE-2012-4180,CVE-2012-4181,CVE-2012-4182,CVE-2012-4183,CVE-2012-4185,CVE-2012-4186,CVE-2012-4187, CVE-2012-4182,CVE-2012-4182,CVE-
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2012-3986,CVE-2012-3991
- Firefox 中的两个漏洞可以允许恶意网站绕过预期的限制,从而可能导致信息泄露或 Firefox 执行任意代码。请注意,信息披露问题可能会与其他漏洞结合使用,以实现任意代码执行。
- CVE-2012-1956,CVE-2012-3992,CVE-2012-3994
- Firefox 中的位置对象实现中发现了多个漏洞。恶意内容可用于执行跨站点脚本攻击、脚本注入或欺骗攻击。
- CVE-2012-3993,CVE-2012-4184
- 在 Chrome Object Wrappers 的实施方式中发现了两个漏洞。恶意内容可用于执行跨站点脚本攻击,或导致 Firefox 执行任意代码。
错误修复
- BZ#809571, BZ#816234
- 在某些环境中,将个人 Firefox 配置文件(~/.mozilla/)存储在 NFS 共享上,例如您的主目录位于 NFS 共享上时,导致 Firefox 正常运行,例如,导航按钮无法正常工作,而且书签未保存。在这个版本中,添加了一个新的配置选项 storage.nfs_filesystem,可用于解决这个问题。如果您遇到这个问题:
- 启动 Firefox。
- 在 URL 栏中键入 "about:config" (不带引号),然后按 Enter 键。
- 如果提示"这可能会使您的保证都失效!",请单击"我将小心,我承诺!"按钮。
- 在 Preference Name 列表中,右键单击。在打开的菜单中,选择 New -> 布尔值。
- 输入"storage.nfs_filesystem" (不带引号)作为首选项名称,然后单击确定按钮。
- 为布尔值选择 "true",然后按 OK 按钮。
安全修复
- CVE-2012-4214,CVE-2012-4215,CVE-2012-4216,CVE-2012-5829,CVE-2012-5830,CVE-2012-5833,CVE-2012-5835,CVE-2012-5839, CVE-2012-5840 ,CVE-2012-5840,CVE-2012-5842
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2012-4202
- Firefox 处理 GIF (图形交换格式)镜像的方式中发现了一个缓冲区溢出缺陷。包含恶意 GIF 镜像的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2012-4210
- 在 Firefox 中,Style Inspector 工具处理某些 Cascading Style Sheets (CSS)的方法中发现了一个安全漏洞。在恶意 CSS 上运行工具(Tools -> Web Developer -> Inspect)可能会导致使用 chrome 权限执行 HTML 和 CSS 内容。
- CVE-2012-4207
- Firefox 解码 HZ-GB-2312 字符编码的方式中发现了一个安全漏洞。包含恶意内容的网页可能会导致 Firefox 运行具有不同网站的 JavaScript 代码。
- CVE-2012-4209
- 在 Firefox 中的 location 对象实现中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来允许通过插件加载限制的内容。
- CVE-2012-5841
- 在实施跨原始打包程序的方式中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来执行跨站点脚本攻击。
- CVE-2012-4201
- Firefox 中的 evalInSandbox 实施中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来执行跨站点脚本攻击。
5.69. firstboot
5.69.1. RHEA-2012:0928 - firstboot 增强更新
功能增强
5.70. flash-plugin
安全修复
- CVE-2012-1535
- 在这个版本中,Adobe Flash Player 中存在一个漏洞。此漏洞在 APSB12-18 ( APSB12-18 )中详细介绍。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2012-5274,CVE-2012-5275,CVE-2012-5276,CVE-2012-5277,CVE-2012-5278,CVE-2012-5279,CVE-2012-5280
- 在这个版本中,Adobe Flash Player 中修复了几个漏洞。bebe Security bulletin APSB12-24 包括了这些漏洞。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2013-0633, CVE-2013-0634
- 在这个版本中,Adobe Flash Player 解决了两个漏洞。这些漏洞在 APSB13-04 中的 APSB13-04 中详细介绍。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2012-5248,CVE-2012-5249,CVE-2012-5250,CVE-2012-5251,CVE-2012-5252,CVE-2012-5253,CVE-2012-5254,CVE-2012-5255,CVE-2012-5256,CVE-2012-5257,CVE-2012-5258,CVE-2012-5 259, CVE-2012-5 260, CVE-2012-526 1, CVE-2012-526 2, CVE-2012-5 263, CVE-2012-52 64, CVE-2012-5 265, CVE-2012-5 266, CVE-2012-5 267, CVE-2012-5 268, CVE-2012 -5269, CVE-2012 -5270, CVE-2012 -5271, CVE-2012-5272
- 在这个版本中,Adobe Flash Player 中修复了几个漏洞。这些漏洞在 APSB12-22 中的 APSB12-22 中详细介绍。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2012-5676,CVE-2012-5677,CVE-2012-5678
- 在这个版本中,Adobe Flash Player 解决了三个漏洞。这些漏洞在 APSB12-27 的 APSB12-27 中详细介绍。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2013-0630
- 在这个版本中,Adobe Flash Player 中存在一个漏洞。此漏洞在 APSB13-01 中的 APSB13-01 中详细介绍。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
安全修复
- CVE-2013-0638,CVE-2013-0639,CVE-2013-0642,CVE-2013-0644,CVE-2013-0645,CVE-2013-0647,CVE-2013-0649,CVE-2013-1365,CVE-2013-1366,CVE-2013-1367,CVE-2013-1368,CVE-2013-1 369, CVE-2013- 1370, CVE-2013-137 2, CVE-2013-1 373, CVE-2013-1374
- 在这个版本中,Adobe Flash Player 中修复了几个漏洞。bebe Security bulletin APSB13-05 中详细介绍了这些漏洞。特制的 SWF 内容可能会导致 flash-plugin 崩溃,或者在一个包含恶意 SWF 内容的页面时执行任意代码。
- CVE-2013-0637
- 如果一个受害于访问特制的网页,则利用闪存插件中的一个缺陷可让攻击者获取敏感信息。
5.71. fontforge
错误修复
- BZ#676607
- 在以前的版本中,"configure.in"文件不包括如何处理 64 位 PowerPC 架构的信息。尝试在同一 64 位 PowerPC 机器上安装 fontforge-devel multilib PowerPC 和 64PowerPC RPM 软件包,从而导致这些软件包冲突。在这个版本中,修改 "configure.in" 文件,以便允许在同一机器上安装 fontforge-devel 多lib RPM 软件包。在上述场景中不再会发生冲突。
5.72. fprintd
错误修复
- BZ#665837
- 在以前的版本中,如果机器上没有 USB 支持(例如,禁用对客户机的 USB 支持的虚拟机),fprintd 守护进程会收到 SIGABRT 信号,因此通常终止。此类崩溃不会造成任何系统失败,但自动错误报告工具(ABRT)每次都会警报。在这个版本中,底层代码已被修改,fprintd 守护进程现在可以在没有 USB 支持的机器上安全地退出。
5.73. freeradius
安全修复
- CVE-2012-3547
- 在 radiusd 处理 X.509 客户端证书中的过期日期字段的方式中发现了一个缓冲区溢出缺陷。如果远程攻击者被配置为使用证书或 TLS 隧道提供的身份验证方法(如 EAP-TLS、EAP-TTLS 和 PEAP),则可能会使用此缺陷崩溃 radiusd。
程序错误修复
- BZ#787116
- 请求 PPP hint 选项的 radtest 命令行参数没有正确解析。因此,radclient 不会将 PPP 提示添加到请求数据包中,测试会失败。这个版本解决了这个问题,radtest 现在可以正常工作。
- BZ#705723
- 日志轮转后,radiusd 守护进程在日志轮转和日志消息丢失后无法重新加载 radiusd 守护进程。在这个版本中,向 freeradius logrotate 脚本添加了一个命令,以重新加载 radiusd 守护进程和 radiusd 守护进程重新初始化,并在日志轮转后重新打开其日志文件。
- BZ#712803
- 带有 eap-md5 选项的 radtest 参数会失败,因为它在调用 radeapclient 实用程序时传递 IP 系列参数,并且 radeapclient 实用程序无法识别 IP 系列。radeapclient 现在识别 IP 系列参数,radtest 现在可以按预期与 eap-md5 一起工作。
- BZ#700870
- 在以前的版本中,在没有"-with-udpfromto"选项的情况下编译 freeradius。因此,使用多homed 服务器并明确指定 IP 地址,Rradial 从错误的 IP 地址发送回复。在这个版本中,使用 --with-udpfromto 配置选项构建 freeradius,并且 RADIUS 回复始终从发送请求的 IP 中获取。
- BZ#753764
- unix 模块不检查本地密码的密码过期字段,调试信息错误。因此,尽管密码过期密码,在本地密码文件中具有过期密码的用户会被验证。在这个版本中,检查密码过期过程已被修改。具有过期本地密码的用户将被拒绝访问,并将正确的调试信息写入日志文件中。
- BZ#690756
- 由于 PostgreSQL admin 模式文件中的无效语法,因此无法创建 FreeRADIUS PostgreSQL 表。在这个版本中,语法已被调整,表会如预期创建。
- BZ#782905
- 当 FreeRADIUS 收到请求时,它有时会出现以下信息失败:
WARNING: Internal sanity check failed in event handler for request 6
这个程序错误已通过升级到上游版本 2.1.12 来解决。 - BZ#810605
- FreeRADIUS 有一个线程池,它将根据负载动态增长。如果使用 rlm_perl () 函数生成多个线程,则 freeradius 有时因为对 rlm_perl_clone () 函数的并行调用而意外终止,并带有分段错误。在这个版本中,增加了线程的 mutex,这个问题不再发生。
5.74. freetype
安全修复
- CVE-2012-5669
- 在 FreeType 字体渲染引擎处理某些 Glyph Bitmap 分发格式(BDF)字体的方式中发现了一个安全漏洞。如果用户载入了一个专门制作的字体文件,其具有与 FreeType 链接的应用程序,可能会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
5.75. ftp
5.75.1. RHBA-2012:1192 - ftp 程序错误修复更新
错误修复
- BZ#783868
- 在此次更新之前,当堆栈大小设置为无限时,使用 ftp 命令"put"会导致 sysconf (_SC_ARG_MAX)功能返回 -1,这会导致 malloc () 函数被调用为 0 参数,并导致显示 "Out of memory" 消息。在这个版本中,底层源代码已被改进,以分配合理的最小内存。因此,如果堆栈大小之前设置为无限,则"超出内存"消息将不再出现。
程序错误修复
功能增强
- BZ#871060
- 在以前的版本中,FTP 客户端中的命令行宽度限制为 200 个字符。在这个版本中,FTP 命令行的最大可能长度已扩展到 4296 字符。
5.75.3. RHBA-2012:1444 - ftp 程序错误修复更新
错误修复
- BZ#869858
- 在此次更新之前,如果定义了超过 200 个字符的宏,则 ftp 客户端可能会遇到缓冲区溢出并中止,然后在连接后使用。在这个版本中,修改包含宏名称内存的底层代码和缓冲已扩展。现在,在执行带有长名称的宏时,ftp 会匹配命令行限制的长度,并且 ftp 客户端不会在有长名称的宏时中止。
5.75.4. RHBA-2012:1354 - ftp 程序错误修复更新
程序错误修复
- BZ#665337
- 在以前的版本中,FTP 客户端中的命令行宽度限制为 200 个字符。在这个版本中,FTP 命令行的最大可能长度被扩展为 4296 字符。
- BZ#786004
- 在此次更新之前,"append"、"put"和"send"命令会导致系统内存泄漏。包含 ftp 命令的内存没有被适当释放。在这个版本中,底层源代码已被改进,可以正确地释放系统资源,不再存在内存泄漏。
- BZ#849940
- 在以前的版本中,无法调用 ftp 客户端来直接在活跃模式下运行。此功能已添加到源代码中,并记录在手册页中。客户端现在可以使用额外的"-A"命令行参数执行,并将在活动模式下运行。
- BZ#852636
- 在以前的版本中,当 ftp-data 端口(20)不可用时,ftp 客户端会挂起(例如,被阻断)。然后,必须手动终止客户端。在源代码中添加了额外的逻辑。在这个版本中,ftp 将内部超时设置为 30 秒。如果此时没有来自服务器的回答,则 ftp 现在将正常超时,且不会挂起。
5.76. gawk
5.76.1. RHBA-2012:1146 - gawk 程序错误修复更新
错误修复
- BZ#829558
- 在此次更新之前,"re_string_skip_chars"函数错误地使用字符数而不是原始长度来估算字符串长度。因此,任何没有使用 UTF-8 格式的多字节编码文本都无法正确处理。这个版本修改了底层代码,以便使用正确的字符串长度。正确处理多字节编码。
5.76.2. RHBA-2012:0385 - gawk 程序错误修复更新
程序错误修复
- BZ#648906
- 在此次更新之前,gawk 工具在某些情况下可以将一些运行时变量解释为内部零长度变量原型。当 gawk 试图释放此类运行时变量时,它会实际释放内部设计模型,因为内存节省而分配的一次。因此,gawk 有时会失败,并显示错误消息 "awk: double free or corruption"。在这个版本中,这个问题已被解决,不再发生错误。
- BZ#740673
- 在此次更新之前,gawk 工具不会从命令行参数复制变量。因此,无法按预期访问变量。在这个版本中,修改底层代码,以便 gawk 制作这些变量的副本。
- BZ#743242
- 在此次更新之前,Yacc 解释器遇到处理更大堆栈的问题。因此,在解释 AWK 代码时,Yacc 解释器可能会失败,并显示堆栈溢出错误。此更新扩大堆栈和 Yacc 现在可以处理这些 AWK 程序。
5.77. gcc
程序错误修复
- BZ#751767
- gfortran 编译器可能无法编译带有内部编译器错误的代码。这是因为 trans-types.c 库的 gfc_type_for_size () 函数没有返回正确的数据类型,如果需求位精度小于对应类型的内置位精度大小。在这个版本中,如果没有找到合适的缩小类型,且正确编译代码,则函数会返回相应的更广泛的类型。
- BZ#756138
- 当使用 -O2 或 -O3 优化选项编译时,G++ 编译器会意外终止分段错误,并返回内部编译器错误。这是因为编译器尝试在 remove_path ()函数中尝试取消同一循环两次。在这个版本中,循环只会取消一次,在这种情况下不再发生分段错误。
- BZ#756651
- 在以前的版本中,如果在分割双集模式时合并指令,GCC 可能会生成不正确的代码。这是因为在组合指令时处理分割模式的方式出现错误。在这个版本中,合并的代码处理指令已被修复,问题不再发生。
- BZ#767604
- 在以前的版本中,GCC 可能会意外终止内部编译器错误,这是由"-mtune=z10"设置启用的主动循环 peeling 触发的。在这个版本中,注册会正确从指令模式决定,在此场景中编译可以成功。
- BZ#799491
- 在 Firefox 中进入 Web 控制台会导致 Firefox 意外终止。这是因为编译器错误地克隆其中一个在这样的情形中调用的功能。在这个版本中,这个功能不再被克隆,问题不再发生。
功能增强
- BZ#739443
- 在以前的版本中,GCC 编译器不包含带有转换半浮点类型的函数的标头。在这个版本中,添加了标头并修复 GCC,以便它可以与 AMD FX 处理器微架构上的 "-march=native" 选项正常工作。
5.78. gdb
5.78.1. RHBA-2012:0930 - gdb 程序错误修复更新
程序错误修复
- BZ#739685
- 要载入核心文件,GDB 需要用于生成核心文件的二进制文件。GDB 使用内置检测来自动加载匹配的二进制文件。但是,您可以手动指定任意二进制文件并覆盖检测。在以前的版本中,载入与调用核心文件不匹配的其他二进制文件可能会导致 GDB 意外终止。在这个版本中,底层代码已被修改,GDB 不会在这些情况下崩溃。
- BZ#750341
- 在以前的版本中,GDB 可能会因为 cp_scan_for_anonymous_namespaces () 函数错误而加载使用早期 GCC 编译器编译的 C++ 程序的符号时,会意外终止。在这个版本中,提供了一个修复这个程序错误的上游补丁,GDB 现在会在没有崩溃的情况下加载任何已知的可执行文件。
- BZ#781571
- 如果 GDB 无法找到关联的 debuginfo rpm 符号文件,GDB 会显示以下消息建议使用 yum 工具安装符号文件:缺少主可执行文件的单独 debuginfo Try: yum --disablerepo='*' --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/47/830504b69d8312361b1ed465ba86c9e815b800但是,推荐的 "--enablerepo='*-debuginfo'" 选项无法与 RHN (红帽网络)调试软件仓库一起工作。在这个版本中,将消息中的选项正确为 "--enablerepo='*-debug*'",推荐的命令可以正常工作。
- BZ#806920
- 在 PowerPC 平台上,IBM XL Fortran 编译器创建的 DWARF 信息不包含 DW_TAG_subrange_type 的 DW_AT_type 属性;但是,GCC 生成的 DWARF 信息中的 DW_TAG_subrange_type 始终包含 DW_AT_type 属性。在以前的版本中,GDB 可能会错误地解释 IBM XL Fortran 编译器中的数组,因为它缺少 DW_AT_type 属性,即使这遵循 DWARF 标准。现在,如果任何 DW_TAG_subrange_type 都会正确处理来自 IBM XL Fortran 和 GCC 编译器的进程调试信息,则这个 GDB 可以正确地提供 stub 索引类型。
5.79. gdm
5.79.1. RHBA-2012:1446 - gdm 程序错误修复更新
错误修复
- BZ#860646
- 当 gdm 用于通过 XDMCP (X Display Manager Control Protocol)连接到服务器时,使用 "ssh -X" 命令连接到远程系统会导致 X 服务器的授权错误。因此,远程系统无法显示 xterm 等应用程序。这个更新在上述场景中提供了兼容 MIT-MAGIC-COOKIE-1 密钥,从而解决了这个问题。
5.80. gd
错误修复
- BZ#790400
- 在更新之前,当更改行的 thickness 时,gd 图形库会错误处理反转的 Y 协调。因此,更改了 thickness 的行被错误地利用。在这个版本中,修改底层代码来正确地利用更改的厚性行。
5.81. gegl
安全修复
- CVE-2012-4433
- 在处理 .ppm (可移植 Pixel Map)镜像文件的方式中发现了一个整数溢出漏洞,导致基于堆的缓冲区溢出。攻击者可以创建一个专门制作的 .ppm 文件,该文件在 gegl 中打开时,会导致 gegl 崩溃或可能执行任意代码。
5.82. geronimo-specs
错误修复
- BZ#818755
- 在此次更新之前,geronimo-specs-compat 软件包描述包含不准确引用。在这个版本中,删除了这些引用,以便描述准确。
5.83. ghostscript
安全修复
- CVE-2012-4405
- Ghostscript 的国际 Color Consortium Format 库(icclib)中发现了一个整数溢出缺陷,导致基于堆的缓冲区溢出。攻击者可以创建一个专门制作的Script 或 PDF 文件,并带有嵌入式镜像,这会导致 Ghostscript 崩溃或可能,执行具有运行 Ghostscript 的用户特权的任意代码。
程序错误修复
- BZ#643105
- 在此次更新之前,gdevcups 驱动程序会生成 CUPS Raster 输出,并错误地处理内存分配。在某些情况下,这可能会导致 ghostscript 程序意外终止。在这个版本中,应用向后移植修复来处理此 ghostscript 版本的内存分配,不再会发生崩溃。
- BZ#695766
- 在此次更新之前,某些包含 CID Type2 字体的输入文件使用不正确的字符空间呈现。在这个版本中,修改代码,以便正确呈现带有 CID Type2 字体的所有输入文件。
- BZ#697488
- 在此次更新之前,当环境情况中的页面转换为 PXL raster 格式时,页面情况情况不正确。在这个版本中,与环境页大小以及 portrait-page 大小匹配,并在找到匹配项时正确设置调整参数。
5.84. gimp
安全修复
- CVE-2012-3481
- GIMP 的 GIF 镜像格式插件中发现了一个整数溢出缺陷,导致基于堆的缓冲区溢出。攻击者可以创建一个专门编写的 GIF 镜像文件,该文件在打开时可能会导致 GIF 插件崩溃或可能,执行具有运行 GIMP 的用户特权的任意代码。
- CVE-2011-2896
- 在 GIMP 的 GIF 镜像格式插件使用的 Lempel-Ziv-Welch (LZW)解压缩算法实现中发现了一个基于堆的缓冲区溢出缺陷。攻击者可以创建一个专门编写的 GIF 镜像文件,该文件在打开时可能会导致 GIF 插件崩溃或可能,执行具有运行 GIMP 的用户特权的任意代码。
- CVE-2012-3403
- 在 GIMP 的 KiSS CEL 文件格式插件中发现了一个基于堆的缓冲区溢出缺陷。攻击者可以创建一个专门编写的 KiSS palette 文件,该文件在打开时可能会导致 CEL 插件崩溃,或者可能执行具有运行 GIMP 的用户特权的任意代码。
5.85. glib2
5.85.1. RHBA-2012:0794 - glib2 程序错误修复更新
错误修复
- BZ#782194
- 在此之前,gtester-report 脚本没有在 glib2-devel 软件包中标记为可执行。因此,gtester-report 没有使用默认权限运行。这个版本更改了 glib2-devel 软件包定义,以便此脚本现在可以执行。
5.86. glibc
5.86.1. RHBA-2012:1158 - glibc 程序漏洞修复更新
错误修复
- BZ#843571
- 在此次更新之前,当此文件包含一个或多个 IPv6 名称服务器时,glibc 会错误地处理 /etc/resolv.conf 文件中的 "options rotate" 选项。因此,DNS 查询可能会意外失败,特别是当一个进程发出多个查询时。在这个版本中修复了从 /etc/resolv.conf 中列出的服务器的内部结构,以及这些结构的排序和轮转,以实现"选项轮转"功能。现在,在上述场景中,glibc 中可以正确地解析 DNS 名称。
安全修复
- CVE-2012-3404, CVE-2012-3405,CVE-2012-3406
- glibc 格式的打印功能中的多个错误允许攻击者绕过 FORTIFY_SOURCE 保护,并使用应用中的格式字符串缺陷执行任意代码,即使这些保护应该限制此类漏洞对应用程序中止的影响。
错误修复
- BZ#837026
- 只有在 /etc/resolv.conf 文件包含 IPv6 名称服务器时,编程错误会导致内部名称服务器被部分初始化。根据近似结构的内容,这可能会导致某些应用程序意外终止,并出现分段错误。编程错误已被修复,它使用 /etc/resolv.conf 文件中列出的 IPv6 名称服务器恢复正确的行为。
5.86.3. RHBA-2013:0212 - glibc 程序漏洞修复更新
错误修复
- BZ#902685
- 逻辑错误导致 glibc 的 DNS 代码错误地处理来自 DNS 服务器的拒绝响应。因此,在服务器返回 REJECT 响应后,/etc/resolv.conf 文件中定义的其他服务器有时会无法搜索。在这个版本中,glibc 会在 /etc/resolv.conf 中列出的服务器中正确循环,即使其中一个服务器返回 REJECT 响应,从而解决了这个问题。
5.86.4. RHBA-2012:1422 - glibc 程序漏洞修复更新
错误修复
- BZ#864046
- 在以前的版本中,glibc nscd 守护进程中的内存管理中的一个错误会导致尝试释放不是由 malloc ()函数提供的指针。因此,nscd 可能会意外终止。只有在处理有大量成员的组时才会发生这个错误。在这个版本中,确保池分配器分配的内存不再传递给 "free"。相反,我们允许池分配器的垃圾收集器回收内存。因此,nscd 不再在有大量成员的组上崩溃。
安全修复
- CVE-2012-3480
- glibc 的函数发现了多个整数溢出漏洞,导致基于堆栈的缓冲区溢出漏洞,用于将字符串转换为数字表示(strtod ()、strtof ()和 strtold ())。如果应用程序在攻击者控制的输入中使用了此类功能,可能会导致应用程序崩溃或可能执行任意代码。
程序错误修复
- BZ#808545
- 在以前的版本中,如果
nscd
守护进程收到 CNAME (Canonical Name)记录作为对 DNS (域名系统)查询的响应,则缓存的 DNS 条目会采用底层A
或AAAA
响应的 TTL (时间到 Live)值。这会导致 nscd 守护进程在重新载入 DNS 条目前等待意外时间。在这个版本中,nscd 使用响应中最短 TTL 作为整个记录的 TTL。现在,在这种情况下,DNS 条目会如预期重新载入。 - BZ#789238
- 在以前的版本中,在重试路径中,主 malloc 的锁定是na 不正确。如果 sbrk 请求失败,这可能会导致死锁。在这个版本中,重试路径中的主 isna 锁定已被修复。这个问题是由 RHSA-2012:0058 更新中提供的程序错误修复公开。
- BZ#688720
- glibc 为法语、西班牙语和德语区域具有不正确的数字分隔符和分组信息。因此,使用 glibc 的区域设置支持打印号的应用程序带有不正确的分隔符,并在使用这些区域设置时分组。在这个版本中,分隔符和分组信息已被修复。
- BZ#781646
- 在一些处理器中,调用
memcpy()
功能时,会使用优化的功能变体。但是,优化的功能变体会向后复制缓冲区。因此,如果源和目标缓冲区重叠,该程序会以意外的方式的行为。虽然此类调用违反了 ANSI/ISO 标准,因此被视为错误,但这个更新会恢复之前的 memcpy ()行为,这些程序现在使用函数的非优化变体来允许应用程序的行为如以前一样。 - BZ#782585
- 在以前的版本中,动态加载程序为初始化生成了一个不正确的排序,它没有遵循 ELF 规格。这可能会导致 DSO (Dynamic Shared Object) constructors 和 destructors 的顺序不正确。在这个版本中,依赖项解析已被修复。
- BZ#739971
- RHBA-2011:1179 glibc 更新引入了一个回归问题,从而导致 glibc 错误地解析具有超过 126 成员的组。因此,应用程序(如 id )无法列出特定用户所属的所有组。在这个版本中,组解析已被修复。
- BZ#740506
- 由于其
malloc()
例程中的一个竞争条件,glibc 会错误地分配太多内存。这可能导致多线程应用程序为线程分配比预期更多的内存。在这个版本中,竞争条件已被修复,malloc 的行为与 MALLOC_ARENA_TEST 和 MALLOC_ARENA_MAX 环境变量的文档一致。 - BZ#795498
- 在以前的版本中,glibc 在不正确的位置查找错误条件,因此无法处理
gaih_getanswer()
功能中的第二个响应缓冲。因此,getaddrinfo()
功能无法正确返回所有地址。在这个版本中修复了gaih_getanswer()
中的错误测试条件,以便 glibc 现在可以正确地解析第二个响应缓冲。getaddrinfo()
功能现在可以正确地返回所有地址。 - BZ#750531
- 在以前的版本中,将
htons()
功能与-O2
和-Wconversion
参数搭配使用的代码会导致 bogus 警告类似如下:warning: conversion to \u2018short unsigned int\u2019 from \u2018int\u2019 may alter its value
在这个版本中修复了多个宏中的类型,在这些情况下不再返回警告。 - BZ#696472
- 在以前的版本中,glibc 无法正确地检测 Intel Core i3、i5 和 i7 处理器。因此,glibc 有时使用了不正确的功能实现,从而导致性能不佳。在这个版本中修复了检测过程,程序库为处理器提供合适的功能实现。
- BZ#771342
- 在以前的版本中,glibc 在
fork()
调用后不会初始化强大的 futex 列表。因此,在子进程退出后,共享强大的 mutex 锁定不会被清理。在这个版本中,确保在 fork 系统调用后正确初始化 robust futex 列表。 - BZ#754628
- 当进程损坏其堆时,
malloc()
函数可以在创建错误消息字符串时输入死锁。因此,进程可能会变得无响应。在这个版本中,进程使用mmap()
功能为错误消息分配内存,而不是为malloc()
功能分配。因此,malloc ()死锁不再发生,具有损坏堆的进程现在可以正常中止。 - BZ#788959, BZ#797094, BZ#809602
- 在以前的版本中,glibc 无条件使用
alloca()
在各种例程中分配缓冲区。如果此类分配应用了大型内部内存请求,则可能会出现堆栈溢出,应用程序可能会意外终止。这个版本应用了几个上游补丁,以便 glibc 现在对这些分配使用malloc()
,且问题不再发生。 - BZ#789209
- 在以前的版本中,glibc 为 Ukrainian currency 使用不正确的符号。在这个版本中,符号已被修复。
- BZ#752123
- 在以前的版本中,无法在 64 位系统中安装 32 位 glibc-utils 软件包,因此 64 位 Intel 构架中缺少软件包。在这个版本中,修改 spec 文件,以便移动相应的文件并避免冲突。现在,这个软件包会如预期安装在这些 64 位系统中。
- BZ#657572, BZ#785984
- 在以前的版本中,glibc 将未必要空格添加到 Finish 和 Chinese 区域中的缩写月份名称。在这个版本中,底层代码已被修改,且在区域设置的缩写月份名称中不再添加空格。
- BZ#767746
- 在以前的版本中,glibc 从
pthread_create()
功能返回不正确的错误代码。因此,有些程序会错误地为临时失败发出错误,如临时内存不足的情况。在这个版本中,当内存分配在pthread_create()
功能失败时,glibc 会返回正确的错误代码。 - BZ#752122
- 在以前的版本中,glibc 的动态加载程序会错误地检测到高级向量扩展(AVX)功能,并可能会意外终止分段错误。这个更新修复了 AVX 检测,问题不再发生。
- BZ#766513
- 在以前的版本中,glibc 的
getopt
例程中的错误字符串已更改,因为相关的日语翻译没有被调整,系统无法找到消息的日语版本。因此,即使系统区域设置被设置为日语,也会显示错误消息。这个更新修复了错误字符串的日语翻译,问题不再发生。 - BZ#751750
- 在以前的版本中,
IO_flush_all_lockp()
功能中的 glibc 锁定不正确。这会导致在多线程应用程序中调用fork()
功能时出现异常死锁的竞争条件。在这个版本中解决了锁定的问题,并避免竞争条件。 - BZ#784402
- 在以前的版本中,ns
cd
守护进程会缓存所有临时结果,即使它们是负状态。这可能会导致错误的 nscd 结果。在这个版本中,确保不会缓存临时错误的负结果。 - BZ#804630
- 当
resolv.conf
文件只包含设置了 IPv6 和options rotate
的名称服务器时,始终会附加搜索域。但是,在完全限定域名(FQDN)时不需要这样做,如果使用 FQDN,则解析会失败。在这个版本中,底层代码已被修改,且resolv.conf
中定义了多个 IPv6 名称服务器,则 FQDN 会被正确解决。有关此问题的更多信息,请参阅 bug 771204。 - BZ#789189
- 在以前的版本中,当解析
resolv.conf
文件时,glibc 无法正确处理名称服务器条目中空格的解析。因此,正确的 DNS 查找会失败。在这个版本中解决了空间解析问题,问题不再发生。 - BZ#804689
getaddrinfo()
调用可能会返回不正确的值。这是因为 getaddrinfo 的查询比必要复杂,getaddrinfo 无法正确处理查询返回的额外信息。在这个版本中,查询不再返回添加信息,并解决了这个问题。
功能增强
5.87. gnome-desktop
错误修复
- BZ#829891
- 在以前的版本中,当用户点击系统的热键(通常是 Fn+F7)更改显示配置时,系统可能会切换到无效的模式,这将无法显示。有了这个更新,gnome-desktop 现在选择有效的 XRandR 模式,并正确切换 hot-key 可以正常工作。
错误修复
- BZ#639732
- 在以前的版本中,由于对象没有销毁,Nautilus 文件管理器可能会消耗大量内存。因此,持续增长的常驻内存会减慢系统的速度。源代码已被修改,以防止出现内存泄漏,Nautilus 现在消耗合理的内存。
5.88. gnome-keyring
错误修复
- BZ#860644
- 由于线程锁定机制中的一个错误,在读取数据时 gnome-keyring 守护进程可能会变得没有响应。在这个版本中解决了 thread-locking 机制,在上述场景中在 gnome-keyring 中不会再发生死锁。
程序错误修复
5.89. gnome-packagekit
错误修复
- BZ#839197
- 在以前的版本中,用户可以注销系统,或者在 PackageKit 更新工具正在运行并写入 RPM 数据库(rpmdb)时将其关闭。因此,rpmdb 可能会因为意外的终止而造成破坏和不一致,并导致 rpm、yum 和 PackageKit 工具的后续操作出现各种问题。这个版本修改了 PackageKit,当事务写入 rpmdb 处于活跃状态时不允许关闭系统,从而解决了这个问题。
5.90. gnome-power-manager
错误修复
- BZ#676866
- 恢复系统或重新启用显示后,在通知区域中可能会出现一个图标,其中带有错误提示提示"Session active,而不是禁止屏幕闲置。如果您看到此测试,您的显示服务器将被破坏,您应通知您的经销商"。这个错误消息不正确,对系统没有影响,可以安全地忽略。另外,从通知和状态区域链接到外部 URL 是不需要的。为防止这种情况,该图标不再用于调试空闲问题。
5.91. gnome-screensaver
错误修复
- BZ#860643
- 启用 Mandatory 配置集时,当屏幕保存器处于活动状态时,不会禁用 Gnome Screensaver Preferences 窗口中的"Lock 屏幕"。这个程序错误可能会导致用户出现安全风险。在这个版本中,在上述场景中,lock-screen 选项会如预期禁用,从而防止这个错误。
5.92. gnome-settings-daemon
错误修复
- BZ#866528
- 在以前的版本中,当使用系统热键更改显示配置时,有时无法选择有效的 XRandR 配置,且监控器不会处于克隆模式。因此,无法切换。在这个版本中,gnome-settings-daemon 始终选择有效的 XRandR 模式,并按预期设置或取消设置克隆模式,从而修复这个程序错误。
程序错误修复
功能增强
5.93. gnome-system-monitor
程序错误修复
- BZ#682011
- 在此次更新之前,如果 gnome-system-monitor 在 64 位 PowerPC 架构中包含了有关机器模型的信息,则 gnome-system-monitor 无法正确解析 /proc/cpuinfo 文件的内容。因此,应用程序会错误地报告 false "Unknown CPU model" 处理器。在这个版本中,解析代码会在没有识别附加处理器时丢弃这些信息。
- BZ#692956
- 在此次更新之前,gnome-system-monitor 解析器代码预期特定的字符串来标识所有架构的 CPU 速度。因此,在使用不同字符串时,gnome-system-monitor 可能无法正确解析 /proc/cpuinfo 中的处理器速度,例如在 64 位 PowerPC 中。在这个版本中,更改了解析代码,以支持这些架构中使用的不同字符串类型。
5.94. gnome-terminal
错误修复
- BZ#819796
- 在此次更新之前,gnome-terminal 没有完全本地化到 Asamese 中。在这个版本中,Assamese locale 已被更新。
5.95. graphviz
程序错误修复
- BZ#772637
- 在以前的版本中,点工具可以在 32 位和 64 位构架中生成不同的镜像,这会导致在构建过程中使用 graphviz 的软件包冲突。问题是由用于浮动点处理的不同指令造成的。在 32 位 Intel 构架中,代码现在使用 "-ffloat-store" 编译器标志编译,这样可确保无论使用的构架如何生成相同的镜像。
- BZ#821920
- graphviz-tcl 软件包包含 "demo" 目录,其中包含各种语言的示例。这会导致引入隐式依赖项。在这个版本中,所有示例都作为文档安装,这可减少隐式依赖项的数量。
- BZ#849134
- 在 %postun scriptlet 中运行的 "dot -c" 命令会重新创建 graphviz 配置文件,并带有安装插件的当前状态。在以前的版本中,如果命令无法加载配置文件中指定的插件,则在删除 graphviz-gd 软件包时会输出警告信息。这些消息可能会造成混淆,因此已被删除。
5.96. grep
5.96.1. RHBA-2012:0352 - grep 程序漏洞修复更新
错误修复
- BZ#741452
- 在以前的版本中,grep 实用程序无法处理 EPIPE 错误。如果 shell 阻止了 SIGPIPE 信号,grep 会持续打印错误消息。上游补丁已被应用于解决这个问题,因此 grep 会在第一个 EPIPE 错误上退出,并只打印一条错误消息。
5.97. grubby
错误修复
- BZ#696960
- 在以前的版本中,当使用 "--args=[arguments] --update-kernel=ALL" 选项执行 grubby 时,用于更新其引导配置存储在编辑的配置文件中的命令行参数,它只会为文件中的第一个内核更新参数。因此,其他内核的参数不会被更新。在这个版本中,确保在使用上述选项启动 grubby 时,配置文件中的所有内核的参数都会被更新。
5.98. grub
5.98.1. RHBA-2012:0892 - grub 程序漏洞修复更新
错误修复
- BZ#670266
- 由于底层源代码中的错误,在有多个 Pre-boot Execution Environment (PXE)网络接口卡(NIC)的系统上从网络引导时,以前版本的 GRUB 有时无法在统一可扩展固件接口(UEFI)模式下引导。在这个版本中,GRUB 会尝试识别和使用已经通过动态主机配置协议(DHCP)成功获取地址的活动接口,而不是使用系统建议的地址。因此,在带有多个 NIC 的系统上,在 UEFI 模式中从网络引导可以正常工作。
5.99. gstreamer-plugins-base
功能增强
- BZ#755777
- 在这个版本中,增加了对颜色转换的 color-matrix 支持到 ffmpegcolorspace 插件。
5.100. gtk2
5.100.1. RHBA-2012:0809 - gtk2 程序错误修复和安全更新
程序错误修复
- BZ#697437
- 在以前的版本中,如果"Open Files"对话框之前以"Search"模式使用,则"Open Files"对话框无法显示"Size"列。在这个版本中,请确保始终在"Show Size Column"上下文菜单选项中相应地显示"Size"列,从而解决了这个问题。
- BZ#750756
- 在以前的版本中,使用 Ctrl+Insert 组合键从可选择标签复制文本(如消息对话框中显示的内容)无法正常工作。在这个版本中,添加了 Ctrl+Insert 组合键,在激活时将所选文本复制到剪贴板。
- BZ#801620
- 在以前的版本中,某些 GTK 应用程序(如 virt-viewer)无法正确初始化与菜单项关联的密钥绑定。这是因为与菜单项关联的属性的 bug 是由库解析的。在这个版本中解决了这个程序错误,由使用此功能的应用程序的密钥绑定再次访问菜单项。
功能增强
- BZ#689188
- 在以前的版本中,当"文件类型"过滤器包含非常长的字符串时(如某些镜像托管网站观察到某些镜像托管网站),则"打开文件"对话框可能会出现并显示异常宽度。在这个版本中,对话框会将过滤器字符串分成多行文本,以便对话框保持合理的宽度。
5.101. gvfs
5.101.1. RHBA-2012:1124 - gvfs 程序错误修复和安全更新
程序错误修复
- BZ#599055
- 在以前的版本中,忽略挂载的规则太严格。如果用户在 Nautilus 的边栏中单击加密的卷,则会显示一条错误消息,且无法访问该卷。底层源代码现在包含额外的检查,以便加密卷具有正确的挂载(如果可用),并且可以按预期浏览文件系统。
- BZ#669526
- 由于内核中存在一个程序错误,新格式化的 Blu-ray Disk Rewritable (BD-RE)介质包含一个跟踪,其中包含涵盖整个介质的无效数据。以前,这个空跟踪被错误地检测到,从而导致驱动器对某些应用程序不可用,如 Brasero。在这个版本中,添加了一个检测空跟踪的临时解决方案,以便新格式化的 BD-RE 介质被正确识别为空白。
- BZ#682799, BZ#746977, BZ#746978, BZ#749369, BZ#749371, BZ#749372
- gvfs-info, gvfs-open, gvfs-cat, gvfs-ls 和 gvfs-mount 工具的代码,包含硬编码的退出代码。这会导致工具始终在退出时返回零。退出代码已被修改,上面提到的 gvfs 工具现在返回正确的退出代码。
- BZ#746905
- 当使用指定了无效的命令行参数运行 gvfs-set-attribute 时,工具会意外终止并出现 segmentation 错误。底层源代码已被修改,在指定无效的参数时,实用程序现在会输出正确的错误消息。
- BZ#809708
- 由于缺少对象清理调用,gvfsd 守护进程可能会使用过量内存,这会导致系统变得无响应。在这个版本中,添加了正确的对象清理调用,这样可确保内存消耗是恒定的,且系统在这种情况下不会挂起。
5.102. hivex
5.102.1. RHBA-2012:0776 - hivex 程序错误修复和安全更新
5.103. hsqldb
5.103.1. RHBA-2012:0993 - hsqldb 增强更新
功能增强
- BZ#816735
- HSQLDB 已更新,为 JDBC 4.1 添加存根
5.104. hwdata
5.104.1. RHEA-2012:0879 - hwdata 增强更新
功能增强
5.105. icedtea-web
安全修复
- CVE-2012-3422
- IcedTea-Web 插件中发现了一个未初始化的指针使用缺陷。访问恶意网页可能会导致 Web 浏览器使用 IcedTea-Web 插件崩溃、披露其部分内存或执行任意代码。
- CVE-2012-3423
- 发现 IcedTea-Web 插件错误地假定从浏览器中收到的所有字符串都是 NUL 终止。使用带有不是 NUL 终止字符串的 Web 浏览器的插件时,访问包含 Java 小程序的网页可能会导致浏览器崩溃、披露其部分内存或执行任意代码。
安全修复
- CVE-2012-4540
- IcedTea-Web 插件中发现了一个缓冲区溢出缺陷。访问恶意网页可能会导致使用 IcedTea-Web 插件崩溃或可能执行任意代码的 Web 浏览器。
5.106. imsettings
5.106.1. RHBA-2012:0768 - imsettings 程序漏洞修复更新
错误修复
- BZ#713433
- 在此次更新之前,IMSettings 守护进程在获取新指针后意外无效之前的指针。这个版本会修改 IMSettings,以便在所有事务完成后更新代码。
5.107. indent
程序错误修复
5.108. initscripts
错误修复
- BZ#854852
- 在以前的版本中,VLAN 名称的命名策略太严格。因此,if-down 工具无法正确从 /proc/net/vlan/config 文件中删除了描述性命名的接口。在这个版本中,删除了名称格式检查,并在上述场景中正常工作。
程序错误修复
- BZ#781493
- 之前版本的 initscripts 不支持 IPv6 路由,其方式与 IPv4 路由相同。只有通过指定
/etc/sysconfig/network-scripts/rule
寻址和路由。在这个版本中,相关的网络脚本已被修改来支持基于 IPv6 的策略路由,现在在-DEVICE_NAME配置文件中的 ip 命令(其中 DEVICE_NAME
是对应网络接口的名称),才能实现 IPv6/etc/sysconfig/network-scripts/rule6-DEVICE_NAME
配置文件中单独配置 IPv6 路由。 - BZ#786404
- 在系统安装后的第一次引导过程中,内核熵相对较低,来为
sshd
生成高质量的密钥。在这个版本中,系统安装过程中磁盘活动创建的熵保存在/var/lib/random-seed
文件中,用于密钥生成。这提供了足够的随机性,并允许根据足够的熵生成密钥。 - BZ#582002
- 在紧急模式下,来自
/dev/tty
设备的每个读取请求都出错,因此无法从/dev/tty
设备读取。这是因为,当激活单用户模式时,会直接调用 rc.sysinit 脚本。但是,系统管理员需要是控制台所有者才能正确运行。有了这个更新,rc.sysinit 会启动 rcS-emergency 作业,然后以正确的控制台设置运行 disruptiony 作业。 - BZ#588993
- ifconfig 工具无法在 InfiniBand 环境中处理 20 字节 MAC 地址,并报告提供的地址太长。在这个版本中,相应的 ifconfig 命令已改为别名到相应的 ip 命令,如果 config 现在可以正确地处理 20 字节 MAC 地址。
- BZ#746045
- 由于逻辑错误,
sysfs()
调用无法正确删除arp_ip_target
。因此,在尝试关闭绑定设备时会报告以下错误:ifdown-eth: line 64: echo: write error: Invalid argument
在这个版本中,修改了脚本,以便不再发生错误,并且arp_ip_target
现在被正确删除。 - BZ#746808
serial.conf
文件现在包含有关如何创建与活跃串行设备对应的/etc/init/tty<device>.conf
文件的改进注释。- BZ#802119
network
服务在服务启动时显示错误信息,如下所示:Error: either "dev" is duplicate, or "20" is a garbage.
这是因为解析的参数的分割不正确。在这个版本中,参数会被正确处理,问题不再发生。- BZ#754984
halt
initscript 不包含对apcupsd
守护进程的支持,即用于电源管理和控制 APC 的 UPS (不可中断的 Power Supply)的守护进程。因此,提供没有关闭电源故障。在这个版本中,增加了对脚本的支持,UPS 模型现在会如预期在电源故障的情况下关闭。- BZ#755175
- 在之前的 initscripts 版本中,变量
kernel.msgmnb
和kernel.msgmax
描述的注释不正确。在这个版本中,注释已被修复,变量现在可以正确描述。 - BZ#787107
- 由于逻辑运算符不正确,在 network 服务关闭时返回以下错误,因为关闭过程失败:
69: echo: write error: Invalid argument
在这个版本中,关闭 initscript 的代码已被修改,在 network 服务关闭时不再返回错误。 - BZ#760018
- 在关闭过程中,系统在某些情况下可能会变得无响应。这是因为 initscript 不会检查是否有 CIFS (通用互联网文件系统)共享挂载,并且在关闭前卸载任何挂载的 CIFS 共享。在这个版本中,添加了 CIFS 共享检查,并在关闭前停止共享。
- BZ#721010
- ifup-aliases 脚本在启动 IP 别名设备时使用 ifconfig 工具。因此,ifup 执行会逐渐减慢 NIC (网络接口卡)设备上的设备数量。在这个版本中,IP 别名使用 ip 工具而不是 ifconfig,ifup-aliases 脚本的性能在描述的情况中保持恒定。
- BZ#765835
- 在此次更新之前,netconsole 脚本无法发现并解析
/etc/sysconfig/netconsole
文件中指定的路由器的 MAC 地址。这是因为地址被解析为两个相同的地址,脚本会失败。在这个版本中,修改 netconsole 脚本,以便正确处理 MAC 地址,设备会如预期发现。 - BZ#757637
- 在 Malay (
ms_MY
)区域中,一些服务无法正常工作。这是因为 ms.po 文件中的拼写错误。在这个版本中解决了 ms_MY 区域中的错误和服务按预期运行。 - BZ#749610
- 当绑定 NIC 设备时,ifup-eth 工具中的绑定
的主要
选项会存在计时问题。因此,绑定已被配置,但这是首先从接口开始的活动接口。在这个版本中,与主
选项的绑定时间已被修正,主选项中定义的设备会按预期进行 enslaved。
功能增强
- BZ#704919
- 现在,用户可以通过在 /etc/sysconfig/network 文件中配置
NISDOMAIN
参数或其他相关配置文件来设置 NIS (网络信息服务)域名。
5.109. iok
5.109.1. RHBA-2012:1164 - iok 程序错误修复更新
程序错误修复
5.109.2. RHBA-2012:0392 - iok 程序错误修复更新
程序错误修复
- BZ#736992
- 由于 xkb 键映射在 xkeyboard-config 软件包的最新更新中被重写,在选择 Hindi X Keyboard Extension (XKB)时 iok 的语言列表包含不正确的 xkb 键映射名称。要解决这个问题,iok 的 xkb 解析器已被重写。
- BZ#752667
- 在以前的版本中,iok 在 "~/.m17n" 目录中查找带有 ".mim" 后缀的文件,而不是 "~/.m17n.d" 目录。在这个版本中,修改正确的 "~/.m17n.d" 目录路径,以便用户定义的键map文件保存在正确的目录中。
- BZ#752668
- 在以前的版本中,当使用屏幕键盘时,按鼠标点击各种字符可以正常工作。但是,finger 输入失败,因为第一个选择的字符被选择,无论用户接下来选择哪个字符。在这个版本中,用户可以在高级模式运行 iok 时使用拖放功能(iok -a"命令),允许用户通过第二个按钮拖动第一个密钥按钮。在 iok 的默认模式中,拖放功能不可用。
- BZ#798592
- 由于 xkb 名称数组的大小小,如果用户选择了 xkb-Malayalam 键映射(带有 Rupee 符号的增强印度脚本),然后按"To English"按钮,则 iok 工具可能会意外终止。在这个版本中,xkb 名称数组的大小已被增加,因此实用程序不会在上述场景中崩溃。
5.110. ipa
5.110.1. RHSA-2013:0188 - Important: ipa 安全更新
安全修复
- CVE-2012-5484
- 在最初尝试加入 IPA 域时,IPA 客户端在与 IPA 服务器通信的方式中发现弱点。因为在加入过程中向客户端提供 IPA 服务器的证书颁发机构(CA)证书没有安全的方法,因此 IPA 客户端注册过程容易受到中间人攻击的影响。此漏洞可能允许攻击者使用 IPA 客户端提供的凭证获取 IPA 服务器的访问权限,包括加入使用管理员凭证来执行整个域的管理访问权限。注意这种弱点仅在初始客户端加入到域中时公开,因为 IPA 客户端还没有服务器的 CA 证书。IPA 客户端加入域并获取 IPA 服务器的 CA 证书后,所有进一步的通信都是安全的。如果客户端使用 OTP (一次性密码)方法来加入到域中,攻击者只能获得对服务器的非特权访问权限(仅限于加入域)。
5.110.2. RHBA-2012:0819 - ipa bug 修复和功能增强更新
程序错误修复
- BZ#810900
- 当目录服务器检查密码更改时,目录服务器的身份管理密码策略插件没有正确排序用户密码的历史记录。由于这个程序错误,用户密码历史记录会随机排序,因此当列表溢出时,随机密码会被删除,而不是最旧的密码。因此,用户可以绕过密码重复的密码策略要求。现在,在目录服务器的 Identity Management 密码插件中正确排序用户密码,并正确强制执行密码的密码策略要求。
- BZ#805478
- 由于 Identity Management 权限插件中的一个错误,尝试重命名权限始终会导致错误。因此,用户在尝试重命名权限时,需要删除权限并使用新名称创建新权限。在这个版本中,底层源代码已被修改来解决这个问题,用户现在可以重命名权限。
- BZ#701677
- 在以前的版本中,DNS 插件不允许用户为身份管理管理的区域设置查询或转让策略。因此,用户无法控制谁可以查询或传输区域,它们与存储在纯文本文件中的区域相同。在这个版本中,用户可以为身份管理管理的每个区域设置 ACL;因此,用户可以控制谁可以查询其区域或运行区域传送。
- BZ#773759
- 具有适当权限的非管理员用户可以更改其他用户的密码。但是,这个权限的目标组之前没有限制。因此,具有更改密码的非管理员用户可能会更改 admin 用户的密码,并获得 admin 帐户的访问权限。在这个版本中,权限被修改为只允许非 admin 用户更改密码。
- BZ#751173
- 当使用 ipa passwd CLI 命令更改用户密码时,它会在密码更改失败时返回以下出错信息:
ipa: ERROR: Constraint violation: Password Fails to meet minimum strength criteria
用户密码更改是配置的密码策略的主题。如果没有正确的错误消息,则很难调查密码更改失败的原因(密码复杂性过快,更改密码等),并解决这种情况。现在,如果 ipa passwd 命令失败,用于更改密码的 Directory Server 插件现在会返回正确的错误消息。 - BZ#751597
- 当使用 DNS 中无法正确解析的自定义主机名安装身份管理服务器时,系统会从用户请求自定义主机名的 IP 地址。接下来,主机记录被添加到
/etc/hosts
文件中,以便自定义主机名可以被解析,安装可以继续。但是,当使用--ip-address
选项传递 IP 地址时,不会添加记录。因此,安装会失败,因为后续步骤无法解析机器的 IP 地址。在这个版本中,主机记录被添加到/etc/hosts
中,即使 IP 地址通过--ip-address
选项传递,安装过程也会继续如预期。 - BZ#751769
- 身份管理无法安装到具有自定义 LDAP 服务器实例的服务器上,即使 LDAP 服务器实例在自定义端口上运行,因此不会与身份管理冲突。因此,用户无法在身份管理的系统中部署自定义 LDAP 实例。在这个版本中,身份管理不再强制不存在 LDAP 实例。相反,它会检查保留的 LDAP 端口(
389
和636
)是否可用。用户可以将身份管理服务器与自定义 LDAP 服务器实例结合使用,只要它们运行在自定义端口上。 - BZ#753484
- 当身份管理 Web UI 的 Kerberos 单点登录失败时,Web UI 不会回退到登录和密码身份验证。身份管理 Kerberos 域或不兼容的浏览器以外的工作站无法访问 Web UI,除非从 Kerberos 身份验证进行回退以在身份管理 web 服务器上配置了密码身份验证。现在,当无法使用 Kerberos 身份验证时,Web UI 可以回退到基于表单的身份验证。
- BZ#754973
- 当针对 Active Directory 计算机上的 winsync 协议时,ipa-replica-manage 命令的
强制同步
、重新初始化
和del
子子命令会失败,限制用户控制 winsync 复制协议的能力。在这个版本中,ipa-replica-manage 被修复,以更可靠的方式管理标准复制协议和 winsync 协议。 - BZ#757681
- 当传递了--
no-host-dns
选项时,身份管理安装程序无法正确处理主机 IP 地址。当主机名无法解析且使用了--no-host-dns
选项时,ipa-replica-install 工具会在安装过程中失败,且不会像 ipa-server-install 工具一样修改主机名解析。有了这个更新,ipa-server-install 和 ipa-replica-install 现在共享主机 IP 地址处理,并在服务器或副本主机名无法解析时向/etc/hosts
文件中添加记录。 - BZ#759100
- 当服务器分配了 2 个 IP 地址时,身份管理服务器安装脚本无法正确处理情况,且无法继续安装。在这个版本中修复了安装脚本,并在双 NIC 配置中安装身份管理服务器可以正常工作。
- BZ#750828
- 当使用
--external-ca
选项安装身份管理时,安装分为两个阶段。安装过程的第二个阶段从第一个阶段存储的文件读取配置选项。在以前的版本中,安装程序没有正确存储带有 DNS 转发器 IP 地址的值,然后是安装过程的第二个阶段被错误读取,在安装过程的第二个阶段,名称服务器配置失败。在这个版本中,forwarder 选项会被正确存储,安装可以正常工作。 - BZ#772043
- 在此次更新之前,身份管理 netgroup 插件不会验证 netgroup 名称。因此,当 NIS 插件处理无效值时,具有无效名称的 netgroup 可以存储在 LDAP 服务器中,然后在 NIS 插件处理无效值时崩溃。Identity Management netgroup 插件现在对 netgroup 名称强制执行更严格的验证。
- BZ#772150
- 某些身份管理副本协议忽略了应当从复制中排除的属性列表。LDAP 服务器插件(本例中为
memberOf
属性)在每个 master 上本地生成的身份管理属性会被复制。这会强制所有身份管理副本的 LDAP 服务器重新处理memberOf
数据,并增加 LDAP 服务器的负载。当很多条目在短时间内添加到副本时,或者当副本从另一个 master 重新初始化时,所有副本都使用memberOf
更改而造成高负载,并导致所有副本机器上出现高负载,并导致出现性能问题。ipa-replica-install 工具添加的新副本协议不再忽略从复制中排除的属性列表。在身份管理 LDAP 服务器中重新初始化或大量添加条目不再会导致memberOf
处理导致性能问题。旧副本协议也已更新,以包含复制中排除的正确属性列表。 - BZ#784025
- ipa automountmap-add-indirect 命令创建一个新的映射,并将键添加到引用新映射的父映射(默认为
auto.master
)。因为映射嵌套只在auto.master
映射中被允许,所以其他映射中引用的子挂载映射需要遵循标准子挂载格式(即 < key> < origin> <mapname> ),以便从 LDAP 正确加载引用的映射。但是,automountmap-add-indirect 子命令没有遵循这个区别,< origin> 和 & lt ;mapname& gt; 属性没有正确填写。因此,非auto.master
映射中引用的子挂载映射不被autofs
客户端软件识别为自动挂载映射,且未挂载。现在,在不是auto.master
映射的映射中引用的 Submount 映射现在遵循标准子挂载格式,并带有正确的 < key>、< origin & gt; (-fstype=autofs
)和 < mapname> (ldap:$MAP_NAME
)。autofs
客户端软件现在可以在 auto.master 和其它映射中正确处理子挂载,并挂载它们。 - BZ#785756
- 在此次更新之前,身份管理用户插件对用户的主目录使用硬编码的默认值,而不使用配置的值。当管理员将 Identity Management 配置插件中的默认用户主目录从默认值改为自定义值时,在添加用户时不会遵守这个值。在这个版本中解决了这个程序错误,并在没有通过特殊选项指定自定义主目录的情况下创建新用户时,会使用默认配置的主目录。
- BZ#797274
- 身份管理证书模板不包括
subjectKeyIdentifier
字段,即使它在 RFC 3280 文档中使用 SHOULD 关键字标记。因此,某些应用程序处理这些证书可能会报告错误。在这个版本中,当前和新的 IPA 服务器安装的证书模板现在包含subjectKeyIdentifier
字段。 - BZ#797562
- 身份管理主机和 DNS 插件无法正确处理主机名或 DNS 区域名称,并带有尾随点。因此,创建的 host record FQDN 属性包含两个值,而不是一个规范化值。这可能会在进一步的主机记录处理中造成问题。在这个版本中,所有主机名都使用没有结尾点的格式进行规范化。身份管理 DNS 插件现在接受两种格式的 DNS 区域名称 - 带和不使用尾随点。
- BZ#797565
- 在以前的版本中,CSV 在身份管理处理中的 CLI 和服务器部分被分割。因此,第二个时间被错误地分割包含转义的逗号字符的值。在这个版本中,CSV 处理只在客户端界面中完成。身份管理 RPC 接口(XML-RPC 和 JSON-RPC)不再处理 CSV。逗号转义也被引用替代。
- BZ#797566
- 身份管理服务器卸载过程删除了作为身份管理安装一部分的系统用户。这包括
dirsrv
或pkiuser
用户,Directory 服务器使用它来运行其实例。这些用户还拥有由 Directory 服务器生成的日志文件。如果再次安装了身份管理服务器,并且新添加的系统用户的 UID 已更改,目录服务器可能无法启动,因为不允许 Directory 服务器实例写入具有不同 UID 的旧系统用户拥有的日志文件。在这个版本中,在卸载过程中不会删除身份管理服务器安装生成的系统用户。 - BZ#747693
- LDAP ACI 管理的身份管理插件(permission、selfservice 和 delegation 插件)没有以可靠的方式处理其选项,并会重新验证传递的值。当传递空选项或-
raw
选项时,ACI 管理插件可能会返回 Internal Errors。当将无效的属性传递给 ACI 属性列表选项时,也会返回一个 Internal Error。选项处理现在更加强大,在验证方面更严格。现在,当传递无效的或空选项值时,会返回正确的错误。 - BZ#746805
- 具有启用/禁用状态的对象(即用户帐户、sudo 规则、HBAC 规则、SELinux 策略)无法在 Web UI 中的相关搜索页面中区分。现在,在搜索页面中,包含禁用对象的行会被灰显,启用的列对每个状态具有不同的图标。
- BZ#802912
- 在验证新证书签发者时,身份管理证书不会读取自定义用户证书主题基础。当使用自定义主题基础安装身份管理服务器且没有使用默认的主题基础时,在身份管理证书颁发机构中发布新证书可能会返回 invalid issuer 错误。在这个版本中,在验证证书签发者前,自定义用户证书主题基础总是被读取,在签发证书时不再返回上述错误。
- BZ#803050
- 当收到意外错误(如内部服务器错误)时,Web UI 中的错误对话框中点,因为错误消息替换了页面内容。在这个版本中,错误消息有自己的容器,这解决了上述问题。
- BZ#803836
- 身份管理没有配置其目录服务器实例,以便始终以匿名方式和解密其 RootDSE 可用。因此,当用户更改 Directory Server 实例配置中的
nsslapd-minssf
属性来提高与实例的连接中的安全需求时,一些应用程序(如 SSSD)可能已停止工作,因为它们不再匿名读取 RootDSE。要解决这个问题,身份管理现在在 Directory 服务器实例配置中设置nsslapd-minssf-exclude-rootdse
选项。用户和应用程序可以从身份管理目录服务器实例中匿名访问 RootDSE,即使实例配置了传入连接的安全要求。 - BZ#807366
- 在以前的版本中,Web UI 中的 Netgroup 页面没有用于指定
所有选项
的输入字段。在这个版本中,整个 Netgroup 页面已被重新设计来添加此功能。 - BZ#688765
- 身份管理 DNS 插件没有验证 DNS 记录的内容。某些 DNS 记录类型(例如,MXX、LOC 或 SRV)有一个需要存储的复杂数据结构,否则记录无法解析。放松的 DNS 插件验证允许用户创建无效的记录,即使它们存储在 LDAP 中也无法解决。在这个版本中,每个 DNS 记录类型(实验性 A6 DNS 记录类型除外)现在会根据相关的 RFC 文档进行验证。验证涵盖了最常见的用户错误,并为用户提供有关为什么输入记录无效的原因的指导。用户还可以创建更复杂的 DNS 记录,而无需详细了解其结构,因为改进的 DNS 插件界面在创建 DNS 记录时提供指导。另外,DNS 插件用户不会再输入无效的记录。
功能增强
- BZ#759501
- 当失败的登录尝试次数超过配置的最大值时,帐户会被锁定。但是,调查特定用户的锁定状态很难,因为失败的登录尝试次数不会被复制。身份管理现在包括一个新的 ipa user-status 命令,它为所有配置的副本提供失败的登录尝试次数,以及最后一次成功或失败的登录尝试的时间。
- BZ#766181
- 添加新用户时,将创建一个 User Private Group (UPG),并默认分配为该用户的主组。但是,当管理员想要使用分配为所有用户的主组时,可能会出现用例。处理 UPG 的目录服务器插件现在可以使用新的实用程序 - ipa-managed-entries 禁用。此实用程序允许管理员禁用自动创建 UPG,并允许所有新用户共享一个通用组作为其主要组。
- BZ#767725
- 当身份管理服务器配置了 DNS 支持时,DNS 区域动态更新策略允许身份管理客户端在客户端 IP 地址更改时更新相关的 DNS 转发记录。但是,出于安全原因,客户端无法更新其反向记录,因为它们可以更改反向区域中的任何记录。在这个版本中,可以将身份管理 DNS 区域配置为允许在使用新的 IP 地址更新转发记录时自动更新客户端反向记录。因此,当客户端 IP 地址更改时,可以更新客户端机器的正向和反向记录。
- BZ#772044
- Identity Management
host
插件不允许存储机器 MAC 地址。管理员无法将 MAC 地址分配给身份管理中的主机条目。在这个版本中,MAC 地址的新属性添加到身份管理主机插件中。管理员现在可以为主机条目分配 MAC 地址。然后,可以使用从身份管理 LDAP 服务器读取该值,例如:~]$ getent ethers <hostname>
- BZ#772301
- 创建正向 DNS 记录时,即使正向和反向区域由身份管理管理,也不会创建对应的反向记录。用户总是必须手动创建正向和反向记录。在这个版本中,CLI 和 Web UI 都可以选择在创建 IPv4 或 IPv6 转发记录时自动创建反向记录。
- BZ#807361
- 在此次更新之前,身份管理目录服务器实例中的所有 DNS 记录都是公开的。使用目录服务器实例中公开访问的 DNS 树,任何有权访问服务器的用户都可以获取所有 DNS 数据。此操作通常使用访问控制规则来限制。常见的安全做法是,将此信息限制为仅限于选定的一组用户。因此,在此次更新中,带有 DNS 记录的整个 LDAP 树现在只能被 LDAP 驱动程序访问,该驱动程序将数据提供给名称服务器、管理员用户或具有新权限的用户,名为
Read DNS Entries
。现在,只有允许用户访问身份管理目录服务器实例中的所有 DNS 记录。 - BZ#753483
- 身份管理服务器不允许使用条件转发创建 DNS 区域,这使名称服务器将所有区域请求转发到自定义转发器。在这个版本中,身份管理 DNS 插件允许用户创建 DNS 区域,并为那个区设置条件转发器和转发策略。
- BZ#803822
- 对 SSH 公钥管理的支持已添加到身份管理服务器中;身份管理客户端上的 OpenSSH 会自动配置为使用身份管理服务器上的公钥。这个功能是一个技术预览功能。
- BZ#745968
- Web UI 中的 DNS 页面不允许从 A 或 AAAA 记录到相关的 PTR 记录导航。在这个版本中,添加了一个链接,指向相关的 PTR 记录(如果存在)。
5.111. ipmitool
5.111.1. RHBA-2013:0264 - ipmitool 程序错误修复更新
错误修复
- BZ#907926
- 在以前的版本中,使用 ipmitool 程序在用户访问信息中启用 "ipmi" 和 "link" 键无法正常工作。因此,不会考虑这些设置的值。已提供了一个补丁,可确保按预期读取和处理这些设置的值。
5.111.2. RHBA-2012:0999 - ipmitool 程序错误修复更新
错误修复
- BZ#828678
- 在前面的 ipmitool 软件包更新中,添加了新的选项 "-R" 和 "-N",以调整通过 lan 和 lanplus 接口传出 IPMI 请求的重新传输率。这些选项的实现会预先设置重新传输超时和传出请求的默认值。另外,在某些情况下,ipmitool 可能会在超时发生时意外终止,并出现分段错误。在这个版本中修复了默认的超时值和 ipmitool,但没有 "-N" 选项重新传输传出的 IPMI 请求,如之前的版本。
程序错误修复
功能增强
5.112. iproute
程序错误修复
功能增强
- BZ#748767
- tc 工具(流量控制工具)已被改进,允许用户使用 Multi-queue 优先级(MQPRIO)排队 Discipline (qdiscs)调度程序。使用 MQPRIO qdiscs 时,可以从支持外部 QOS 调度程序的 NIC 中卸载 QOS。现在,用户可以监控流量类、收集统计信息、设置 socket-buffer (SKB) priority 和 socket-priority-to-traffic-class 映射。
- BZ#788120
- tc 工具已更新,以用于 Quick Fair Queueing (QFQ)内核功能。用户现在可以从用户空间利用新的 QFQ-traffic 调度程序。
- BZ#812779
- 在这个版本中,增加了对多个多播路由表的支持。
5.113. iprutils
5.113.1. RHBA-2012:1183 - iprutils 程序错误修复更新
错误修复
- BZ#849556
- 在以前的版本中,当显示磁盘设备的详细信息时,缓冲区溢出错误会导致 iprconfig 工具意外终止并出现分段错误。已提供了一个补丁来解决这个问题,iprconfig 不再在上述场景中崩溃。
5.114. iptraf
5.114.1. RHBA-2012:0762 - iptraf 程序错误修复更新
错误修复
- BZ#682350
- 在此次更新之前,IPTraf 针对名称白名单检查接口名称,以确定是否支持接口。网络设备可以具有任意名称,并且由于"持续网络设备命名"的更改,接口名称将更改为基于位置的名称。因此,IPTraf 可能会拒绝某些接口名称。在这个版本中,删除了接口名称检查,因此 IPTraf 始终接受设备名称。
5.115. ipvsadm
5.115.1. RHBA-2012:0865 - ipvsadm 程序错误修复更新
错误修复
- BZ#788529
- 在此次更新之前,ipvsadm 工具无法正确处理与同步守护进程相关的内核没有顺序的消息。因此,"ipvsadm --list --daemon"命令并不总是输出同步守护进程的状态。在这个版本中,来自内核的消息排序不再影响输出,命令总是返回同步守护进程状态。
5.116. irqbalance
5.116.1. RHBA-2012:1157 - irqbalance 程序错误修复更新
错误修复
- BZ#845374
- irqbalance 守护进程将系统中的每个中断源分配给"类",这代表设备的类型(如网络、存储或介质)。在以前的版本中,irqbalance 在对受影响的系统造成性能影响时进行分类某些 NIC 设备。在这个版本中,NIC classification 机制已更新,以处理所有类型的 NIC。
5.116.2. RHBA-2012:0807 - irqbalance 程序错误修复更新
错误修复
- BZ#682211
- irqbalance 守护进程将系统中的每个中断源分配给"类",这代表设备的类型(如网络、存储或介质)。在以前的版本中,irqbalance 使用 /proc/interrupts 文件中的 IRQ 处理程序名称来决定源类,这会导致 irqbalance 无法正确识别网络中断。因此,使用 biosdevname NIC 命名的系统没有按预期分布和固定其硬件中断。在这个版本中,设备分类机制已被改进,因此可以确保更好的中断分布。
5.117. irssi
5.117.1. RHBA-2012:1171 - irssi 程序错误修复更新
程序错误修复
5.118. iscsi-initiator-utils
程序错误修复
- BZ#738192
- iscsistart 工具使用硬编码的值作为其设置。因此,在使用 dm-multipath 时,在更改失败检测和路径故障转移前可能需要几分钟时间。在这个版本中,iscsistart 工具已被修改为处理命令行中提供的设置。
- BZ#739049
- iSCSI README 文件错误地列出了 --info 选项,作为显示 iscsiadm iSCSI 信息的选项。README 已被修正,现在它会正确说明您需要使用 "-P 1" 参数来获取这些信息。
- BZ#739843
- 如果没有执行 "iscsiadm -m iface" 命令,通过 TOE (TCP Offload Engine)接口 iSCSI 发现过程会失败。这是因为 "iscsiadm -m" discovery 命令没有检查接口设置。在这个版本中,iscsiadm 工具会在首次使用时创建默认的 ifaces 设置,且问题不再发生。
- BZ#796574
- 如果端口号通过非完全限定主机名传递给 iscsiadm 工具,该工具会使用作为主机名一部分的端口创建记录。因此,登录或发现操作会失败,因为 iscsiadm 无法找到记录。在这个版本中,iscsiadm 门户解析程序已被修改,以将端口与主机名分开。因此,端口会被正确解析和处理。
功能增强
- BZ#790609
- iscsidm 工具已更新,以支持使用 QLogic 的 iSCSI 卸载卡的 ping 命令,并管理主机上的 CHAP (Challenge-Handshake Authentication Protocol)条目。
5.119. jakarta-commons-httpclient
安全修复
- CVE-2012-5783
- Jakarta Commons HttpClient 组件没有验证服务器主机名是否与 X.509 证书中的主题通用名称(CN)或 subjectAltName 字段中的域名匹配。如果存在对任何域名有效的证书,这可能会导致中间攻击者欺骗 SSL 服务器。
5.120. java-1.5.0-ibm
安全修复
- CVE-2012-1531,CVE-2012-3143,CVE-2012-3216,CVE-2012-4820,CVE-2012-4822,CVE-2012-5069,CVE-2012-5071,CVE-2012-5073,CVE-2012-5075,CVE-2012-5079,CVE-2012 -5069 ,CVE-2012-5083,CVE-2012-5084,CVE-2012-50489
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
安全修复
- CVE-2012-1713,CVE-2012-1716,CVE-2012-1717,CVE-2012-1718,CVE-2012-1719,CVE-2012-1725
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
5.121. java-1.6.0-ibm
安全修复
- CVE-2012-0547,CVE-2012-1531,CVE-2012-1532,CVE-2012-1533,CVE-2012-1682,CVE-2012-3143,CVE-2012-3159,CVE-2012-3216,CVE-2012-4820,CVE-2012-4822,CVE-2012-4823,CVE-2012-5 068, CVE-2012-50 69, CVE-2012-507 1, CVE-2012-507 2, CVE-2012-507 3, CVE-2012-507 5, CVE-2012-5 079, CVE-2012-508 1, CVE-2012-508 3, CVE-2012-508 4, CVE-2012-5089
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
安全修复
- CVE-2012-0551,CVE-2012-1713,CVE-2012-1716,CVE-2012-1717,CVE-2012-1718,CVE-2012-1719,CVE-2012-1721,CVE-2012-1722,CVE-2012-1725
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
5.122. java-1.6.0-openjdk
安全修复
- CVE-2012-5086,CVE-2012-5084,CVE-2012-5089
- 在 OpenJDK 中的 Beans、Swing 和 JMX 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2012-5068,CVE-2012-5071,CVE-2012-5069,CVE-2012-5073,CVE-2012-5072
- 在 OpenJDK 中的 Scripting, JMX, Concurrency, Libraries, 和 Security components 中发现多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2012-5079
- 发现 java.util.ServiceLoader 可以在执行供应商查找时创建不兼容类的实例。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过某些 Java 沙盒限制。
- CVE-2012-5081
- 发现,Java 安全套接字扩展(JSSE) SSL/TLS 实施无法正确处理包含超大数据长度值的握手记录。一个未经身份验证的远程攻击者可能会使用这个缺陷导致 SSL/TLS 服务器终止异常。
- CVE-2012-5075
- 已发现,OpenJDK 中的 JMX 组件可能会以不安全的方式执行某些操作。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露敏感信息。
- CVE-2012-4416
- Java HotSpot 虚拟机优化代码中的一个错误可能会导致它在某些情况下无法执行阵列初始化。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露虚拟机内存的部分。
- CVE-2012-5077
- 发现,SecureRandom 类无法正确保护对创建多个 seeders 的创建。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露敏感信息。
- CVE-2012-3216
- 发现 java.io.FilePermission 类公开了规范路径名称的散列代码。不信任的 Java 应用程序或小程序可能会使用这个缺陷来确定某些系统路径,如当前工作目录。
- CVE-2012-5085
- 默认情况下,这个更新禁用了 java.net 软件包中的 Gopher 协议支持。通过将新引入的属性 "jdk.net.registerGopherProtocol" 设置为 true 来启用 gopher 支持。
安全修复
- CVE-2013-0442,CVE-2013-0445,CVE-2013-0441,CVE-2013-1475,CVE-2013-1476,CVE-2013-0429,CVE-2013-0450,CVE-2013-0425, CVE-2013-0426 ,CVE-2013-0426,CVE-2013-0428
- 在 OpenJDK 中的 AWT、CORBA、JMX 和 Libraries 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-1478,CVE-2013-1480
- 在 2D 和 AWT 组件中镜像解析程序处理镜像 raster 参数的方式中发现了多个漏洞。专门制作的镜像可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
- CVE-2013-0432
- AWT 组件的剪贴板处理代码中发现了一个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这个缺陷来访问剪贴板数据,绕过 Java 沙盒限制。
- CVE-2013-0435
- 默认的 Java 安全属性配置不会限制对某些 com.sun.xml.internal 软件包的访问。不信任的 Java 应用程序或小程序可能会使用此缺陷来访问信息,绕过某些 Java 沙盒限制。这个版本将整个软件包列为 restricted。
- CVE-2013-0427,CVE-2013-0433,CVE-2013-0434
- 在 Libraries、Networking 和 JAXP 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2013-0424
- 发现 RMI 组件的 CGIHandler 类在错误消息中使用用户输入,而无需任何清理。攻击者可以利用此漏洞执行跨站点脚本(XSS)攻击。
- CVE-2013-0440
- 发现 JSSE 组件中的 SSL/TLS 实现没有正确强制握手消息排序,允许无限数量的握手重启。一个远程攻击者可以使用这个缺陷,通过持续重启握手,使用 JSSE 的 SSL/TLS 服务器消耗大量 CPU。
- CVE-2013-0443
- 发现 JSSE 组件没有正确验证 Diffie-Hellman 公钥。SSL/TLS 客户端可能会使用这个缺陷来执行小的子组攻击。
安全修复
- CVE-2012-1682
- 已发现,OpenJDK 中的 Beans 组件没有正确执行权限检查。不信任的 Java 应用程序或小程序可能会使用此缺陷,使用受限软件包中的类,从而绕过 Java 沙盒限制。
- CVE-2012-0547
- 一个强化修复被应用于 OpenJDK 中的 AWT 组件,从受限 SunToolkit 类中删除功能,该类与其他漏洞结合使用来绕过 Java 沙盒限制。
安全修复
- CVE-2013-1486
- 在 OpenJDK 中的 JMX 组件中发现了一个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过 Java 沙盒限制。
- CVE-2013-0169
- 当使用 CBC 模式密码套件时,OpenJDK 会在解密 TLS/SSL 协议加密记录时泄漏计时信息。一个远程攻击者可以使用这个缺陷,通过使用 TLS/SSL 服务器作为 padding oracle 来检索来自加密数据包的纯文本。
程序错误修复
- BZ#751203
- 在以前的版本中,在将 OpenJDK 更新至 java-1.6.0-openjdk-1.6.0.0-1.40.1.9.10.el6_1 后,只有在使用 java.rmi.server.codebase 参数运行时,Java Remote Object Registry (rmiregistry)才会启动,否则 registry 启动会失败。在这个版本中解决了回归问题,可以在不如预期的情况下启动 registry。
- BZ#767537
- Kerberos 协议的频道绑定被错误地实现,OpenJDK 不会处理没有传入频道绑定的 Kerberos GSS (通用安全服务)上下文。这会导致 Windows Server 2008 上的 Internet Explorer 存在间歇性问题。在这个版本中,OpenJDK 可以正确处理未设置的频道绑定,并按预期处理 Kerberos GSS 上下文。
- BZ#804632
- SystemTap 脚本转换器(stap)使用 jstack ()systemtap 支持运行可能会终止,并显示类似如下的错误:
ERROR: kernel read fault at 0x0000000000000018 (addr) near identifier '@cast' at /usr/share/systemtap/tapset/x86_64/jstack.stp:362:29
这个版本改进了 jstack 代码,如恒定定义和错误处理,而带有 jstack 的 stap 脚本现在可以正常工作。 - BZ#805936, BZ#807324
- 在这个版本中解决了使用签名 jar 文件时发生的多个问题。
功能增强
- BZ#751410
- 添加了对巨页的支持。
5.123. java-1.6.0-sun
安全修复
- CVE-2012-1541,CVE-2012-3213,CVE-2012-3342,CVE-2013-0351,CVE-2013-0409,CVE-2013-0419,CVE-2013-0423,CVE-2013-0424,CVE-2013-0425,CVE-2013-0426,CVE-2013-0427, CVE-2013-0427,CVE-2013 -0428, CVE-2013-0 429, CVE-2013-0 430, CVE-2013-0 432, CVE-2013-0 433, CVE-2013-0 434, CVE-2013-0 435, CVE-2013-04 38, CVE-2013-0 440, CVE-2013-044 1 , CVE-2013-0442, CVE-2013-0 442, CVE-2013 -0443, CVE-2013 -0445, CVE-2013 -0446, CVE-2013 -0450, CVE-2013 -1473, CVE-2013 -1475, CVE-2013 -1476, CVE-2013 -1478, CVE-2013 -1480, CVE-2013-1481
- 这个版本修复了 Oracle Java Runtime Environment 和 Oracle Java Software Development Kit 中的几个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Java SE Critical Patch Update Advisory 页面。
安全修复
- CVE-2012-0547,CVE-2012-1531,CVE-2012-1532,CVE-2012-1533,CVE-2012-3143,CVE-2012-3159,CVE-2012-3216,CVE-2012-4416,CVE-2012-5068,CVE-2012-5069,CVE-2012-5071,CVE-2012-5072,CVE- 2012-5073,CVE-2012-5075,CVE-2012-5077,CVE-2012-5079,CVE-2012-5081,CVE-2012-5083,CVE-2012-5084,CVE-2012-5085, CVE-2012-5086, CVE-2012-50 86, CVE-2012-5089
- 这个版本修复了 Oracle Java Runtime Environment 和 Oracle Java Software Development Kit 中的几个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Java SE Critical Patch Update Advisory 和 Oracle Security Alert 页面。
5.124. java-1.7.0-ibm
安全修复
- CVE-2012-1531,CVE-2012-1532,CVE-2012-1533,CVE-2012-1718,CVE-2012-3143,CVE-2012-3159,CVE-2012-3216,CVE-2012-4820,CVE-2012-4821,CVE-2012 -4822,CVE-2012-482 3, CVE-2012-50 67, CVE-2012-50 69, CVE-2012-5 070, CVE-2012-507 1, CVE-2012-507 2, CVE-2012-507 3, CVE-2012-507 4, CVE-2012-507 5, CVE- 2012-5076, CVE-CVE-2012-5077,CVE-2012-5079 , CVE-2012- 5081, CVE-2012- 5083, CVE-2012- 5084, CVE-2012 -5086, CVE-2012- 5087, CVE-2012- 5088, CVE-2012-5089
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
安全修复
- CVE-2012-0547,CVE-2012-0551,CVE-2012-1682,CVE-2012-1713,CVE-2012-1716,CVE-2012-1717,CVE-2012-1719,CVE-2012-1721,CVE-2012-1722,CVE-2012-1725,CVE-2012-1726, CVE-2012-172 6,CVE-2012-3136,CVE-2012-4681
- 在这个版本中,IBM Java Runtime Environment 和 IBM Java Software Development Kit 中修复了几个漏洞。详细漏洞描述从 IBM 安全警报页面 链接。
5.125. java-1.7.0-openjdk
安全修复
- CVE-2013-0442,CVE-2013-0445,CVE-2013-0441,CVE-2013-1475,CVE-2013-1476,CVE-2013-0429,CVE-2013-0450,CVE-2013-0425,CVE-2013-0426,CVE-2013-04 28,CVE-2013-0444
- 在 OpenJDK 中的 AWT、CORBA、JMX、Libraries 和 Beans 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-1478,CVE-2013-1480
- 在 2D 和 AWT 组件中镜像解析程序处理镜像 raster 参数的方式中发现了多个漏洞。专门制作的镜像可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
- CVE-2013-0432
- AWT 组件的剪贴板处理代码中发现了一个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这个缺陷来访问剪贴板数据,绕过 Java 沙盒限制。
- CVE-2013-0435
- 默认的 Java 安全属性配置不会限制对某些 com.sun.xml.internal 软件包的访问。不信任的 Java 应用程序或小程序可能会使用此缺陷来访问信息,绕过某些 Java 沙盒限制。这个版本将整个软件包列为 restricted。
- CVE-2013-0431, CVE-2013-0427, CVE-2013-0433, CVE-2013-0434
- 在 JMX、Libraries、Networking 和 JAXP 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2013-0424
- 发现 RMI 组件的 CGIHandler 类在错误消息中使用用户输入,而无需任何清理。攻击者可以利用此漏洞执行跨站点脚本(XSS)攻击。
- CVE-2013-0440
- 发现 JSSE 组件中的 SSL/TLS 实现没有正确强制握手消息排序,允许无限数量的握手重启。一个远程攻击者可以使用这个缺陷,通过持续重启握手,使用 JSSE 的 SSL/TLS 服务器消耗大量 CPU。
- CVE-2013-0443
- 发现 JSSE 组件没有正确验证 Diffie-Hellman 公钥。SSL/TLS 客户端可能会使用这个缺陷来执行小的子组攻击。
安全修复
- CVE-2013-1486,CVE-2013-1484
- 在 OpenJDK 中的 JMX 和 Libraries 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-1485
- 在 OpenJDK 中的 Libraries 组件中发现了一个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过某些 Java 沙盒限制。
- CVE-2013-0169
- 当使用 CBC 模式密码套件时,OpenJDK 会在解密 TLS/SSL 协议加密记录时泄漏计时信息。一个远程攻击者可以使用这个缺陷,通过使用 TLS/SSL 服务器作为 padding oracle 来检索来自加密数据包的纯文本。
安全修复
- CVE-2012-5086,CVE-2012-5087,CVE-2012-5088,CVE-2012-5084,CVE-2012-5089
- 在 OpenJDK 中的 Beans、Libraries、Swing 和 JMX 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2012-5076,CVE-2012-5074
- 默认的 Java 安全属性配置不会限制对某些 com.sun.org.glassfish 软件包的访问。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。在这个版本中,将这些软件包列为 restricted。
- CVE-2012-5068,CVE-2012-5071,CVE-2012-5069,CVE-2012-5073,CVE-2012-5072
- 在 OpenJDK 中的 Scripting, JMX, Concurrency, Libraries, 和 Security components 中发现多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2012-5079
- 发现 java.util.ServiceLoader 可以在执行供应商查找时创建不兼容类的实例。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过某些 Java 沙盒限制。
- CVE-2012-5081
- 发现,Java 安全套接字扩展(JSSE) SSL/TLS 实施无法正确处理包含超大数据长度值的握手记录。一个未经身份验证的远程攻击者可能会使用这个缺陷导致 SSL/TLS 服务器终止异常。
- CVE-2012-5070,CVE-2012-5075
- 已发现,OpenJDK 中的 JMX 组件可能会以不安全的方式执行某些操作。不信任的 Java 应用程序或小程序可能会使用这些漏洞来披露敏感信息。
- CVE-2012-4416
- Java HotSpot 虚拟机优化代码中的一个错误可能会导致它在某些情况下无法执行阵列初始化。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露虚拟机内存的部分。
- CVE-2012-5077
- 发现,SecureRandom 类无法正确保护对创建多个 seeders 的创建。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露敏感信息。
- CVE-2012-3216
- 发现 java.io.FilePermission 类公开了规范路径名称的散列代码。不信任的 Java 应用程序或小程序可能会使用这个缺陷来确定某些系统路径,如当前工作目录。
- CVE-2012-5085
- 默认情况下,这个更新禁用了 java.net 软件包中的 Gopher 协议支持。通过将新引入的属性 "jdk.net.registerGopherProtocol" 设置为 true 来启用 gopher 支持。
错误修复
- BZ#880352
- 在以前的版本中,当 krb5.conf 文件包含 "dns_lookup_kdc = true" 属性设置时,Krb5LoginModule 配置类不会返回正确的 KDC 列表。在这个版本中,在这些情况下会返回一个正确的 KDC 列表。
安全修复
- CVE-2012-3174, CVE-2013-0422
- 在 OpenJDK 中的反映 API 中发现两个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
安全修复
- CVE-2012-4681,CVE-2012-1682,CVE-2012-3136
- OpenJDK 中的 Beans 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2012-0547
- 一个强化修复被应用于 OpenJDK 中的 AWT 组件,从受限 SunToolkit 类中删除功能,该类与其他漏洞结合使用来绕过 Java 沙盒限制。
5.126. java-1.7.0-oracle
安全修复
- CVE-2012-1541,CVE-2012-3213,CVE-2012-3342,CVE-2013-0351,CVE-2013-0409,CVE-2013-0419,CVE-2013-0423,CVE-2013-0424,CVE-2013-0425,CVE-2013-0426,CVE-2013-0427, CVE-2013-0427,CVE-2013 -0428, CVE-2013-0 429, CVE-2013-0 430, CVE-2013-0 431, CVE-2013-0 432, CVE-2013-0 433, CVE-2013-0 434 ,CVE-2013-0435,CVE-2013-0437,CVE-2013-0438, CVE-2013-0438, CVE-2013-0 440, CVE-2013 -0441, CVE-2013 -0442, CVE-2013 -0443, CVE-2013 -0444, CVE-2013 -0445, CVE-2013 -0446, CVE-2013 -0448, CVE-2013 -0449, CVE-2013 -0450 ,CVE-2013-1473 , CVE-2013-1473 , CVE -2013-1475, CVE -2013-1476 , CVE -2013-1478 , CVE -2013-1479 , CVE -2013-1480 ,CVE-2013-1489
- 这个版本修复了 Oracle Java Runtime Environment 和 Oracle Java Software Development Kit 中的几个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Java SE Critical Patch Update Advisory 页面。
安全修复
- CVE-2012-4681, CVE-2012-1682,CVE-2012-3136,CVE-2012-0547
- 这个版本修复了 Oracle Java 7 Runtime Environment 和 Oracle Java 7 Software Development Kit 中的几个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Java SE Security Alert 页面。
安全修复
- CVE-2012-1531,CVE-2012-1532,CVE-2012-1533,CVE-2012-3143,CVE-2012-3159,CVE-2012-3216,CVE-2012-4416,CVE-2012-5067,CVE-2012-5068,CVE-2012-5069, CVE-2012-5069,CVE-2012-5070,CVE-2012-5071,CVE-2012-5072,CVE-2012-5073,CVE-2012-5074,CVE-2012-5075 , CVE-2012-507 6, CVE-2012-507 7, CVE-2012-5 079, CVE-2012-508 1, CVE-2012- 5083,, CVE-2012- 5084, CVE-2012 -5085, CVE-2012 -5086, CVE-2012- 5087, CVE-2012- 5088, CVE-2012-5089
- 这个版本修复了 Oracle Java Runtime Environment 和 Oracle Java Software Development Kit 中的几个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Java SE Critical Patch Update Advisory 页面。
安全修复
- CVE-2012-3174, CVE-2013-0422
- 这个版本修复了 Oracle Java Runtime Environment 和 Oracle Java Software Development Kit 中的两个漏洞。有关这些漏洞的更多信息,请参阅 Oracle Security Alert 页面。
5.127. jss
5.127.1. RHBA-2012:0920 - jss 程序漏洞修复更新
程序错误修复
- BZ#767768
- 在密钥归档过程中,DRM (数据恢复管理器)解密的用户的私钥,然后重新加密密钥以用于存储目的。反向进程在密钥恢复过程中发生;因此,私钥不会始终在令牌中处理,因为解密的私钥在解密和加密时在 DRM 内存中存在。在这个版本中,增加了安全的 PKCSPKCS 和 PKCS #5 v2.0 支持,支持在其令牌中嵌套和解封私钥处理,以及对 TMS (Token Management System)密钥恢复到 Red Hat Certificate System 8.1 的安全私钥处理。现在,令牌中会发生密钥归档操作。
- BZ#767771
- 升级后 DRM 的 CS.cfg 中不存在 "kra.storageUnit.hardware" 配置参数。因此,如果定义了参数 "kra.storageUnit.hardware",恢复操作会失败,服务器会返回以下出错信息:
PKCS #12 Creation Failed java.lang.IllegalArgumentException: bagType or bagContent is null
在这个版本中,修改 jss, pki-kra, pki-common 组件,以便正确处理 "kra.storageUnit.hardware" 配置参数。因此,在原位升级和迁移的实例时,密钥归档和恢复过程可以成功。 - BZ#767773
- 在以前的版本中,JSS 使用 HSM (硬件安全模块)令牌名称作为制造商 ID。如果 HSM 令牌名称与制造商 ID 不同,则密钥归档和恢复会失败。在这个版本中,为 JSS 添加了逻辑,以便它可以识别当前支持的 HSM:nCipher 和 SafeNet。TMS 和非 CMS 通用标准环境中的主要存档和恢复现在可以正常工作。
5.128. kabi-whitelists
功能增强
- BZ#722619
- 在 Red Hat Enterprise Linux 6.3 内核应用程序二进制接口(ABI)白名单中添加了多个符号。
- BZ#737276
- Hitachi 可加载设备驱动程序的多个符号已添加到内核 ABI 白名单中。
- BZ#753771
- 这个版本修改了 kabi-whitelists 软件包的结构: 现在根据各种 Red Hat Enterprise Linux 版本排序,并添加了指向最新版本的符号链接。
- BZ#803885
- "__dec_zone_page_state" 和 "dec_zone_page_state" 符号已添加到内核 ABI 白名单中。
- BZ#810456
- "blk_queue_rq_timed_out", "fc_attach_transport", "fc_release_transport", "fc_remote_port_add", "fc_remote_port_delete", "fc_remote_port_rolechg", "fc_remove_host", "touch_nmi_watchdog" 符号已添加到内核 ABI 白名单中。
- BZ#812463
- 已将 Oracle 云文件系统的多个符号添加到内核 ABI 白名单中。
- BZ#816533
- "get_fs_type"和 "vscnprintf" 已添加到内核 ABI 白名单中。
5.129. kdeartwork
5.129.1. RHBA-2012:0450 - kdeartwork 程序错误修复更新
错误修复
- BZ#736624
- 在以前的版本中,在 KDE 屏幕保存器的 OpenGL 组中列出的 KPendulum 和 KRotation 屏幕保存程序只会生成空白屏幕。这个版本禁用 KPendulum 和 KRotation,OpenGL 组不再列出它们。
5.130. kdebase
5.130.1. RHBA-2012:1371 - kdebase 程序错误修复更新
程序错误修复
5.131. kdebase-workspace
错误修复
- BZ#749460
- 在此次更新之前,任务管理器不符合手动排列的项目的顺序。因此,当用户切换桌面时,手动排列的 taskbar 条目会随机重新排列。在这个版本中,修改底层代码,使手动安排的项目更持久。
错误修复
- BZ#724960
- 在以前的版本中,kdebase-workspace 软件包依赖于 bluez-libs-devel 软件包来重建。但是,IBM System z 架构上不支持 bluez-libs-devel,构建只能通过 fake-build-provides 软件包的帮助来创建,而不需要的行为。在这个版本中,不再需要 bluez-libs-devel 软件包,因为对 IBM System z 架构的依赖项和重建可以成功。
5.132. kdelibs3
5.132.1. RHBA-2012:1244 - kdelibs3 程序错误修复更新
程序错误修复
5.133. kdelibs
安全修复
- CVE-2012-4512
- 在 CSS (Cascading Style Sheets) parser 中发现了一个基于堆的缓冲区溢出缺陷,在 kdelibs 中解析了字体的来源的位置。包含恶意内容的网页可能会导致应用程序使用 kdelibs (如 Konqueror)崩溃或可能执行运行应用程序的用户特权的任意代码。
- CVE-2012-4513
- 基于堆的缓冲区被发现,在 kdelibs 计算的大镜像维度的方式中发现了基于堆的缓冲区。包含恶意内容的网页可能会导致应用程序使用 kdelibs 崩溃或披露内存的一部分。
5.133.2. RHBA-2012:1251 - kdelibs 程序错误修复更新
程序错误修复
- BZ#587016
- 在此次更新之前,KDE 打印对话框没有记住以前的设置,也不允许用户保存设置。因此,当打印多个文档时,用户会被强制手动更改每个打印的文档中的设置。在这个版本中,KDE 打印对话框会如预期保留以前的设置。
- BZ#682611
- 当系统被配置为使用传统中文语言(zh_TW 区域)时,Konqueror 错误地使用其 splash 页面的中文(zh_CN)版本。在这个版本中,Konqueror 使用正确的区域设置。
- BZ#734734
- 在以前的版本中,点系统遍历来显示隐藏图标可能会导致 Plasma Workspaces 消耗大量 CPU 时间。这个版本应用了一个修复这个错误的补丁。
- BZ#754161
- 当使用 Konqueror 以递归方式复制文件和目录时,如果其中一个子目录无法访问,则不会向用户报告任何警告信息。在这个版本中,Konqueror 在此场景中显示正确的警告信息。
- BZ#826114
- 在此次更新之前,在主工具栏中添加 "Terminal Emulator" 会导致 Konqueror 意外终止并出现分段错误。在这个版本中,底层源代码已被修正,以防止这个错误,以便用户现在可以按预期使用此功能。
安全修复
- CVE-2012-4512
- 在 CSS (Cascading Style Sheets) parser 中发现了一个基于堆的缓冲区溢出缺陷,在 kdelibs 中解析了字体的来源的位置。包含恶意内容的网页可能会导致应用程序使用 kdelibs (如 Konqueror)崩溃或可能执行运行应用程序的用户特权的任意代码。
- CVE-2012-4513
- 基于堆的缓冲区被发现,在 kdelibs 计算的大镜像维度的方式中发现了基于堆的缓冲区。包含恶意内容的网页可能会导致应用程序使用 kdelibs 崩溃或披露内存的一部分。
5.133.4. RHBA-2012:0377 - kdelibs 程序错误修复更新
错误修复
- BZ#698286
- 在以前的版本中,在 big-endian 构架中,包括 IBM System z,Konqueror Web 浏览器可能会在加载某些网站时意外终止或变得无响应。一个补丁已被应用于解决这个问题,Konqueror 不再会在上述架构上崩溃或挂起。
5.134. kdepim
5.134.1. RHBA-2012:1287 - kdepim 程序错误修复更新
错误修复
- BZ#811125
- 在此次更新之前,cyrus-sasl-plain 软件包不是 kdepim 软件包的依赖项。因此,Kmail 无法发送邮件。这个版本修改了底层代码,使其包含 cyrus-sasl-plain 依赖项。
5.135. kernel
安全修复
- CVE-2012-4508, Important
- 在异步 I/O 和 fallocate ()中使用 ext4 文件系统交互的方式中发现了一个竞争条件。本地非特权用户可能会使用此缺陷,从尚未写入数据块的程度公开随机数据,从而包含已删除文件中的数据。
- CVE-2013-4299, Moderate
- 在某些情况下,在 Linux 内核的设备映射程序子系统中发现了一个信息泄漏漏洞,用于解释写入快照块设备的数据。攻击者可以使用这个缺陷从可用空间中的磁盘块中读取数据,这通常无法访问。
- CVE-2013-2851, Low
- Linux 内核的块层中发现了一个格式字符串缺陷。特权的本地用户可能会利用此漏洞将其权限升级到内核级别(ring0)。
程序错误修复
- BZ#1016105
- crypto_larval_lookup () 函数可能会返回一个 larval,当加密算法被注册时,也会返回一个 in-between 状态,即使它没有创建。这可能导致 larval 终止两次,并导致内核 panic。例如,当 NFS 服务以 FIPS 模式运行时,并尝试使用 MD5 哈希算法,即使 FIPS 模式有这个算法列入黑名单。在 crypto_larval_lookup () 函数中添加了一个条件,用于检查在返回前是否创建了 larval。
- BZ#1017505, BZ#1017506
- 端口自动选择代码中的以前更改允许共享没有冲突的端口,从而扩展其使用。因此,当启用 SO_REUSEADDR 套接字选项绑定套接字绑定时,bind (2)功能可以分配已经使用的临时端口。当出现 EADDRNOTAVAIL 错误代码时,后续的连接尝试会失败。这个版本应用了修改端口自动选择代码的补丁,以便 bind (2)现在选择一个非冲突端口,即使启用了 SO_REUSEADDR 选项。
- BZ#1017903
- 当审计子系统负载过重时,它可能会在 audit_log_start () 函数中循环,而不是切换到错误恢复代码。这可能导致内核中软锁定。在这个版本中,audit_log_start () 函数中的超时条件已被修改,以便在需要时正确故障切换。
- BZ#1020527
- 在以前的版本中,在系统中默认启用 power-limit 通知中断。这可能会导致系统性能降低,甚至会导致系统在某些平台上不可用,如 Dell PowerEdge 服务器。应用了补丁来默认禁用 power-limit 通知中断,并添加了一个新的内核命令行参数 "int_pln_enable",允许用户使用现有系统计数器观察这些事件。在控制台中不再显示电源限制通知消息。由于此问题,受影响的平台不再会降低系统性能。
- BZ#1023349
- 在以前的版本中,当用户为本地发送添加了 IPv6 路由时,路由无法正常工作,数据包无法发送。补丁已被应用,仅针对输入流限制邻居条目创建,从而修复此错误。因此,用于本地发送的 IPv6 路由现在可以正常工作。
- BZ#1028592
- 内核文件系统代码中的一个错误允许 d_splice_alias ()函数为已存在的非DISCONNECTED dentry 的目录创建一个新的 dentry。因此,访问目录的线程可能会尝试获取该目录上的 i_mutex 两次,从而导致死锁情况。要解决这个问题,d_splice_alias ()已被修改,以便在有问题的情况下,它重复使用现有的 dentry 而不是创建新的 dentry。
- BZ#1029423
- 内核的线程帮助程序之前使用了请求线程的许可证,而无需保存参考计数。如果在请求线程退出后帮助程序线程完成,这可能会导致 NULL pointer dereference 和后续内核 panic。在这个版本中,帮助程序线程在请求线程上包含引用计数,以便避免 NULL pointer dereference。
- BZ#1029901
- 由于 SELinux Makefile 中的一个错误,当指定了 "-j" 选项来执行具有多个并行作业的编译时,内核编译可能会失败。这是因为 SELinux 预期在编译某些依赖文件之前自动生成的文件"flask.h"。Makefile 已被修正,"flask.h"依赖项现在适用于 "selinux-y" 列表中的所有对象。现在,内核的并行编译会如预期成功。
5.135.2. RHBA-2013:1104 - 内核程序漏洞修复更新
程序错误修复
- BZ#969341
- 将虚拟 PCI 设备(如 virtio 磁盘、virtio 网络、e1000 或 rtl8139)添加到 KVM 客户机时,kacpid 线程会重新报 PCI 总线上所有设备的热插拔参数。当重新提升 VGA 或 QXL 图形设备的热插拔参数时,图形设备模拟请求清除客户机的 shadow 页表。在以前的版本中,如果客户机有大量且复杂的 shadow 页面表,清除操作需要大量时间,且客户机在几分钟后可能会变得无响应。这会导致超过"软锁定" watchdog 和 "BUG: soft lockup" 事件的阈值,guest 和主机内核都会记录。这个版本应用一系列处理此问题的补丁。KVM 的内存管理单元(MMU)现在避免在支持扩展页表(EPT)的处理器中创建多个页表 root。这可防止 guest 的影子页表在支持 EPT 的机器上变得过于复杂。MMU 现在只清除大型内存映射,这可减少处理器不支持 EPT 的机器上的情况。另外,解决了防止 KVM MMU 释放内存页面的空闲内存核算争用。
- BZ#972599
- 当 Active Item List (AIL)为空时,xfsaild 守护进程会移到一个任务 sleep 状态,它依赖于 xfsaild_push ()函数返回的超时值。最新的修改 xfsaild_push ()在 AIL 为空时返回 10-ms 值,这会将 xfsaild 设置为不可中断的睡眠状态(D 状态),以及 artificially 增加系统负载平均值。在这个版本中,通过将 timeout 值设置为允许的最大值 50 ms 来应用这个问题的补丁。这会将 xfsaild 移到可中断的睡眠状态(S 状态),避免对负载平均的影响。
- BZ#975577
- 以前应用的补丁在 ipoib_cm_destroy_tx ()函数中引入了一个错误,它允许在列表之间移动 CM 对象,而无需任何支持的锁定。在系统负载过重时,这可能导致系统崩溃。在这个版本中,重新尝试正确锁定 CM 对象来修复竞争条件,系统不会在负载过重时崩溃。
- BZ#976695
- * schedule_ipi ()函数在硬件中断上下文中调用,它会引发 SCHED_SOFTIRQ 软件中断来执行系统负载平衡。如果中断无法正常处理,Linux 中的软件中断可以在硬件中断返回时执行,或者由 ksoftirqd 守护进程处理。在以前的版本中,schedule_ipi ()函数的上下文没有标记为硬件中断,因此在执行 schedule_ipi ()时,可能会触发 ksoftirqd 守护进程。触发时,守护进程会尝试平衡系统负载。然而,负载均衡已被 SCHED_SOFTIRQ 软件中断执行,因此 ksoftirqd 守护进程试图平衡已经平衡的系统,从而导致 CPU 时间消耗过高。这个问题已通过添加 irq_enter () 和 irq_exit () 函数调用来调度 IPI 处理程序来解决,这样可保证 softirq_ipi ()正确标记为硬件中断,在出现 SCHED_SOFTIRQ 中断时不再触发 ksoftirqd 守护进程。
- BZ#977667
- read_swap_cache_async ()和 Memory 管理(mm)代码中的 get_swap_page ()函数之间的竞争条件可能会导致死锁情况。只有禁用内核抢占功能(!CONFIG_PREEMPT 参数),在支持块 DISCARD 和 TRIM 操作的设备上部署交换分区的系统上可能会出现死锁。如果 read_swap_cache_async () 函数被授予交换缓存中没有页面的 SWAP_HAS_CACHE 条目,则会在 scan_swap_map ()函数中执行 DISCARD 操作。因此,完成 I/O 操作被调度到运行 read_swap_cache_async ()的同一 CPU 的工作队列。这会导致 read_swap_cache_async ()中的线程循环其"-EEXIST"案例中,从而导致系统无响应。这个问题已通过向 read_swap_cache_async ()添加显式 cond_resched ()调用来解决,这允许其他任务在受影响的 CPU 上运行,从而避免死锁。
安全修复
- CVE-2013-0311, Important
- 在 vhost 内核模块处理跨越多个区域的描述符的方式中发现了一个安全漏洞。KVM 中的特权 guest 用户(基于内核的虚拟机)客户机可能会使用此缺陷使主机崩溃或可能在主机上升级其权限。
- CVE-2013-1773, Important
- 在 Linux 内核 FAT 文件系统实现的 utf8s_to_utf16s ()函数中的 UTF-16 中发现了一个缓冲区溢出缺陷。本地用户可以使用"utf8=1"选项挂载 FAT 文件系统,可能会使用此缺陷使系统崩溃,或者可能会升级其权限。
- CVE-2013-17 96, Important
- 当客户端通过写入 MSR_KVM_SYSTEM_TIME 机器状态寄存器(MSR)跨页面边界时,KVM 会处理客户机时间更新的方式。特权的客户机用户可以使用此缺陷使主机崩溃,或者可能会升级其权限,允许他们在主机内核级别执行任意代码。
- CVE-2013-17 97, Important
- 一个潜在的 use-after-free 缺陷,当 GPA (客户机物理地址)通过写入主机上的 MSR_KVM_SYSTEM_TIME 机器状态寄存器(MSR)将电网到托管用户空间进程(默认为 QEMU-KVM)的一个可移动或可移动内存区域时,KVM 会处理客户机时间更新。如果使用该内存区域从 KVM 使用 KVM_SET_USER_MEMORY_REGION 以及分配的虚拟内存重复使用,则特权客户机用户可能会利用此缺陷在主机上升级其权限。
- CVE-2013-1798,重要
- KVM 模拟 IOAPIC (I/O 高级编程中断控制器)的方式中发现了一个安全漏洞。ioapic_read_indirect ()函数中缺少验证检查,可以允许特权客户机用户使主机崩溃,或者读取大量主机内核内存。
- CVE-2012-4542, Moderate
- 它发现,默认的 SCSI 命令过滤器不适用于在设备类之间重叠的命令。一个特权的客户机用户可能会使用这个缺陷,将任意数据写入以只读方式传递的 LUN 中。
- CVE-2013-1767, Low
- tmpfs 实施中发现了一个无用后的缺陷。本地用户挂载和卸载 tmpfs 文件系统可能会使用这个缺陷导致拒绝服务或可能升级其权限。
- CVE-2013-1848, Low
- 在 Linux 内核的 ext3 文件系统的 ext3_msg () 函数中发现了一个格式字符串缺陷。可以挂载 ext3 文件系统的本地用户可能会使用这个缺陷导致拒绝服务或可能会升级其权限。
程序错误修复
- BZ#952612
- 当使用 pNFS (并行 NFS)代码时,在尝试恢复服务器重启时,文件锁定过程可能会进入死锁。这个更新引入了一个新的锁定机制,可以避免在这种情况下死锁的情况。
- BZ#955503
- 在映射任务时,be2iscsi 驱动程序以前泄漏驱动程序控制路径中的内存。这个更新会在任务完成后释放与任务相关的所有资源来解决内存泄漏。另外,在使用有效的 Target Transfer Tag (TTT)响应接收的 NOP-IN 确认后,驱动程序不会发布任务。因此,驱动程序缺少可用于会话的任务,且无法发出更多 iscsi 命令。补丁已被应用来修复这个问题。
- BZ#956295
- 虚拟文件系统(VFS)代码在 unlink 和 link 系统调用之间有一个竞争条件,允许创建硬链接来删除(未链接)文件。在某些情况下,这可能导致最终导致文件系统关闭的内节点崩溃。在 Red Hat Storage 对复制 Gluster 卷进行 rsync 操作期间,在 Red Hat Storage 中发现这个问题会导致 XFS 关闭。测试条件已添加到 VFS 代码中,防止创建到已删除文件的硬链接。
- BZ#956933
- lpfc 驱动程序中的一个错误允许从中断上下文中重新启用中断,以便中断处理程序可以重新进入中断上下文。中断上下文重新生成问题会导致内核堆栈崩溃,从而导致内核 panic。这个版本提供了一个补丁解决 re-entrance 问题,因此内核堆栈崩溃,且后续内核 panic 不会再发生。
- BZ#960410
- 在以前的版本中,当处理 open (2)系统调用时,GETATTR 例程不会检查是否也返回有效的属性。因此,open ()调用成功并显示无效的属性,而不是在这种情况下失败。在这个版本中,添加了缺少的检查,open ()调用仅在返回有效属性时才会成功。
- BZ#960416
- 在以前的版本中,如果 NFS RPC 任务正在等待 NFSv4 状态序列化锁可用,且会话插槽由 NFSv4 服务器保存,则可以进入死锁并变得无响应。在这个版本中解决了这个问题,以及 pNFS return-on-close 代码中的可能竞争条件。如果委派调用生效,也已修改 NFSv4 客户端,以不接受委派的 OPEN 操作。现在,当客户端使用 CLAIM_DELEGATE_CUR 开放模式时,客户端还会报告 NFSv4 服务器尝试返回委托。
- BZ#960419
- 在以前的版本中,fsync (2)系统调用错误地返回 EIO (Input/Output)错误,而不是 ENOSPC (设备中没有剩余空间)错误。这是因为页面缓存中的错误处理不正确。这个问题已被解决,现在会返回正确的错误值。
- BZ#960424
- 在 RPC 代码中,当网络套接字因为高网络流量而备份时,会设置计时器,从而导致生成大量网络流量。要防止这个问题,RPC 代码现在会等待套接字为空,而不是设置计时器。
- BZ#962367
- 在 "devloss" 超时和发现状态机器之间有一个罕见的竞争条件,可能会在 lpfc 驱动程序中触发一个错误,以相反的顺序嵌套两个级别的 spin 锁定。spin 锁定的反向顺序会导致死锁情况,系统变得无响应。在这个版本中,应用了补丁解决死锁问题,系统在这种情况下不再挂起。
- BZ#964960
- 当试图在多个 NIC 和 macvtap 设备的 hypervisor 上部署虚拟机时,可能会出现内核 panic。这是因为 macvtap 驱动程序无法正常处理,当 macvlan_port.vlans 列表为空并返回 NULL 指针时。这个版本应用了一系列补丁,它们使用 read-copy-update (RCU)机制修复此问题,并防止驱动程序返回一个 NULL pointer (如果列表为空)。在这种情况下,内核不再 panic。
5.135.4. RHBA-2013:0768 - 内核程序漏洞修复更新
程序错误修复
- BZ#911266
- Intel 5520 和 5500 芯片组无法正确处理 MSI 和 MSI-X 中断的重新映射。如果在具有此类芯片组的系统上启用了中断重新映射功能,则可能会出现各种问题和服务中断(例如,NIC 可能会停止接收帧),"kernel: do_IRQ: 7.71 No irq handler for vector (irq -1) " 错误消息会出现在系统日志中。这个问题的一个临时解决方案是,建议在此类系统上的 BIOS 中禁用中断重新映射功能,许多供应商都已更新其 BIOS 以禁用中断重新映射。但是,如果没有使用此功能正确关闭的 BIOS 级别,用户仍会报告这个问题。因此,这个更新会修改内核来检查这些系统上是否启用了中断重新映射功能,并为用户提供一个警告信息来关闭该功能并更新 BIOS。
- BZ#920264
- NFS 代码实施"静默重命名"操作,以处理进程持有的打开文件,而另一个进程尝试删除它。"silly rename" 操作根据"删除上次关闭"语义进行操作,因此在打开文件的最后一个进程关闭之前,不会释放该文件的索引节点。以前的 NFS 代码更新会破坏阻止 NFS 客户端删除静默条目的机制。当文件被另一个进程为 I/O 打开时,任何进程可以删除"删除上次关闭"语义和静默名称的文件。因此,读取文件的进程会失败,并显示 "ESTALE" 错误代码。在这个版本中,在最后一个为 I/O 打开的文件关闭之前,NFS 代码处理静默的文件和 sillyrenamed 文件的过程不能被删除。
- BZ#920267
- NFSv4 代码使用字节范围锁定来模拟 flock ()函数,该函数用于在打开文件中应用或删除专用公告锁定。但是,使用 NFSv4 字节范围锁定会阻止打开具有只读权限的文件,然后对该文件应用专用公告锁定。之前的补丁破坏了用来验证打开文件模式的机制。因此,系统变得无响应,如果文件处于只读权限打开并且尝试应用专用公告锁定,则系统会填充 "kernel: nfs4_reclaim_open_state: Lock reclaim failed!" 错误消息。在这个版本中,在尝试应用专用公告锁定前,修改 NFSv4 代码来检查打开的文件模式。如果锁定类型与文件模式不匹配,则返回"-EBADF"错误代码。
- BZ#921960
- 当在 XFS 文件系统上运行小型文件的高线程工作负载时,系统可能会变得无响应,或者可能会出现内核 panic。这是因为 xfsaild 守护进程有一个 Stle 代码路径,当 AIL 中的缓冲区已被锁定时,这会导致在 xfsaild 锁定中锁定,并尝试强制日志解锁它。此补丁删除了危险的代码路径,并将日志强制从与 xfsaild 相关的安全锁定上下文调用。此补丁还解决了缓冲区锁定和缓冲区固定状态之间的竞争条件,该状态会在锁定失败后重新检查缓冲区的状态来公开原始问题。系统不再挂起,在这种情况下内核不再 panic。
- BZ#923850
- 在以前的版本中,NFS Lock Manager (NLM)不会在 NFSv3 服务器重启恢复后重新发送阻塞锁定请求。因此,当应用程序在 NFSv3 挂载上运行并请求阻塞锁定时,应用程序会收到 "-ENOLCK" 错误。此补丁可确保 NLM 始终在宽限期过期后重新发送阻塞锁定请求。
- BZ#924838
- 在 mprotect ()函数中的 anon_vma 锁定中的一个错误可能会导致虚拟内存区域(vma)损坏。这个程序错误已被解决,在这种情况下不再发生虚拟内存区域损坏。
安全修复
- CVE-2012-3412, Important
- 在套接字缓冲区(skb)需要 TSO (TCP 段卸载)的方式中发现了一个安全漏洞。如果 skb 不适用于传输队列的最小大小,则网卡可以重复重置其自身。远程攻击者可以利用此漏洞导致拒绝服务。
程序错误修复
- BZ#856316
- 在带有大型区的光纤通道结构中,在传入的扩展链接服务(ELS)帧和任何适配器恢复上自动端口重新扫描可能会导致高流量,特别是许多 Linux 实例共享主机总线适配器(HBA),这在 IBM System z 架构上常见。这可能会导致各种故障,例如:名称服务器请求、端口或适配器恢复可能会失败。在这个版本中,只有在在线设置适配器或手动用户触发的写操作到 sysfs 属性 "port_rescan" 时,才会重新扫描端口。
- BZ#856686
- 在某些情况下,系统崩溃可能会导致 XFS 文件系统上的数据丢失。如果在文件系统长时间闲置前马上创建文件,然后系统崩溃,则这些文件可能会在文件系统重新挂载后显示为零长度。即使在文件上运行同步或 fsync,也会发生这种情况。这是因为 XFS 没有正确闲置日志,因此在系统崩溃后,它会错误地重新执行内节点分配事务,这会使文件大小为零。这个问题已通过重新生成定期日志闲置逻辑来确保在 30 秒修改内刷新所有元数据,并更新日志以防止发生不正确的恢复操作。
- BZ#856703
- 在具有 64 位 cputime_t 类型的架构中,可以在长期进程中触发 "divide by zero" 错误。补丁已被应用于解决这个问题,在这些情况下不再会出现 "divide by zero" 错误。
- BZ#857012
- Red Hat Enterprise Linux 6.3 版本提供的内核包括无序内核 ABI (kABI)中断,并涉及"contig_page_data"符号。不幸的是,这种分点不会导致校验和的更改。因此,使用这个符号的驱动程序可能会静默地破坏内核中的内存。在这个版本中,恢复之前的行为。注意在 Red Hat Enterprise Linux 6.3 早期发行版本过程中使用 "contig_page_data" 符号编译的所有驱动程序都需要为该内核重新编译。
- BZ#857334
- 在页表共享和虚拟内存区域(VMA) teardown 之间可能会出现竞争条件。因此,在关闭由巨页支持的内存片段的应用程序时,会显示多个 "bad pmd" 消息警告,并显示 "kernel BUG at mm/filemap.c:129"。在这个版本中,在 i_mmap_lock 下的 unmap_hugepage_range ()调用过程中明确清理 VM_MAYSHARE 宏。这使得 VMA 不符合共享,并避免竞争条件。使用巨页支持的共享片段后,数据库和缓存等应用程序会正确关闭,且没有崩溃。
- BZ#857854
- 使用 be2net 驱动程序时可能会出现内核 panic。这是因为,即使 Interrupt ReQuest (IRQ)已被禁用,BF 也会启用 Bottom Half (BF)。在这个版本中,BF 在 be_process_mcc ()函数的调用者中被禁用,且内核不再在此场景中崩溃。注意请注意,在某些情况下,在安装此更新后可能会遇到网卡没有响应的情况。将来的更新将更正此问题。
- BZ#858284
- 流控制传输协议(SCTP) ipv6 源地址选择逻辑没有考虑的首选源地址。在这个版本中,通过考虑这个方面,从路由表中选择源地址。这会使 SCTP 源地址选择使用 IPv4。
- BZ#858285
- 在此次更新之前,无法在路由中设置 IPv6 源地址,因为 IPv4 有可能使用 IPv4。在这个版本中,用户可以使用 "ip -6 route" 命令的 "src" 选项为特定 IPv6 路由选择首选源地址。
安全修复
- CVE-2012-2313, Low
- 在 Linux 内核的 dl2k 驱动程序中发现了一个安全漏洞,被某些 D-Link 千兆以太网适配器使用,受限制的 IOCTLs 使用。本地非特权用户可能会使用这个缺陷发出潜在的 IOCTLs 危害,这可能会导致使用 dl2k 驱动程序的以太网适配器出现故障(例如,丢失网络连接)。
- CVE-2012-2384, Moderate
- 在 Linux 内核中的 Intel i915_gem_do_execbuffer () 函数中的 i915_gem_do_execbuffer () 函数中发现了一个整数溢出缺陷。本地非特权用户可能会使用此缺陷导致拒绝服务。此问题只影响 32 位系统。
- CVE-2012-2390, Moderate
- 在设置了 MAP_HUGETLB 标志时,在 Linux 内核的内存子系统处理资源清理的方式中发现了一个内存泄漏漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务。
- CVE-2012-3430, Low
- 在 Linux 内核 Reliable Datagram Sockets (RDS)协议实现的 rds_recvmsg () 函数中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷将内核堆栈内存泄漏到用户空间。
- CVE-2012-3552, Moderate
- 在 Linux 内核的 TCP/IP 协议套件中实施同步访问 inet->opt ip_options 的方式中发现了一个竞争条件。根据系统中运行的面向网络的应用程序,远程攻击者可以触发此漏洞,从而导致拒绝服务。本地非特权用户可能会使用此缺陷导致拒绝服务,无论系统运行的应用程序是什么。
程序错误修复
- BZ#812962
- 在以前的版本中,在崩溃后,准备切换到 kdump 内核可能会在罕见的情况下与 IRQ 迁移竞争,从而导致 ioapic_lock 变量死锁。因此,kdump 变得无响应。竞争条件已被修复,切换到 kdump 不再会导致在这种情况下挂起。
- BZ#842757
- xmit 数据包大小之前是 64K,超过 be2net 卡的硬件功能,因为大小没有考虑以太网标头。因此,适配器无法处理超过这个大小的 xmit 请求,从而导致错误信息,并可能会变得无响应。为防止这些问题,GSO (Generic Segmentation Offload)最大大小已减小到以太网标头。
- BZ#842982
- 当 netconsole 模块通过网桥配置并且执行 "service network restart" 命令时,可能会出现死锁,从而导致内核 panic。这是因为在网络接口取消注册期间由网桥和 netconsole 代码递归 rtnl 锁定所致。在这个版本中,rtnl 锁定用量已被修复,内核不会在此场景中崩溃。
- BZ#842984
- 当使用通过主系统网桥配置的 netconsole 模块的虚拟化时,guest 无法添加到网桥,因为TAP 接口不支持 netpoll。在这个版本中,增加了对 TUN/TAP 接口的 netpoll 的支持,以便虚拟化设置中的网桥设备可以使用 netconsole。
- BZ#843102
- 在某些情况下,未签名的值比较可能会导致调用超级的 reshed_task () 例程,从而导致调度程序中的多个不必要的周期。这个问题已被解决,防止调度程序中的不必要的周期。
- BZ#845464
- 如果在 LVM 或者其它堆栈块设备下使用了 RAID1 或 RAID10,则可以在重新同步或恢复操作过程中输入死锁。因此,md RAID 设备可能会在某些工作负载中变得无响应。这个版本可避免死锁,以便 md RAID 设备在以下情况下按预期工作。
- BZ#846216
- 在以前的版本中,即使函数包含禁用的软 IRQs,在 bond_alb_xmit () 函数下软中断请求(IRQ)也会被锁住。这可能导致系统变得无响应,或意外终止。在这个版本中,这些 IRQ 不再被禁用,系统在这种情况下不再挂起或崩溃。
- BZ#846832
- 在以前的版本中,绑定到 NFS 服务器的 TCP 套接字包含过时的 skb_hints 套接字缓冲。因此,内核可能会意外终止。现在,提供了一个补丁来解决这个问题,可以从套接字正确清除 skb_hints,从而防止这个错误。
- BZ#846836
- 由于软件 RAID 代码中锁定方案不正确,可能会出现竞争条件。因此,这可能会导致 mkfs 工具在软件 RAID5 上创建 ext4 文件系统时变得无响应。在这个版本中,在 handle_stripe () 函数中引入了一个锁定方案,可确保不再发生竞争条件。
- BZ#846838
- 当设备在运行时添加到系统时,AMD IOMMU 驱动程序会初始化必要的数据结构,以处理它的转换。在以前的版本中,每个设备 dma_ops 结构类型没有改为指向 AMD IOMMU 驱动程序,因此没有执行映射,并使用 IO_PAGE_FAULT 消息终止的直接内存访问(DMA)。因此,这会导致网络问题。在这个版本中,结构类型可以正确地指向 AMD IOMMU 驱动程序,在使用 AMD IOMMU 驱动程序时网络可以正常工作。
- BZ#846839
- 由于 dm-mirror 驱动程序中的错误,当在带有丢弃支持(通常是 SSD 磁盘)的磁盘上使用 LVM 镜像时,修复此类磁盘会导致系统意外终止。驱动程序中的错误已被修复,使用 discard 支持修复磁盘现在可以成功。
- BZ#847042
- 在带有暂停循环退出(PLE)或带有暂停过滤(PF)的 AMD 系统中,大型多 CPU KVM 客户机可能会遇到缓慢和软锁定。由于 kvm_vcpu_on_spin 中的边界条件,所有 VCPU 数都可能会尝试生成 VCPU0,导致运行客户机的 VCPU0 的运行队列锁定上争用。这个版本消除了 kvm_vcpu_on_spin 中的边界条件。
- BZ#847045
- 在以前的版本中,使用 e1000e 驱动程序可能会导致内核 panic。这是因为在适配器关闭并同时重置时发生的 NULL pointer dereference。驱动程序的源代码已被修改来解决这个问题,内核不会在此场景中崩溃。
- BZ#847727
- 在 PowerPC 构架中,"top"工具为 CPU 空闲时间、延迟和工作负载显示不正确的值。这是因为之前在 I/O 等待和空闲时间使用的更新导致,但更改不会考虑不同的单元和 CPU 时间。现在,这些区别被考虑,"top"工具在 PowerPC 构架上会显示正确的值。
- BZ#847945
- 由于缺少返回语句,nfs_attr_use_mounted_on_file ()函数返回错误的值。因此,可能会返回冗余 ESTALE 错误。在这个版本中,为 nfs_attr_use_mounted_on_file ()添加正确的返回语句,从而防止这个错误。注意这个程序错误只会影响 NFS 版本 4 文件系统。
- BZ#849051
- 在 dlm_controld 守护进程通过 configfs 文件系统与 dlm_send 进程查找 configfs 中的新连接的地址之间有时会出现死锁。在这个版本中,节点地址保存在 lowcomms 代码中,以便低comms 工作队列不需要使用 configfs 获取节点地址。
- BZ#849551
- 当只因为写系统调用而停止数据(而不是元数据(如文件大小)时,GFS2 文件系统上的 O_DSYNC 的性能会受到影响。这是因为 O_DSYNC 写入始终与 O_SYNC 相同。在这个版本中,如果内节点的元数据没有脏,O_DSYNC 只写入后端数据。在这种情况下,这会显著提高性能。请注意,此问题不会影响数据完整性。同样的问题也适用于写入和 fdatasync 调用的对。
- BZ#851444
- 如果将镜像或重定向操作配置为使数据包进入另一个设备,则分类器会包含引用计数。但是,之前假设管理员在删除前清理所有重定向。因此,如果镜像的设备不存在,数据包会被丢弃,并可能会丢失到主机的连接。要防止这个问题,在 unregister 操作过程中会运行一个通知程序和清理程序。如果镜像的设备不存在,则不会丢弃数据包。
- BZ#851445
- 内核包含将直接内存访问(DMA)模式列入黑名单"2GB ATA Flash Disk"设备的规则。但是,这个设备 ID 字符串不包含在名称开头的空格。因此,该规则无法与设备匹配,且无法禁用 DMA 模式。在这个版本中,字符串可以正确地读取 " 2GB ATA Flash Disk",规则可以如预期匹配。
5.135.7. RHBA-2012:1104 - 内核程序漏洞修复更新
程序错误修复
- BZ#836904
- 在以前的版本中,对只读(RO)内存映射的 futex 操作无法正常工作。这会破坏在只读共享文件映射中的一个或多个读取程序执行 FUTEX_WAIT 操作的工作负载,以及执行 FUTEX_WAKE 操作的可写映射的写器进程。在这个版本中,FUTEX_WAKE 操作使用 RO MAP_PRIVATE 映射执行,如果另一个进程更新底层映射文件的区域,则成功执行。
- BZ#837218
- 删除绑定模块时,绑定驱动程序使用独立于 net 设备操作的代码来清理 VLAN 代码。最近对内核的更改引入了一个程序错误,如果删除了 bonding 模块后删除了 vlan 模块,则会导致内核 panic。要解决这个问题,在 bonding kill_vid 路径中找到的 VLAN 组删除操作现在会在删除绑定模块时使用的备用路径中重复。
- BZ#837227
- 添加 VLAN 标识符(VID)的绑定方法并不总是将 VID 添加到从属 VLAN 组中。当从上没有设置 NETIF_HW_VLAN_FILTER 标志时,绑定模块无法向其添加新的 VID。这可能会导致网络问题和系统无法访问,即使 NIC 信息没有显示任何问题。在这个版本中,绑定 VID 添加路径总是向从设备添加新的 VID (如果 VID 不存在)。这样可确保在此场景中不再发生网络问题。
- BZ#837843
- 在以前的版本中,在从设备添加和删除绑定路径中引用计数是不平衡的。如果网络接口控制器(NIC)不支持 NETIF_F_HW_VLAN_FILTER 标志,则 bond_add_vlans_on_slave ()和 bond_del_vlans_on_slave ()功能无法正常工作,如果删除了 VLAN 模块,这可能会导致内核 panic。添加和删除从属和 VLAN 的基本源代码已被修改,现在还包含一个通用路径,因此上面描述的场景中不再发生内核崩溃。
安全修复
- CVE-2012-4398, Moderate
- 它发现,死锁可能会在内存不足(OOM)终止程序中发生。进程可以通过消耗大量内存来触发此死锁,然后导致调用 request_module ()。本地非特权用户可能会使用此缺陷导致拒绝服务(专用内存消耗)。
- CVE-2012-4461, Moderate
- 在 KVM (基于内核的虚拟机)子系统处理客户机的方式中发现了一个安全漏洞,它被用来处理尝试使用 X86_CR4_OSXSAVE CPU 功能集运行的客户机。在没有 XSAVE CPU 功能的主机上,本地的非特权用户可能会使用此缺陷使主机系统崩溃。("grep --color xsave /proc/cpuinfo"命令可用于验证您的系统是否具有 XSAVE CPU 功能。)
- CVE-2012-4530, Low
- 在 binfmt_script 二进制格式处理程序中的 load_script ()函数的方式中发现了一个内存披露漏洞,处理过量递归。本地非特权用户可以通过执行特殊编写的脚本,将内核堆栈内存泄漏到用户空间。
程序错误修复
- BZ#846840
- 当 NFSv4 客户端收到读取委托时,会发生 OPEN 和 DELEGRETURN 操作之间的竞争。如果先处理 DELEGRETURN 操作,则 NFSv4 客户端将以下 OPEN 返回的委派视为新的委派。另外,NFSv4 客户端无法正确处理由使用错误或撤销状态 ID 的请求导致的错误。因此,在客户端上运行的应用程序可能会收到错误的 EIO 错误。这个版本应用一系列补丁来修复 NFSv4 代码,以便在上述情况下正确恢复 NFSv4 客户端,而不是向应用程序返回错误。
- BZ#865305
- 用户空间(FUSE)中的文件系统没有最佳实现 scatter-gather 直接 I/O。因此,内核必须处理大量 FUSE 请求,这会影响系统性能。这个版本应用一组补丁,改进了其他功能的内部请求管理,如 readahead。FUSE 直接 I/O 开销显著降低,以最大程度降低系统性能的负面影响。
- BZ#876090
- 如果是常规 CPU 热插拔事件,内核不会保留原始 cpuset 配置,并可将正在运行的任务重新分配到活动的 CPU。在以前的版本中,内核将挂起和恢复模式间切换作为常规 CPU 热插拔事件,这可能会对某些环境中的系统性能造成显著负面影响,如 SMP KVM 虚拟化。当从挂起模式恢复 SMP KVM 客户机时,libvirtd 守护进程及其所有子进程都固定到单个 CPU (引导 CPU),以便所有虚拟机只使用单个 CPU。这个版本应用了一组补丁,以确保内核在挂起和恢复操作过程中不会修改 cpusets。现在,在暂停不降低任何性能的情况下,系统会在挂起前以准确状态恢复。
- BZ#878774
- 在以前的版本中,因为传输问题和命令超时导致,内核无法区分设备 I/O 失败。I/O 错误总是会导致设备离线设置,且必须手动上线设备,即使因为传输问题导致 I/O 故障发生。在这个版本中,SCSI 驱动程序已被修改,并添加了一个新的 SDEV_TRANSPORT_OFFLINE 状态,以帮助区分另一个 I/O 故障导致的传输问题。现在,传输错误会以不同的方式处理,存储设备现在可以在用户不干预的情况下从这些故障中恢复。
- BZ#880085
- 在以前的版本中,IP over Infiniband (IPoIB)驱动程序通过将其附加到核心网络的邻居结构来维护有关网络上邻居的状态信息。但是,由于核心网络邻居结构空闲和 IPoIB 网络结构的空闲条件之间的竞争条件,因此发生在空闲条件后可能会发生使用,从而导致内核 oops 或 4 或 8 字节的内核内存在不应为零时为零。这些补丁使 IPoIB 邻居结构与核心网络堆栈的邻居结构分离,因此没有相互释放的空闲和释放之间的竞争。
- BZ#880928
- 当创建新的 rpc_task 时,代码会引用 rpc_cred,并将 task->tk_cred 指针设置为它。调用完成后,rpc_task 保存的资源会被释放。但是,在发布了 rpc_cred 后,指向它的指针不会为零。这会导致flow 下的 rpc_cred 引用计数,因此出现内核 panic。在这个版本中,指向 rpc_cred 的指针被正确为零,这可以防止在这个场景中出现内核 panic。
- BZ#884422
- 在以前的版本中,HP Smart Array 驱动程序(hpsa)使用 target reset 功能。但是,HP Smart Array 逻辑驱动器不支持目标重置功能。因此,如果目标重置失败,逻辑驱动器会离线,并显示文件系统错误。hpsa 驱动程序已更新为使用 LUN 重置功能而不是目标重置,这些驱动器支持这个驱动器。
- BZ#886618
- 以前,绑定驱动程序不符合底层网络接口请求的数据包和片段的最大通用分段卸载(GSO)长度。这会导致底层 NIC 的固件(如 be2net)变得无响应。在这个版本中,修改绑定驱动程序,在附加和分离设备时设置网络设备的最低 gso_max_size 和 gso_max_segs 值。网络驱动程序不再挂起,网络流量现在会使用绑定接口在设置中按预期进行。
- BZ#886760
- 在以前的版本中,在系统启动过程中附加 IRQ 行后,qla2xxx 驱动程序的中断处理程序可能会清除待处理的中断。因此,内核可能会丢失报告链接初始化的中断,qla2xxx 驱动程序然后无法检测所有附加的 LUN。在这个版本中,qla2xxx 驱动程序已被修改,在附加 IRQ 行后不再清除中断位。驱动程序现在可以正确地检测到所有附加的 LUN。
- BZ#888215
- 当在带有多个 TX 环的 Broadcom BCM5719 网络接口控制器(NIC)上使用 TCP 段卸载(TSO)或巨型数据包时,这些 TX 环中的简单循环硬件调度可能会耗尽小型数据包,从而降低网络性能。为确保所有 NIC 的合理的网络性能,现在默认禁用多个 TX 环。
- BZ#888818
- 由于处理死的输入/输出控制器(IOC)不足,mpt2sas 驱动程序可能会在 64 位 IBM PowerPC 机器上对某些 PCI 总线故障进行增强的 I/O 错误处理(EEH)恢复。在这个版本中,当检测到死的 IOC 时,EEH 恢复例程有更多时间来解决失败,并且处于非运行状态的控制器会被删除。
- BZ#891580
- n_tty_read ()和 reset_buffer_flags () 函数之间可能的竞争可能会导致在某些情况下 n_tty_read ()函数中的 NULL pointer dereference 导致 NULL pointer dereference。因此,在串行控制台上中断当前任务时,可能会触发内核 panic。这个版本修改了 tty 驱动程序,以使用 spin 锁定以防止功能并行访问变量。NULL pointer dereference 导致内核 panic 不再发生。
安全修复
- CVE-2012-2744, Important
- 在 Linux 内核的 netfilter IPv6 连接跟踪实现中的 nf_ct_frag6_reasm ()函数中发现了一个 NULL pointer dereference 缺陷。一个远程攻击者可以使用这个缺陷将特殊设计的数据包发送到使用 IPv6 的目标系统,并载入 nf_conntrack_ipv6 内核模块,从而导致它崩溃。
- CVE-2012-2745, Moderate
- 在 Linux 内核的密钥管理功能处理进程分叉上的替换会话密钥环的方式中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务。
程序错误修复
- BZ#832359
- 在以前的版本中,在文件名中引入了新 Realtek 芯片组所需的固件文件("rtl_nic_nic_"),如 "/lib/firmware/rtl_nic/rtl_nic_rtl8168d-1.fw"。在这个版本中修正了这些文件名。例如,上述文件现在正确命名为 "/lib/firmware/rtl_nic/rtl8168d-1.fw"。
- BZ#832363
- 这个更新将 2GB ATA Flash 磁盘设备的 ADMA428M 修订列入黑名单。这是因为在使用 Ultra-DMA 66 传输模式时在上述设备上发生数据崩溃。当设置了 "libata.force=5:pio0,6:pio0" 内核参数时,上述设备可以正常工作。
- BZ#832365
- 在 Red Hat Enterprise Linux 6 中,挂载 Windows 2012 服务器的 NFS 导出会失败,因为 Windows 服务器包含对 NFS 版本 4 协议的次要版本 1 (v4.1)的支持,以及对版本 2 和 3 的支持。缺少次版本 0 (v4.0)支持会导致 Red Hat Enterprise Linux 6 客户端失败,而不是按预期回滚到版本 3。在这个版本中解决了这个程序错误,挂载 NFS 导出可以正常工作。
- BZ#833034
- 在 ext4 文件系统上,由于大于 4 GB 的 ENOSPC 条件(没有剩余空间),则文件的大小已损坏,因此会导致文件系统损坏。这是因为 "ext4_fallocate ()" 函数中缺少 cast 运算符。在这个版本中,底层源代码已被修改来解决这个问题,文件系统崩溃不再发生。
5.135.10. RHBA-2012:1199 - 内核程序漏洞修复更新
程序错误修复
- BZ#840950
- 在以前的版本中,在内核中启动 leap second hrtimer 时,内核可能会在 xtime_lock 变量中进行实时锁定。在这个版本中,使用单独的子系统锁定(timekeeping 和 ntp)并删除 xtime_lock 变量来解决这个问题,从而避免了内核中可能出现的实时锁定场景。
- BZ#847366
- 插入了秒后,调用使用 futexes 的系统调用的应用程序消耗了几乎 100% 的可用 CPU 时间。这是因为内核的时间保持结构更新没有正确更新。futexes 重复过期,被刷新,然后再次过期。在这个版本中,通过调用 clock_was_set_delayed ()函数来正确地更新 futex 过期时间解决了这个问题,这是 clock_was_set ()函数的 interrupt-safe 方法。
5.135.11. RHSA-2012:1156 - Moderate: 内核安全和程序错误修复更新
安全修复
- CVE-2012-2383, Moderate
- 在 Linux 内核中的 Intel i915 驱动程序中的 i915_gem_execbuffer2 ()函数中发现了一个整数溢出缺陷。本地非特权用户可能会使用此缺陷导致拒绝服务。此问题只影响 32 位系统。
- CVE-2011-1078, Low
- Linux 内核的蓝牙实施中的 sco_sock_getsockopt_old () 函数中发现了一个缺少的初始化缺陷。本地非特权用户可能会使用此缺陷导致信息泄漏。
程序错误修复
- BZ#832360
- writeback livelock 避免方案中的一个错误可能会导致一些脏数据在同步操作期间不会被写入磁盘。特别是,这偶尔可能会在卸载时发生,当之前写入的文件数据没有同步时,在文件系统被重新挂载后不可用。补丁已应用于解决这个问题,所有脏文件数据现在在卸载时同步到磁盘。
- BZ#838821
- 在 Red Hat Enterprise Linux 6.1 和 6.2 间更新 be2net 驱动程序的过程中,NETIF_F_GRO 标志被错误地删除,因此默认禁用 GRO (Generic Receive Offload)功能。在基于 Red Hat Enterprise Linux 6.2 的 OpenVZ 内核中,这会导致大量流量减少。要防止这个问题,底层源代码中包含 NETIF_F_GRO 标志。
- BZ#840023
- 在以前的版本中,桥接的多播 IGMP (互联网组管理协议)侦听哈希表的大小限制为 256 个条目,即使最大值为 512。这是因为,哈希表大小被错误地与最大散列表大小( hash_max)进行比较,且内核可能生成以下信息:
Multicast hash table maximum reached, disabling snooping: vnet1, 512
在这个版本中,hash table 值会被正确与 hash_max 值进行比较,在这些情况下不再会出现错误消息。 - BZ#840052
- 在 ext4 文件系统中,在使用直接 I/O 时分割不写扩展可能无法将修改的扩展标记为脏,从而导致多个扩展声明来映射同一块。这可能会导致内核或 fsck 报告错误,因为在特定内节点中检测到多声明的块。在用于直接 I/O 的 ext4_split_unwritten_extents ()函数中,包含修改的扩展的缓冲现在在所有情况下都被正确标记为 dirty。由于内节点中的多声明块错误,应该不再为使用直接 I/O 的应用程序发生。
- BZ#840156
- 对于某些交换机对等点和固件,因为处理 DCBX (数据中心桥接交换)的方式,可能会发生过量链接 flaps。要防止链接 flaps,进行了更改以便更详细地检查功能,只有在功能已更改时才会初始化硬件。
- BZ#841406
- 之前在 ipw2200 驱动程序的 KConfig 中定义的 CONFIG_CFG80211_WEXT 配置选项已使用最近更新删除。这会导致驱动程序的构建失败。驱动程序不再依赖于 CONFIG_CFG80211_WEXT 选项,因此可以成功构建。
- BZ#841411
- 将支持 VMX "Unrestricted Guest" 功能的 Intel 主机迁移到没有这个功能的旧主机可能会导致 kvm 返回实际模式下客户机的 "unhandled exit 80000021" 错误。底层源代码已被修改,以便在禁用或不支持"Unrestricted Guest"的主机上成功完成。
- BZ#841579
- 在以前的版本中,如果内核中启用了动态 ticks,则 /proc/stat 代码被修改为使用 get_cpu_idle_time_us ()和 get_cpu_iowait_time_us () 宏。这可能会导致 IBM System z 架构的问题,该架构定义 arch_idle_time ()宏。例如,执行 "vmstat" 命令可能会失败,并显示"Floating point exception",后跟内核转储。底层源代码已被修改,arch_idle_time ()宏用于闲置和 iowait 时间,这样可防止上述问题。
- BZ#842429
- 绑定 master 和 slave 现在有单独的 VLAN 组。因此,如果从属设备出现导致故障转移的网络事件,VLAN 设备可能会错误地处理此事件。在这个版本中,当 VLAN 附加到主设备时,它会忽略从 devicec 生成的事件,以便 VLAN 在绑定 master 前不会停机。
安全修复
- CVE-2012-2375, Moderate
- 它发现 RHSA-2012:0862 更新没有正确修复 CVE-2011-4131 问题。一个恶意网络文件系统版本 4 (NFSv4)服务器可能会返回针对 GETACL 请求的回复,从而导致客户端上的拒绝服务。
- CVE-2012-4565, Moderate
- 在 Linux 内核中的 TCP Illinois 拥塞控制算法实现中发现了一个按零的缺陷。如果使用 TCP Illinois congestion 控制算法(将 sysctl net.ipv4.tcp_congestion_control 变量设置为 "illinois"),则非特权用户可能会触发此缺陷并导致拒绝服务。
- CVE-2012-5517, Moderate
- 在向其他节点的 zonelist 传播新节点热添加内存的方式中发现了一个 NULL pointer dereference flaws。通过使用来自其中一个剩余节点的这个新添加的内存,本地的非特权用户可能会使用这个缺陷导致拒绝服务。
- CVE-2012-2100, Low
- 它发现,Red Hat Enterprise Linux 6 的初始发行版本没有正确修复 CVE-2009-4307 问题,在 ext4 文件系统代码中有一个按零个缺陷。挂载 ext4 文件系统的本地非特权用户可能会使用此缺陷导致拒绝服务。
- CVE-2012-4444, Low
- 在 Linux 内核的 IPv6 实现处理重叠、碎片化 IPv6 数据包的方式中发现了一个安全漏洞。远程攻击者可以利用此漏洞在将网络数据包发送到目标系统时绕过保护机制(如防火墙或入侵检测系统(IDS))。
程序错误修复
- BZ#853950
- 内核允许高优先级实时任务,如使用 SCHED_FIFO 策略调度的任务,以便节流。在以前的版本中,CPU 停止任务被调度为高优先级的实时任务,因此可以相应地节流。但是,代表代表清除任务节流标记的 replenishment 计时器可能会在刚刚禁用的 CPU 上处于等待状态。这可能会导致严重的任务从不会调度运行。因此,如果需要执行任何此类任务来完成 CPU 禁用,系统会变得无响应。在这个版本中,引入了一个新的调度程序类,它为任务赋予最高可能的系统优先级,因此无法节流任务。stop-task 调度类现在用于 CPU 停止任务,系统关闭在描述的场景中按预期完成。
- BZ#864826
- 当块设备大小改变并同时发出 I/O 操作时,会出现内核 panic。这是因为直接和非直接 I/O 代码编写为假设块大小不会改变。这个更新引入了一个新的读写锁定 bd_block_size_semaphore。锁定在 I/O 操作期间进行读取,并在更改设备的块大小时写入。因此,在提交 I/O 时无法更改块大小。这可防止内核在上述场景中崩溃。
- BZ#866470
- 以前的内核更新引入了一个程序错误,在使用 0.90 元数据时导致 RAID0 和线性阵列大于 4 TB。底层源代码已被修改,在 md RAID0 中不再截断大于 4 TB 的 0.90 RAID0 和线性阵列。
- BZ#866795
- mlx4 驱动程序必须对 mlx4 卡进行编程,以便可以解析要侦听的 MAC 地址,包括多播地址。因此,mlx4 卡保留可信 MAC 地址列表。通过清空整个列表并在所有地址中编程,用来对卡上执行此列表的驱动程序。因此,每当用户添加或删除多播地址或将卡置于 promiscuous 模式时,卡的完整地址列表都会被重新编写。这引入了一个竞争条件,当数据包在应该侦听的地址上时导致数据包丢失,但还没有重新编程为侦听。在这个版本中,驱动程序不再重写卡中的可信 MAC 地址的完整列表,但维护当前被编程到卡中的地址列表。在地址上,只有新地址添加到列表的末尾,在删除时,只有 to-be-removed 地址会从列表中删除。mlx4 卡不再遇到描述的竞争条件,数据包在此场景中不再被丢弃。
- BZ#871854
- 如果没有使用 semaphore 的活跃的线程,则阻塞的线程应该会被取消阻塞。在以前的版本中,R/W semaphore 代码会寻找一个 semaphore 计数器作为整体到达零(这不正确),因为至少有一个线程通常在 semaphore 上排队,计数器被标记为反映这一点。因此,当应用程序在 XFS 文件系统中使用直接 I/O 时,系统可能会变得无响应。在这个版本中,只检查活跃 semaphores 的数量,从而防止在这种情况下挂起。
- BZ#874022
- 由于 bnx2x_start_xmit 和 bnx2x_tx_int 函数中的测试条件中的一个 off-by-one 错误,在一些情况下,NIC 的 TX 队列可能会被恢复。因此,使用 bnx2x 驱动程序的 NIC (如 Broadcom NetXtreme II 10G 网络设备)离线。要使 NIC 重新在线,必须重新加载 bnx2x 模块。在这个版本中,使用 bnx2x 驱动程序修正了上述功能和 NIC 中的测试条件,在上述场景中可以正常工作。
- BZ#876088
- 如果中止请求超时到虚拟光纤通道适配器,则 ibmvfc 驱动程序将启动适配器的重置。但是,ibmvfc 驱动程序错误地将成功返回到 eh_abort 处理程序,然后向同一命令发送响应,这会导致 IBM System p 机器的内核 oops。在这个版本中,确保在退出 en_abort 处理程序前,中止请求和被中止的请求都已完成,且在这种情况下不再发生内核 oops。
- BZ#876101
- hugetlbfs 文件系统实现在 gather_surplus_pages ()函数中缺少一个正确锁定巨页的保护。因此,hstate.hugepages_freelist 列表被破坏,这会导致内核 panic。在这个版本中,调整代码,以便使用的 spinlock 保护现在保证在处理 hstate.hugepages_freelist 时对 enqueued 巨页的安全保证了原子性和安全。在这种情况下,内核不再 panic。
- BZ#876487
- 使用 Data Integrity Field (DIF)类型 2 保护为设备分配更大的命令描述符块(CDB)。CDB 在 sd_done ()函数中释放,这会导致在某些错误恢复情况下命令需要重试时出现内核 panic。在这个版本中,在 sd_unprep_fn ()函数中会释放更大的 CDB。这可防止内核 panic 发生。
- BZ#876491
- 以前,NIC 的套接字缓冲区(SKB)分配是节点感知的,即,内存在最接近 NIC 的节点上分配。这提高了系统性能,因为所有 DMA 传输都是在本地处理的。对于具有较低帧传输率的网络来说,这是很好的解决方案,其中本地节点的 CPU 可以正确处理单个 NIC 的所有流量。但是,在使用 10Gb 以太网设备时,一个节点的 CPU 通常无法有效地处理单个 NIC 的所有流量。因此,即使 DMA 传输是由节点本地到 NIC 的处理,系统性能不佳。这个版本修改了内核,允许在运行接收流量的应用程序的节点上分配 SKB。这样可确保 NIC 的流量根据需要由许多 CPU 处理,并且因为分配后 SKB 非常频繁地访问,因此内核现在可以更有效地操作,即使可以跨节点传输 DMA。
- BZ#876493
- 在 AMD 系统上执行 PCI 设备分配时,使用分配的设备的虚拟机无法引导,因为设备已失败,使设备处于不可用状态。这是因为一个不正确的范围检查,在 PCI 子系统或树中省略了最后一个 PCI 设备。检查已被修复,在 PCI 子系统或树中包含完整的 PCI 设备范围。在这个版本中,当将 PCI 子系统中的最后一个设备分配给 AMD 主机系统中的虚拟机时,避免了虚拟机的引导失败。
- BZ#876496
- mmap_rnd ()函数应该返回 [0x00000000 .32 位 x86 系统上 0x000FF000] 范围。这个行为用于通过解决 CVE-2012-1568 问题的 bug 修复来随机化共享库的基本负载地址。但是,由于签名 bug,mmap_rnd ()函数可能会返回超出预期范围的值。因此,共享库基本地址可能小于一兆字节。这可能导致在进程地址空间(通常使用 vm86 功能的程序)中的 MAP_FIXED 映射的二进制文件无法正常工作。在这个版本中,将 mmap_rnd () 函数修改为 get_random_int ()函数返回的值到长数据类型。现在,上述二进制文件在此场景中可以正常工作。
- BZ#876499
- 在以前的版本中,在某些情况下,XFS 可能会错误地在 XFS 日志恢复过程中从日志中读取元数据。因此,XFS 日志恢复终止并显示出错信息,并阻止挂载文件系统。如果用户强制"零"日志,则可能会出现数据丢失,以允许挂载文件系统。在这个版本中,确保从日志中正确读取元数据,以便日志恢复可以成功完成,文件系统挂载如预期。
- BZ#876549
- 有些 BIOS 固件版本可能会使 PIPECONF 注册的"Frame Start Delay"位保留在所选 Intel 芯片组上的测试模式中。因此,某些 Lenovo 笔记本电脑系列上的视频输出(如 T41x 或 T42x)已损坏(例如,在将 VBIOS 从版本 2130 升级到 2132 后显示)并转移到右侧。在这个版本中,通过为 DRM 驱动程序中使用的正常操作重置"Frame Start Delay"位修正了问题。现在,受影响的 Lenovo 模型的视频输出是正确的。
功能增强
- BZ#877950
- 当 ip_options 结构使用 kmalloc ()函数直接分配 ip_options 结构时,INET 套接字接口已被修改来发送警告信息。
5.135.13. RHSA-2012:1426 - Moderate: 内核安全和程序错误修复更新
安全修复
- CVE-2012-2133, Moderate
- 在 Linux 内核的内存管理子系统中发现了一个 use-after-free 缺陷,它是在执行巨页的配额处理过程中发现的。本地非特权用户可能会使用此缺陷导致拒绝服务或可能升级其特权。
- CVE-2012-3511, Moderate
- 在 Linux 内核中的 madvise ()系统调用实现中发现了一个 use-after-free 安全漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务或可能升级其特权。
- CVE-2012-1568, Low
- 找到,在运行使用大量共享库的 32 位二进制文件时,其中一个库总是在内存中的可预测地址载入。攻击者可以利用此漏洞绕过地址空间布局随机化(ASLR)安全功能。
- CVE-2012-3400, Low
- 在 Linux 内核的通用磁盘格式(UDF)文件系统的 udf_load_logicalvol () 函数中发现缓冲区溢出漏洞。具有物理访问系统的攻击者可能会使用这些漏洞导致拒绝服务或升级其权限。
程序错误修复
- BZ#865713
- 在以前的版本中,当检测到 Intel Enhanced Host Controller Interface (EHCI)设备时,I/O watchdog 功能会被禁用。这可能会导致在添加或删除后对 USB 设备进行错误检测。另外,在某些情况下,即使检测到这样的设备,但它们无法正常工作。I/O watchdog 功能现在可以在内核命令行中启用,这可以提高底层系统上的硬件检测。
- BZ#864821
- usb_device_read () 例程使用 bus->root_hub 指针来决定 root hub 是否已注册。但是,这个测试无效,因为指针在 root hub 注册并保持设置前被设置,即使 root hub 被取消注册和取消分配后仍然被保留。因此,usb_device_read ()例程访问空闲的内存,从而导致内核 panic;例如,在 USB 设备删除。在这个版本中,hcs->rh_registered 标志 - 在测试中使用适当时间设置和清除 -,在这种情况下不再发生内核 panic。
- BZ#853257
- 在以前的版本中,当服务器试图关闭套接字时,如果整个回复无法传输,则 svc_tcp_sendto () 函数会设置 XPT_CLOSE 变量。但是,在进行 XPT_CLOSE 之前,其他线程可以在套接字真正关闭前发送进一步回复。因此,数据崩溃可能会在 RPC 记录标记中发生。在这个版本中,在关闭套接字上发送操作会立即停止,从而防止这个程序错误。
- BZ#853943
- 在以前的版本中,存在一个竞争条件,即设备打开可能会导致设备被删除(例如,热删除存储设备时),可能会导致内核 panic。这是因为块设备打开补丁中的 use-after-free 错误已被传递给 module_put ()函数后没有引用 "disk" 指针来解决。
- BZ#854476
- 有时,由于通知机制不正确,加密分配代码可能会变得无响应 60 秒或多个。这可能导致应用程序(如 openswan)变得无响应。改进了通知机制,以避免此类挂起。
- BZ#856106
- 到 NFS 服务器的流量可以在 svc_tcp_clear_pages ()函数中触发内核 oops。源代码已被修改,在这种情况下,内核 oops 不再发生。
- BZ#860784
- 当设备注册到总线时,设备添加到总线的设备列表之间可能会出现竞争条件,并将设备绑定到驱动程序。因此,该设备可能会绑定到一个驱动程序,这会导致警告和不正确的引用计数,因此在删除设备时出现内核 panic。为避免争用情况,这个更新会添加一个检查来识别已经绑定的设备。
- BZ#865308
- 通过 blk_execute_rq ()发布 I/O 时,调用 blk_execute_rq_nowait ()例程来执行各种任务。首先,常规检查死队列。但是,如果检测到死队列,则 blk_execute_rq_nowait () 函数不会调用 done ()回调函数。这会导致 blk_execute_rq ()在等待完成后没有响应,这还没有发出。为了避免这样的挂起,在验证队列状态前,会将 rq->end_io 指针初始化到 done ()回调。
- BZ#860942
- 当内存 cgroup 中的一个或多个进程超过 "memory.limit_in_bytes" 值时,内存不足(OOM)终止程序终止进程。这是因为,当 Transparent Huge Page (THP)出现写时复制错误时,2 MB THP 会导致 cgroup 超过 memory.limit_in_bytes 值,但不会超过单独的 4 KB 页面。在这个版本中,当超过 memory.limit_in_bytes 值时,2 MB THP 会被正确分成 4 KB 页面。OOM 终止在内存 cgroup 中交付;内存 cgroup 之外的任务不再由 OOM 终止程序终止。
- BZ#857055
- 对 RXCW.CW 位的不必要的检查可能会导致 Intel e1000e NIC (网络接口控制器)无法正常工作。这个检查已被删除,以便 Intel e1000e NIC 现在可以正常工作。
- BZ#860640
- 由于删除了 USB 设备后,会出现内核 oops,因为存在 NULL pointer dereference。NULL pointer dereference 已被修复,内核在此场景中不再崩溃。
- BZ#864827
- 在以前的版本中,usbhid 代码中的 use-after-free 错误会导致 NULL pointer dereference。排序内核内存损坏会导致内核 panic,并可能导致数据丢失。在这个版本中,添加了一个 NULL 检查以避免这些问题。
- BZ#841667
- 来自用户空间的 USB 请求块(URB)不允许传输缓冲区大于任意最大值。这可能会导致各种问题,例如,尝试重定向某些 USB mass-storage 设备可能会失败。为避免此类问题,现在允许程序提交任何大小的 URB;如果没有足够的连续内存可用,则提交会失败,并显示 ENOMEM 错误。另外,为了避免程序提交大量小型 URB,因此使用所有 DMA 内核内存,这个更新也会将单个传输缓冲区的旧限制替换为 USB 文件系统(usbfs)使用的总内存的单个全局限制 16MB。
- BZ#841824
- USB 处理接口设备(HID)可以随时断开连接。如果在 hiddev_ioctl ()调用进行前或发生时发生这种情况,hiddev_ioctl ()会尝试访问无效的 hiddev->hid pointer。当 HID 设备断开连接时,hiddev_disconnect ()函数调用 hid_device_release ()函数,它会释放 hid_device 结构类型,但不会将 hiddev->hid 指针设置为 NULL。如果取消分配的内存区域被内核重新使用,则可能会出现内核 panic 或内存崩溃。现在,只有在存在这样的设备时,才会检查 hiddev->exist 标志,同时保存 existsancelock 和 hid_device。因此,在这种情况下,内核不再崩溃。
- BZ#863147
- 存储在驱动程序的专用结构中的 MAC 地址是未签名的字符数据类型,但 strlcpy ()函数的参数是签名的字符数据类型。这种数据类型转换会导致改变值。这个更改的值被传递给上层,在运行 "iscsiadm -m iface" 命令时会显示垃圾字符。因此,MAC 地址中的垃圾字符会导致 iSCSI 设备引导失败。现在,MAC 地址使用 sysfs_format_mac ()函数而不是 strlcpy ()进行格式化,这可以防止上面描述的问题。
- BZ#861953
- 可以在多个传输上接收数据。但是,在从未收到任何数据的传输中可能会有选择地确认数据(SACKed)。这符合 RFC 2960 标准在 6.4 部分中的 SHOULD 要求。为遵守此标准,SACK 操作的捆绑性仅限于那些自上次攻击以来已移动关联行为的传输。因此,只有自最后一个 SACK 后收到块的出站 SACK 会被捆绑。
- BZ#861390
- lpfs 驱动程序中的错误会导致结构错误测试过程中重置破坏性逻辑单元。底层源代码已被修改,不再出现这个问题。
- BZ#852450
- 在以前的版本中,bnx2x 设备没有禁用大量 RX 错误和超额运行的链接,这些链接仍然可以被检测到为 active。这导致绑定驱动程序无法切换到工作的链接。在这个版本中,恢复了 remote-fault 检测,它会定期检查 MAC 层中的远程错误。如果物理链接显示为启动但发生错误,则禁用链接。在错误被清除后,链接将再次激活。
- BZ#860787
- 由于 XFS 文件系统中出现 xfsaild "idle" 模式而导致 xfsaild "idle" 模式导致definite 日志保留挂起的各种竞争条件。这可能会导致某些任务变得无响应,例如,cp 工具可能会在繁重的工作负载中变得无响应。这个版本改进了 Active Item List (AIL)推送 xfsaild 中的逻辑。另外,日志保留算法和与 xfsaild 的交互已被改进。因此,在这种情况下不再会出现上述问题。
- BZ#858955
- 在双端口 Mellanox 硬件中,mlx4 驱动程序正在向正确的端口添加 promiscuous 模式,但在尝试从端口中删除混杂模式时,总是会尝试将其从端口中删除。因此,无法从第二个端口中删除 promiscuous 模式,即使它不是预期的,混合模式也会从端口中删除。在这个版本中,驱动程序可以正确地尝试从端口 2 中删除 promiscuous 模式。
- BZ#858956
- Mellanox 硬件保留单独的以太网硬件地址列表,具体取决于以太网硬件地址是单播还是多播。在以前的版本中,mlx4 驱动程序会错误地在单播列表中添加多播地址。这会导致在硬件实际侦听请求的地址方面不稳定的行为。在这个版本中,通过将多播地址放在多播列表中,反之亦然来解决这个问题。
- BZ#859326
- 如果一个脏的 GFS2 内节点已被删除,但被另一个节点使用,则在 GFS2 检查 gfs2_ail_flush ()函数中的脏缓冲区前不会写入其元数据。GFS2 依赖于 inode_go_sync () 函数在其他节点试图释放该文件时写入元数据。但是,这永远不会发生,因为 GFS2 失败了错误检查。在这个版本中,在调用 gfs2_ail_flush ()函数前写入内节点。如果进程设置了 PF_MEMALLOC 标志,它不会启动新的事务以在写入内节点时更新访问时间。索引节点标记为脏,以确保以后更新访问时间,除非 inode 被释放。
- BZ#859436
- 在之前的 Red Hat Enterprise Linux 版本中,新的 Mellanox 数据包窃取架构被有意从 Red Hat 内核之外。在 Red Hat Enterprise Linux 6.3 中,新的 Mellanox 数据包窃取架构已合并到 Red Hat Mellanox 驱动程序中。缺少合并详情,因此接口上的多播 promiscuous 标志不会在接口重置期间检查,以查看该标志是否在重置之前被重新启用,应在重置后重新启用。在这个版本中解决了这个问题,如果重置适配器,并在重置前设置了 multicast promiscuous 标志,现在会在重置后设置该标志。
- BZ#860165
- 在以前的版本中,虚拟处理器的默认最小授权容量为 10%。这个版本更改了 PowerPC 架构向量,以支持较低最小虚拟处理器容量 1%。
- BZ#858954
- 在以前的版本中,cgroup 或其层次结构只能在 cgroup_mutex master 锁定下修改。这引进了对 cgroup_mutex 的 cred_guard_mutex 的锁定依赖项,并完成了循环依赖项,涉及 cgroup_mutex、namespace_sem 和 workqueue,并导致死锁。因此,很多进程都没有响应,系统最终可能会不可用。这个更新引入了一个新的 mutex cgroup_root_mutex,它保护 cgroup root 修改,现在被挂载选项读取器而不是主锁使用。这会破坏环形依赖项,并避免死锁。
安全修复
- CVE-2011-1083, Moderate
- 在 Linux 内核的事件 Poll (epoll)子系统处理大型、嵌套的 epoll 结构的方式中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务。
- CVE-2011-4131, Moderate
- 一个恶意网络文件系统版本 4 (NFSv4)服务器可能会返回针对 GETACL 请求的回复,从而导致客户端上的拒绝服务。
程序错误修复
- BZ#824025
- 热插拔 SATA 磁盘无法正常工作,系统在热插拔此类设备时遇到各种问题。在这个版本中解决了内核和 SAS 热插拔问题的几个热插拔问题,现在可以按预期工作。
- BZ#782374
- 由于 hid_reset ()函数中的一个错误,当重置 Dell iDRAC 控制器时可能会出现死锁。因此,其 USB 键盘或鼠标设备变得无响应。已提供了一个修复底层代码的补丁来解决这个程序错误,在上述场景中不再会出现挂起的问题。
- BZ#781531
- AMD IOMMU 驱动程序在 alloc_new_range ()函数中使用了错误的切换方向。因此,系统可能会意外终止或变得无响应。在这个版本中修复了代码,在上述场景中不再会出现崩溃和挂起的问题。
- BZ#781524
- 在以前的版本中,AMD IOMMU (输入/输出内存管理单元)驱动程序可以使用 DMA (直接内存访问)地址的 MSI 地址范围。因此,DMA 可能会失败,如果使用这个地址范围,则会发生假中断。在这个版本中,MSI 地址范围被保留,以防止驱动程序分配错误的地址,DMA 现在保证在上述场景中正常工作。
- BZ#773705
- Windows 客户端永远不会发送大于 64 KB 的写入请求,但通用互联网文件系统(CIFS)中写入请求的默认大小被设置为一个较大的值。因此,写入大于 64 KB 的请求会在某些第三方服务器上造成各种问题。在这个版本中,删除了写入请求的默认大小,以防止这个错误。用户可以将这个值覆盖为更大的值,以提高性能。
- BZ#773522
- 由于 notify_on_release ()函数和 cpuset 或内存 cgroup 目录之间的任务移动之间有一个竞争条件,因此可能会出现系统死锁。在这个版本中,已创建 cgroup_wq cgroup,并且 async_rebuild_domains ()和 check_for_release ()函数用于任务移动,从而修复这个程序错误。
- BZ#773517
- 由于 vruntime 变量的无效计算以及 cgroup 之间的任务移动,在 cgroup 之间移动任务可能会导致非常长的调度延迟。在这个版本中解决了这个问题,方法是在保存 rq->lock 锁定后设置 cfs_rq 和 curr 参数。
- BZ#784671
- 当应用程序请求特定端口时,内核代码会检查冲突。如果没有冲突,则请求会被授予。但是,当所有端口都绑定时,内核执行的端口自动选择会失败,即使有可用的端口没有冲突。在这个版本中,端口自动选择代码已被修复,可以正确地使用没有冲突的端口。
- BZ#784758
- try_to_wake_up () 函数中的一个错误可能会导致在有 SMI (系统管理中断)或虚拟机的客户机环境的竞争条件中的状态变化。因此,退出的任务被再次调度,并会出现内核 panic。在这个版本中解决了 do_exit ()函数中的竞争条件,在上述场景中不再发生 panic。
- BZ#785891
- 在以前的版本中,如果使用自动处理机制,超过特定数量的 qdiscs (Classless Queuing Disciplines)会被分配软锁定错误。在这个版本中修复了最大循环计数,并在循环中添加 cond_resched () 调用,从而解决了这个问题。
- BZ#785959
- 在此次更新之前,find_busiest_group ()函数在部分值为 0 的比例中使用 sched_group->cpu_power。因此,会出现内核 panic。这个版本可防止内核中的零划分,不再发生 panic。
- BZ#772874
- 在通用 Internet 文件系统(CIFS)中,oplock 中断作业和 async 回调处理程序都使用 SLOW-WORK 工作队列,其具有大量线程池。在以前的版本中,这些 oplock 中断作业可能会最终执行所有正在运行的队列,等待页面锁定,从而阻止回调释放这个页面锁定完成。在这个版本中,oplock 将作业划分为单独的 workqueue VERY-SLOW-WORK,允许成功完成回调并防止死锁。
- BZ#772317
- 在以前的版本中,默认启用 Large Receive Offload (LRO)的网络驱动程序会导致系统运行缓慢、丢失帧,最终在使用软件桥接时防止通信。在这个版本中,在带有桥接配置的系统中的内核会自动禁用 LRO,从而防止这个错误。
- BZ#772237
- 在传输碎片套接字缓冲区(SKB)时,qlge 驱动程序会在 DMA-mapping 后填充带有片段地址的描述符。在每个 SKB 大于 8 KB 并小于 8 个片段的系统上,宏将 OAL (Outbound Address List)列表的大小定义为 0。对于带有 8 个以上片段的 SKB,这将开始覆盖已映射的地址列表,并导致驱动程序在大于 8 KB 的架构上正确取消映射正确的地址。在这个版本中,TX 地址描述符的外部列表大小已被修复,qlge 不再在上述场景中失败。
- BZ#772136
- 在以前的版本中,为 vfinfo 结构计算错误的大小。因此,创建大量虚拟功能的网络驱动程序会在加载和卸载模块时出现警告信息。已提供来自上游的向后移植补丁来解决这个问题,从而解决了这个问题。
- BZ#771251
- fcoe_transport_destroy 路径使用工作队列销毁指定的 FCoE 接口。在以前的版本中,destroy_work 工作队列项会阻止另一个单线程工作队列。因此,发生队列间死锁,系统变得无响应。在这个版本中,fcoe_transport_destroy 已被修改,现在是同步操作,允许中断死锁依赖项。因此,销毁操作现在可以正确完成,从而解决了这个问题。
- BZ#786518
- 在创建和删除大量动态设备的系统上,31 位 Linux ifindex 对象无法适合 16 位 macvtap 次要范围,从而导致 macvtap 设备不可用。在很多虚拟机启动或重启时,这个问题主要发生在 libvirt 控制的环境中,并导致 libvirt 报告以下消息: Error start domain: cannot open macvtap tap device /dev/tap222364: No such device or address with this update, macvtap 的次设备号分配已被修改,以便虚拟机现在可以按照描述的场景启动和重启。
- BZ#770023
- splice 代码中的一个错误导致 sendfile ()系统调用的写入端的文件位置被错误地设置为读取文件位置。这可能会导致数据被写入不正确的偏移量。现在,sendfile ()已被修改来正确使用写入侧文件描述符的当前文件位置,从而解决了这个问题。请注意,在以下常见的 sendfile ()场景中,不会发生这个错误:当读写文件位置相同并且文件位置不重要时(例如,如果写入端是套接字)。
- BZ#769626
- 在此次更新之前,Active State Power Management (ASPM)没有正确禁用,这会干扰 hpsa 驱动程序的正确操作。某些 HP BIOS 版本没有报告正确的禁用位,当内核无法读取这个位时,内核默认为启用 ASPM。因此,带有 HP Smart Array 控制器的某些服务器无法引导,除非在内核命令行上指定了 pcie_aspm=off 选项。现在,提供了一个向后移植的补丁来解决这个问题,ASPM 现在已被正确禁用,系统现在在上述场景中正常引导。
- BZ#769590
- 由于一个竞争条件,运行 "ifenslave -d bond0 eth0" 命令从绑定设备中删除从接口可能会导致同时接收网络数据包时系统崩溃。在这个版本中,竞争条件已被修复,系统在这些情况下不再崩溃。
- BZ#769007
- 在某些情况下,qla2xxx 驱动程序无法发现光纤通道(FC)磁带设备,因为 ADISC ELS 请求失败。在这个版本中,添加了新的模块参数 ql2xasynclogin 来解决这个问题。当这个参数设置为 "0" 时,会正确发现 FC 磁带设备。
- BZ#786960
- 当运行带有 IUCV 传输的 AF_IUCV 套接字程序时,接收 IUCV SEVER 中断的回调中缺少 IUCV SEVER 调用。在某些情况下,这可以防止 z/VM 完全删除对应的 IUCV-path。在这个版本中,将 IUCV SEVER 调用添加到回调中,从而修复这个程序错误。另外,内部套接字状态已合并,从而简化了 AF_IUCV 代码。
- BZ#767753
- 当设置了 nohz=off 内核参数时,内核无法输入任何 CPU C-state。在这个版本中,底层代码已被修复,过渡到 CPU 空闲状态现在可以正常工作。
- BZ#766861
- 在有大量内存和文件系统负载时,在 end_writeback ()函数中可能会出现"mapping->nrpages == 0"断言。因此,可能会出现内核 panic。这个版本为 mapping->nrpages 提供了可靠的检查,它会阻止描述的断言,从而解决了这个问题。
- BZ#765720
- 之前内核中 CPU 加速器的设计不足会导致系统正常运行时间超过 208.5 天时出现 sched_clock ()函数中的算术溢出。这个溢出会导致使用时间戳计数器(TSC)或虚拟机接口(VMI)时钟源在系统中出现内核 panic。这个版本修正了上述计算结果,以便在这些情况下不再发生这种算术溢出和内核 panic。
- BZ#765673
- 在以前的版本中,cfq_cic_link () 函数有一个竞争条件。当一些进程同时共享 ioc 问题 I/O 时,cfq_cic_link ()有时会返回 -EEXIST 错误代码。因此,其中一个进程会无限期地等待。现在,提供了一个补丁来解决这个问题,并在上述场景中重试 cfq_cic_lookup () 调用,从而解决了这个问题。
- BZ#667925
- 在以前的版本中,SFQ qdisc 数据包调度程序类没有 bind_tcf ()方法。因此,如果在 SFQ 中添加带有 classid 参数的过滤器,则因为一个空指针解引用导致内核 panic。在这个版本中,添加了 dummy ".unbind_tcf" 和 ".put" qdisc 类选项,以符合其他调度程序的行为,从而修复这个程序错误。
- BZ#787762
- 在以前的版本中,当取消映射由 mlx4 驱动程序使用的 DMA (Direct Memory Access)区域时,会释放内存部分不正确的。因此,在删除使用驱动程序的网络设备后会出现 DMA 泄漏。在这个版本中,mlx4 驱动程序取消映射内存的正确部分。因此,内存会被正确释放,且不会发生 DMA 泄漏。
- BZ#787771
- 在以前的版本中,当发生内存分配失败时,mlx4 驱动程序无法正确释放之前分配的内存。因此,无法执行使用 mlx4 驱动程序删除设备。在这个版本中,当设备 MTU (Maximal Transfer Unit)被设置为 9000 时,内存分配失败仍会发生,但热插拔删除该设备可能会造成故障。
- BZ#759613
- 由于回归问题,更新的 vmxnet3 驱动程序使用 ndo_set_features () 方法而不是 ethtool 实用程序的不同方法。因此,无法在 Red Hat Enterprise Linux 6.2 中更改基于 vmxnet3 的网络适配器。在这个版本中,通过 ethtool 恢复驱动程序可以正确设置功能,如 csum 或 TSO (TCP Segmentation Offload)。
- BZ#759318
- 在以前的版本中,当 MegaRAID 9265/9285 或 9360/9380 控制器在 megaraid_sas 驱动程序中有超时时,可以从 megasas_reset_timer ()函数中调用无效的 SCp.ptr pointer。因此,可能会出现内核 panic。现在,提供了一个上游补丁来解决这个问题,现在指针总是正确设置。
- BZ#790673
- Red Hat Enterprise Linux 6.2 中的 vmxnet3 驱动程序引入了一个回归问题。由于一个优化,其中至少 54 字节的帧被复制到连续缓冲区中,更短的帧会丢弃,因为帧没有可用于复制的 54 字节。在这个版本中,缓冲区的传输大小仅限于 54 字节或帧大小(以更小),在上述场景中不再丢弃短帧。
- BZ#755885
- 在以前的版本中,当隔离迁移页面时,当可用扫描程序在区末尾启动时,迁移会在区开始时启动。迁移可避免在免费扫描程序扫描之外,输入新区域。在非常罕见的情况下,节点会重叠,并在没有 LRU 锁定的情况下发生迁移隔离页面,这会在页面释放或页面释放过程中触发错误。在这个版本中,isolate_migratepages () 函数会进行检查,以确保它永远不会与没有保存 LRU 锁定的区域隔离,从而修复这个程序错误。
- BZ#755380
- 由于回归问题,尝试打开没有缓存的 dentry 的目录,并且返回 EISDIR 错误代码。如果存在缓存的 dentry,则同样的操作会成功。在这个版本中,修改 nfs_atomic_lookup () 函数,以允许在上述场景中回退到正常查找。
- BZ#754356
- 由于一个竞争条件,mac80211 框架可能会与访问点(AP)验证验证,同时仍然使用相同的 AP 调度身份验证。如果身份验证尝试超时,则会返回警告信息到内核日志文件。在这个版本中,当验证时,会检查待处理的身份验证重试尝试,并取消发现,从而解决了这个问题。
- BZ#692767
- virtio-blk 模块中的索引分配基于单调变量 "index"。因此,发布的索引不会被重复使用,在一段时间后,不会有新的索引可用。现在,virtio-blk 使用 ida API 来分配索引,从而防止这个错误。
- BZ#795441
- 当 RENEW ()调用中使用过期的用户凭证时,调用会失败。因此,对客户端上的 NFS 共享的所有访问都会变得无响应。在这个版本中,机器凭证会与这些调用一起使用,从而防止大多数程序错误。如果没有可用的机器凭证,则使用用户凭证。
- BZ#753301
- 在以前的版本中,不必要的断言可能会根据 xpt_pool 字段的值触发。因此,节点可能会意外终止。xpt_pool 字段实际上不必要,这个更新会从 sunrpc 代码中删除,从而防止这个错误。
- BZ#753237
- 在此次更新之前,如果初始化二级 CPU,则忽略 align_va_addr 内核参数。这是因为在初始化二级 CPU 时参数设置会被覆盖。另外,align_va_addr 参数文档包含不正确的参数参数。在这个版本中,底层代码已被修改以防止覆盖,文档已被更新。在这个版本中,删除了补丁引入的、BZ#739456 引入的未使用的代码。
- BZ#796277
- 不在 per-AG (Allocation Group)内节点缓存中的同一内节点的并发查找操作会导致竞争条件,触发在 unlock_new_inode ()函数中返回的警告信息。虽然这个程序错误只能由 NFS 或 xfsdump 工具公开,但可能会导致内节点崩溃、内节点列表损坏或其他相关问题。在这个版本中,在将内节点插入 radix 树前,会设置 XFS_INEW 标志。现在,任何并发查找操作都会找到带有 XFS_INEW 设置的新内节点,然后操作会被强制等待 XFS_INEW 被删除,从而解决了这个问题。
- BZ#753030
- 套接字回调使用 svc_xprt_enqueue ()函数将套接字添加到 pool->sp_sockets 列表中。在正常操作中,服务器线程稍后将使用该列表的套接字。在以前的版本中,在 nfsd 守护进程关闭时,仍运行的 svc_xprt_enqueue ()可以在删除前重新将套接字重新添加到 sp_sockets 列表中。因此,系统可能会因为 sunrpc 模块中的内存崩溃而意外终止。在这个版本中,P XPT_BUSY 标志放在每个套接字中,svc_xprt_enqueue ()现在检查这个标志,从而防止这个程序错误。
- BZ#816034
- Red Hat Enterprise Virtualization Hypervisor 变得无响应,无法关闭或重启以下信息:
Shutting down interface breth0
由于链接到设备结构错误,在绑定之上配置 NetConsole 功能后会出现这种情况。在这个版本中,链接已被修复,设备绑定会被正确处理。 - BZ#752528
- 当在保存 spinlock 时调用 md_raid1_unplug_device () 函数时,在特定设备失败条件下,可能会再次请求锁定,并更深入地调用链,并导致死锁。在这个版本中,在保留 spinlock 时不再调用 md_raid1_unplug_device (),从而解决了这个问题。
- BZ#797731
- 在以前的版本中,即使没有从接口支持 UFO,绑定设备总是启用了 UFO (UDP Fragmentation Offload)功能。因此,tracepath 命令无法返回正确的路径 MTU。在这个版本中,如果底层硬件不支持它,则默认情况下 UFO 不再为绑定接口配置,从而解决了这个问题。
- BZ#703555
- 当尝试通过 tg3 驱动程序将 kdump 文件发送到远程系统时,tg3 NIC (网络接口控制器)无法建立连接,且无法发送该文件。kdump 内核会使崩溃内核启用 MSI-X 中断,但 kdump 内核只启用一个 CPU,这会导致中断发送到 tg3 驱动程序失败。在这个版本中,tg3 在 kdump 内核中只启用单个 MSI-X 中断以匹配整个环境,从而防止这个程序错误。
- BZ#751087
- 在由 e1000e 驱动程序控制的空闲网卡(NIC)的系统上,当向四个描述符传输至四个描述符时,会延迟回写且不做其他情况的 watchdog 驱动程序的运行,之后强制检查硬件中的传输挂起,这可在 TX 环中找到旧条目。因此,日志中会发出一个 false "Detected Hardware Unit Hang" 信息。在这个版本中,当检测到挂起时,描述符会被清除,并再次运行挂起检查,从而解决了这个问题。
- BZ#750237
- 在以前的版本中,idle_balance () 函数丢弃或撤销 rq->lock 参数,使之前的任务容易受到 set_tsk_need_resched ()函数的影响。现在,在从平衡返回并且成功设置了 descheduled 或 never scheduled 任务后,setup_thread_stack () 中已清除该参数,从而解决了这个问题。
- BZ#750166
- 在以前的版本中,doorbell 注册被无条件地交换。如果启用了 Blue Frame 选项,则寄存器被错误地写入了 little endian 格式的描述符。因此,某些适配器无法通过配置的 IP 地址进行通信。在这个版本中,doorbell 注册不会无条件地交换,在写入描述符前,始终会转换为 big endian,从而修复这个程序错误。
- BZ#705698
- CFQ (Completely Fair Queuing)调度程序对后续进程进行闲置。随着对 IOeventFD 功能的改变,CFQ 的流量模式已更改,CFQ 会考虑线程正在执行顺序 I/O 操作。因此,CFQ 不允许在 Qemu 中跨线程进行抢占。在这个版本中,增加了抢占阈值,在上面描述的场景中闲置会被限制,而不会丢失吞吐量。
- BZ#798984
- 当配置了简短的音频时,ALSA PCM midlevel 代码(由所有声音卡共享)可能会导致音频出现问题和其他问题。这个更新添加了一个对双确认中断的时间检查,并提高了 snd-aloop 内核模块的稳定性,从而解决了这个问题。
- BZ#748559
- 在以前的版本中,当其中一个线程退出时,多线程进程的 /proc/<pid>/stat 文件中的 utime 和 stime 值可能会错误地减少。在上述场景中,提供了一个向后移植补丁来保持 utime 和 stime 的单调,从而解决了这个问题。
- BZ#800555
- 在 FCoE 在 256 个 LUN (逻辑单元号)中使用活跃 I/O 测试过程中,会返回大量 SCSI 中层错误消息。因此,系统变得无响应。这个程序错误已通过限制错误消息源并在上述场景中不再发生挂起来解决。
- BZ#714902
- 在以前的版本中,压缩代码假设所有集群节点上的内存在隔离集群节点进行迁移时与相同的页块大小一致。但是,当在带有两个 MAX 5 内存扩展 drawers 的 IBM System x3850 X5 机器上运行集群时,内存不会被正确对齐。因此,isolate_migratepages ()函数可以将无效的 Page Frame Number (PFN)传递给 pfn_to_page () 函数,这会导致内核 panic。在这个版本中,压缩代码已被修改,isolate_migratepages ()函数现在会调用 pfn_valid 函数来验证 PFN,并在这种情况下内核不再 panic。
- BZ#801730
- ctx->vif 标识符在 iwlwifi 代码的不同部分中取消引用。当它被设置为 null 时,在请求硬件重置前,内核可能会意外终止。已提供了一个上游补丁来解决这个问题,在上述场景中不再会出现崩溃。
- BZ#717179
- 在以前的版本中,CPU 可以服务闲置负载均衡器从另一个 CPU 启动请求,即使没有收到 IPI。因此,多个 __smp_call_function_single () 调用在同一个 call_single_data 结构上进行,从而导致死锁。要启动 CPU,调度程序已保留重新调度向量。现在,使用 kick_process 机制而不是使用通用 smp_call_function 机制来发起 nohz 空闲负载平衡并避免死锁。
- BZ#746484
- Intel IOMMU 支持模块中存在与上下文缓存相关的软件错误。在某些较新的 Intel 系统上,上下文缓存模式已从以前的硬件版本更改,可能会公开上下文一致性争用。这个程序错误是在对可立即配置到网络堆栈(例如,成功执行动态主机配置协议(DHCP)的虚拟功能网络设备)执行一系列热插拔和拔出操作时公开的。当发生一致性竞争条件时,分配的设备无法在客户虚拟机中正常工作。在这个版本中,上下文一致性已被修正,竞争条件和潜在的设备分配失败不再发生。
- BZ#746169
- 由于一个正在运行的光标 blink 计时器,在尝试休眠某些类型的笔记本电脑时,I915 内核驱动程序可能会损坏内存。因此,内核可能会意外崩溃。已提供了一个上游补丁,使 i915 内核驱动程序使用正确的控制台挂起 API,hibernate 功能现在可以正常工作。
- BZ#720611
- 在以前的版本中,eth_type_trans ()函数使用 VLAN 设备类型集进行调用。如果 VLAN 设备包含与原始设备不同的 MAC 地址,则会为主机分配不正确的数据包类型。因此,如果在 Adaptive Load Balancing (ALB)模式的绑定接口上设置 VLAN 设备,则无法建立 TCP 连接。在这个版本中,使用原始设备调用 eth_type_trans ()函数,确保连接可以如预期建立。
- BZ#806081
- "结构聚合器"的从成员不一定指向作为聚合器一部分的从设备。它指向包含聚合器结构的从结构,而完全不同的从结构(或根本没有从设备)可能是聚合器的一部分。由于一个回归,agg_device_up () 函数错误地使用 agg->slave 来查找聚合器的状态。因此,错误的活跃聚合器会报告到 /proc/net/bonding/bond0 文件。在这个版本中,在上述场景中使用 agg->lag_ports->slave,从而解决了这个问题。
- BZ#806119
- 由于 FCoE 的 netdevice 处理程序(以太网光纤通道)和退出路径阻止 keventd 工作队列,因此 destroy 操作在 NPIV (N_Port ID Virtualization) FCoE 端口上导致死锁相互独立,并导致系统变得无响应。在这个版本中,destroy_work 项目已移到自己的工作队列中,现在在请求 destroy 的用户空间进程上下文中执行,从而防止这个程序错误。
- BZ#739811
- 在以前的版本中,当通过 NFS 迁移带有活跃请求的 NFS 时,如果一个特定的内节点最终被删除,则称为 truncate_inode_pages ()函数的 VFS。该函数尝试获取页面锁定,但在调用 migrate_page ()时已被锁定。因此,代码中会出现死锁。这个程序错误已被解决,现在如果设置了 PagePrivate 参数,则迁移请求将被拒绝,表示该页面已与活跃的读取或写入请求相关联。
- BZ#808487
- 在以前的版本中,因为无效的参数,使用 ZSECSENDCPRB ioctl ()系统调用对大型数据块的请求会失败。返回错误导向错误代码,表示实际问题。在这个版本中,ZSECSENDCPRB 请求代码常量的参数会使用正确的最大值进行验证。现在,如果参数长度无效,则返回 EINVAL 错误代码,从而解决了这个问题。
- BZ#809928
- 由于使用 list_for_each_entry_safe ()宏不正确,远程过程调用(RPC)优先级等待队列任务的枚举,存储在 tk_wait.links 列表中失败的。因此,rpc_wake_up ()和 rpc_wake_up_status ()函数无法唤醒所有任务。这会导致系统变得无响应,并可能会显著降低系统性能。现在,在 rpc_wake_up ()中不再使用 list_for_each_entry_safe ()宏,确保具有合理的系统性能。
- BZ#812259
- 在 5 GHz 带中发生的 iwlwifi 驱动程序中发现了各种问题。因此,2.4 GHz 和 5 GHz 上的接入点(AP)无法正常工作。在这个版本中,为禁用 5 GHz 带支持的驱动程序添加了一个新的选项。
- BZ#810299
- 在以前的版本中,添加到绑定接口中的二级、tertiary 和其他 IP 地址可能会覆盖 bond->master_ip 和 vlan_ip 值。因此,偶尔可能会使用错误的 IP 地址,备份从接口的 MII (Media 独立接口)状态停止,绑定主接口会被切换。在这个版本中,分别从 bonding 和 vlan_entry 结构中删除 master_ip 和 vlan_ip 元素。相反,设备会直接查询 ARP 请求的最佳源 IP 地址,从而修复此错误。
- BZ#727700
- 在由 mbind ()函数创建的内存映射中存在一个异常,这会导致使用 NUMA-aware Parallel Scavenge 垃圾收集器的 Hotspot Java 虚拟机中的分段错误。提供了修复 mbind ()的向后移植上游补丁,在上述场景中不再会出现崩溃。
- BZ#812108
- 在以前的版本中,如果配置了透明代理,且在高负载下,内核可能会开始丢弃数据包,返回错误消息,如 "ip_rt_bug: addr1 -> addr2、?",在个别情况下意外终止。这个版本提供了解决这些问题的补丁,上面描述的问题不再发生。
- BZ#811815
- kdump 工具不支持 Red Hat Enterprise Linux 6 中硬件虚拟化机器(HVM)上的 Xen 半虚拟化(PV)驱动程序。因此,如果客户机载入 PV 驱动程序,kdump 无法启动。这个版本修改了底层代码,以允许 kdump 在使用 PV 驱动程序配置的 HVM 客户机上没有 PV 驱动程序启动。
- BZ#735105
- 在 ext4 文件系统上运行用户空间程序(如 Ceph 客户端)时,可能会出现 sync/flush 线程和 xattr-set 线程之间的竞争条件。这是因为内节点中的错误设置状态标记导致。因此,文件系统的内存被错误地分配,这会导致文件系统崩溃。在这个版本中,ext4 代码已被修改,以防止这种竞争条件发生,在这种情况下文件系统不再损坏。
- BZ#728852
- 当 PCI 驱动程序在关闭设备时将中断机制从 Message Signaled Interrupt (MSI 或 MSI-X)切换到 INTx 模拟时,会生成不需要的中断。因此,会重复调用中断处理器,系统变得无响应。在某些系统中,智能平台管理接口(IPMI)的中断处理器会在运行 kdump 后关闭设备以重启系统。在这种情况下,软锁定会重复执行,关闭过程永远不会完成。在这个版本中,用户可以选择不将 MSI 或 MSI-X 用于 PCI Express 原生 Hotplug 驱动程序。不再执行中断机制之间的切换,因此不会生成不需要的中断。
- BZ#731917
- qla2x00_fw_ready () 函数中的超时周期被硬编码为 20 秒。这个周期太短,对于 Fibre Channel over Ethernet (FCoE)的新 QLogic 主机总线适配器(HBA)。因此,重启后缺少一些逻辑单元号(LUN)。在这个版本中,超时期限被设置为 60 秒,以便 modprobe 工具可以重新检查驱动程序模块,从而修复这个程序错误。
- BZ#730045
- 在以前的版本中,idmapper 工具预先为 NFS 客户端上的所有用户和组群名称分配空间。因此,可能会出现页面分配失败,防止正确挂载目录。在这个版本中,根据需要动态完成名称的分配,分配表的大小现在被大幅减少,且不再会发生分配失败。
- BZ#811703
- 作为映射应用程序内存的一部分,分配用于存放页面指针的缓冲区,并且映射的页面计数存储在 do_dio 字段中。一个非零 do_dio 标记,使用直接 I/O。但是,do_dio 只是大小为 1 字节。在以前的版本中,映射 256 页溢出 do_dio 并导致它被设置为 0。因此,当使用 st 驱动程序的直接 I/O 路径发送了大量的读或写请求时,驱动中可能会出现内存泄漏。这个版本会增加 do_dio 的大小,从而防止这个程序错误。
- BZ#728315
- 在 hpet_next_event ()函数中,在 HPET (High Performance Event Timer)和 HPET_COUNTER 的值之间可能会出现中断。因此,计时器会超过几分钟的时间。现在,在计数器和 HPET 代码中的比较之间执行比较。如果计数器超出比较器,则返回 "-ETIME" 错误代码,这修复了这个程序错误。
- BZ#722297
- 在通过某些 iSCSI 适配器的 Boot-from-San (BFS)安装中,驱动程序在 sysfs 文件系统中导出 sendtarget 条目,但 iscsistart 无法执行发现。因此,在第一次引导序列过程中会出现内核 panic。在这个版本中,驱动程序会执行发现,从而防止这个错误。
- BZ#805519
- SCSI 层没有使用足够大的缓冲来正确读取由存储阵列公告的整个 'BLOCK LIMITS VPD' 页面。因此,'WRITE SAME MAX LEN' 参数被错误地读取,这可能会导致块层发出丢弃请求,使存储阵列无法处理。在这个版本中,增加了 'BLOCK LIMITS VPD' 页面被读取的缓冲区的大小,并且丢弃请求现在使用正确的大小发布,从而解决了这个问题。
- BZ#803378
- 智能平台管理接口(IPMI)规范要求最小通信超时为 5 秒。在以前的版本中,内核错误地使用 1 秒的超时。在某些情况下,这可能会导致与 Baseboard Management Controller (BMC)通信失败。在这个版本中,超时增加到 5 秒,以防止出现这样的问题。
- BZ#758404
- dm_mirror 模块可以发送丢弃请求。但是,dm_io 接口不支持丢弃请求,并通过启用了丢弃的设备运行 LVM 镜像会导致内核 panic。在这个版本中,增加了对 dm_io 接口的丢弃请求的支持,以便在上述场景中不再发生内核 panic。
- BZ#766051
- 在以前的版本中,当 boot 后不久运行一次 schedule ()函数时,在控制台中每引导都会返回以下警告信息:
5915: WARN_ON_ONCE(test_tsk_need_resched(next));
已提供了一个上游补丁来解决这个问题,在 schedule ()中不再存在 WARN_ON_ONCE ()调用,从而修复此错误。 - BZ#786996
- 在此次更新之前,close ()和 send ()函数中的错误会导致这两个功能的延迟和操作用时过长。在这个版本中,添加了 IUCV_CLOSED 状态更改,并改进了 close ()的锁定。另外,net_device 处理在 send ()中有所改进。因此,延迟不再发生。
- BZ#770250
- 在 NFS 上,当重复读取目录(保留更改的内容)时,客户端会发出相同的 readdir 请求两次。因此,以下警告信息会返回 dmesg 输出:
NFS: directory A/B/C contains a readdir loop.
在这个版本中,关闭循环检测并导致 NFS 客户端尝试在上述场景中恢复,且不再返回信息。 - BZ#635817
- 很多补丁已应用于 Red Hat Enterprise Linux 6.3 中的内核,以提高整体性能并减少了大型 UV 系统上的引导时间(在 2048 个内核和 16 TB 内存的系统上测试补丁)。另外,SGI UV2 平台的引导消息已更新。
- BZ#822697
- 在以前的版本中,如果创建 MFN (Machine Frame Number)非常延迟,则 MFN 在没有时会出现无效。如果在这个点为 read_pmd_atomic (),则调用半虚拟化 __pmd ()函数,并返回零,则内核可能会意外终止。在这个版本中,在上述场景中避免了 __pmd () 调用,并返回 open-coded compound literal,从而修复这个程序错误。
- BZ#781566
- 在以前的版本中,在禁用中间 P-states 的系统中,powernow-k8 驱动程序可能会导致 cpufreq 子系统中出现内核 panic。另外,没有所有可用的 P-states 被驱动程序识别。这个版本修改了驱动器代码,以便它现在可以正确地识别所有 P-states,且不会在上述场景中造成 panic。
- BZ#783497
- 由于 max_blocks 检查中的 off-by-one 错误,在 64 位 PowerPC 构架中,tmpfs 文件系统没有遵循 size= 参数,因此报告了不正确的可用块数量。已提供了一个向后移植的上游补丁来解决这个问题,tmpfs 现在会如预期处理 size= 参数。
- BZ#681906
- 这个版本引入了一个性能增强,它显著提高了在按顺序访问磁盘时从磁盘读取大型目录所需的时间。在这种情况下,大是指几百个条目或更多。它不会影响查找单个文件的速度(已经快),也不会对较小的目录产生任何明显的区别。缓存目录后,不会注意到性能。但是,由于此更新引入的 readahead,因此初始读取应该会更快。
- BZ#729586
- Red Hat Enterprise Linux 6.1 引入了用于半虚拟化驱动程序的仿真 SCSI 磁盘的命名方案调整,以防止在模拟 IDE 和模拟的 SCSI 磁盘之间进行命名空间冲突。两种模拟磁盘类型都使用 paravirt 块设备
xvd
。考虑以下示例:表 5.1. 命名方案示例 Red Hat Enterprise Linux 6.0 Red Hat Enterprise Linux 6.1 或更高版本 模拟 IDE
hda -> xvda Unchanged 模拟 SCSI
sda -> xvda sda -> xvde, sdb -> xvdf, ... 这个更新引入了一个新的模块参数xen_blkfront.sda_is_xvda
,它提供从 6.0 到 6.3 内核版本的无缝升级路径。xen_blkfront.sda_is_xvda
的默认值为
0,它会使命名方案与 6.1 及更新的版本保持一致。当xen_blkfront.sda_is_xvda
设置为1
时,命名方案会恢复到与 6.0 兼容的模式。注意请注意,当从 6.0 升级到 6.3 版本时,如果虚拟机指定了仿真 SCSI 设备,并使用半虚拟化驱动程序并使用xvd[a-d]
等显式磁盘名称,建议在执行升级前,将xen_blkfront.sda_is_xvda=1
参数添加到内核命令行。 - BZ#756307
- 在以前的 Red Hat Enterprise Linux 6 版本中,内核选项 xen_emul_unplug=never 没有禁用 xen 平台 pci 设备,这会导致使用半虚拟设备而不是模拟设备。除了为模拟网络设备修复 irq 分配问题外,还允许使用 xen_emul_unplug=never 内核选项禁用半虚拟化驱动程序,如"虚拟化指南:版本 5.8" 章节 "12.3.5" 章节所述。Red Hat Enterprise Linux 6 上的 Xen 半虚拟化驱动程序"。
- BZ#749251
- 当使用 LXC (Linux Containers)等进程隔离机制,且用户空间在没有 CAP_SYS_ADMIN 标识符集的情况下运行时,jailed root 用户可以绕过 dmesg_restrict 保护,从而造成不一致的情况。现在,只有在 root 有 CAP_SYS_ADMIN 设置时,才允许写入 dmesg_restrict,从而防止这个程序错误。
- BZ#788591
- 在以前的版本中,载入多路径表的代码试图加载 scsi_dh 模块,即使已经载入它,这会导致系统变得无响应。在这个版本中,当已加载且多路径表被成功加载时,代码不会尝试加载 scsi_dh 模块。
- BZ#801877
- 由于 ASPM (Active State Power Management)跟踪代码中有一个错误,在尝试使用 "pcie_aspm=off" 内核参数禁用 PCIe 和 PCI 设备时,系统会意外终止。在这个版本中,确保在禁用 ASPM 且服务器不再在上述场景中崩溃时,不会执行 ASPM 处理代码。
- BZ#804608
- 由于底层源代码中的错误,perf 性能计数器子系统会错误地计算事件 frequencies。在这个版本中,事件频率的代码和计算返回正确的结果。
- BZ#787771
- 在以前的版本中,当发生内存分配失败时,mlx4 驱动程序无法正确释放之前分配的内存。因此,无法执行使用 mlx4 驱动程序删除设备。在这个版本中,当设备 MTU (Maximal Transfer Unit)被设置为 9000 时,内存分配失败仍会发生,但热插拔删除该设备可能会造成故障。
- BZ#787762
- 在以前的版本中,当取消映射由 mlx4 驱动程序使用的 DMA (Direct Memory Access)区域时,会释放内存部分不正确的。因此,在删除使用驱动程序的网络设备后会出现 DMA 泄漏。在这个版本中,mlx4 驱动程序取消映射内存的正确部分。因此,内存会被正确释放,且不会发生 DMA 泄漏。
- BZ#812415
- Intel SCU 驱动程序没有与系统 BIOS 正确交互,以遵守 BIOS 控制的 Spread Spectrum Clock (SSC)设置和状态:即使预引导 BIOS 环境中启用了 SSC 模式,它在启动时会因为从 ROM 选项解析不正确的参数而被禁用。在这个版本中,内核驱动程序已被修改来从 ROM 选项正确解析 OEM 参数,问题不再发生。
- BZ#811023
- iw_cxgb4 驱动程序已更新,因为当 ingress abort 无法唤醒在 rdma_init ()中阻止的线程时,会出现一个竞争条件,从而导致应用程序变得无响应。另外,如果找不到端点,则驱动程序已被修改来返回,而不是调用 wake_up ()函数,因为不需要这样做。
- BZ#818371
- 在创建挂载的 RAID 卷快照时,可能会出现内核 panic。这是因为当 RAID 设备被快照来源替换时,用来唤醒 I/O 处理线程的计时器不会被停用。然后,计时器会唤醒尝试访问已释放的内存的线程,从而导致内核 panic。在这个版本中,这个程序错误已被解决,在这种情况下内核 panic 不再发生。
- BZ#821329
- 在以前的版本中,尝试使用 v1.0 元数据将 write-intent bitmap 添加到 MD 阵列中,然后在不重启的情况下使用阵列会导致内核 OOPS。这是因为在创建 bitmap 后内核没有正确重新载入位图信息。在这个版本中,内核会在位映射创建时正确加载信息,如预期,内核 OOPS 不再发生。
- BZ#817090
- 在 IBM System z 上,如果 HiperSockets 设备中存在大量流量工作负载,则可能会出现内核 panic。这是因为在 HiperSockets 设备和过时的 SIGA (系统信息 GA)重试代码的异步提供存储块之间,qeth 驱动程序中存在冲突。在这个版本中,SIGA 重试代码已从 qeth 驱动程序中删除,问题不再发生。
- BZ#736931
- 在以前的版本中,实时调度程序中的某些内部功能只迭代可运行的实时任务,而不是迭代所有现有的任务。因此,当在多个逻辑 CPU 上处理多个实时线程并禁用了一个 CPU 时,内核可能会 panic 并显示以下错误消息:
kernel BUG at kernel/sched_rt.c:460!
在这个版本中,修改实时调度程序,以便所有实时任务都如预期处理,且内核不再在此场景中崩溃。 - BZ#756301
- 由于 qla2xxx 驱动程序和 HBA 固件中的一个错误,存储 I/O 流量在存储错误测试过程中可能会变得无响应。在这个版本中,这些 bug 已被修复,存储流量在上述场景中不再挂起。
- BZ#767505
- 在重置虚拟块设备和配置中断时,config_work 处理程序可能会在设备已从系统中移除但重置设备之前尝试访问设备配置。这会导致内核 panic。在这个版本中,底层代码已被修改为使用 mutex 锁定,并在重置过程中禁用设备配置。在重置虚拟块设备时,不再可以处理配置中断,在这种情况下内核不再出现 panic。
- BZ#784430
- USB 驱动程序代码的最新更改后,之前版本的内核没有处理,在某些情况下,标准和温重置 USB3.0 端口。因此,当设备在卸载后重新附加到 USB3.0 端口时,系统无法检测并自动挂载 USB3.0 设备。这个更新应用几个与处理 USB3.0 端口相关的上游补丁,现在 USB3.0 设备会在描述的场景中自动重新附加。
- BZ#738491
- 在以前的版本中,mlx4 驱动程序预期在 InfiniBand 链路层上执行 Remote Direct Memory Access (RDMA)通信,因此驱动程序使用代码的 InfiniBand 链路层来记录传输统计信息。但是,Mellanox RDMA over Converged Ethernet (RoCE)设备使用以太网链路层进行 RDMA 通讯,这会导致在某些情况下没有考虑 RDMA 通信,显示的统计信息不正确。在这个版本中,底层代码已被修改,驱动程序现在在以太网端口上使用"global"计数器进行 RDMA 流量核算,用户可以看到正确的 RDMA 传输统计信息。
- BZ#749059
- 由于缺少验证检查,mlx4 驱动程序可能会尝试访问网络层的核心网络设备结构中已释放的 data 元素。因此,如果在适配器处理持续远程直接内存访问(RDMA)通信时,如果 Mellanox ConnectX HCA InfiniBand 适配器被意外从系统中删除,则内核会 panicked。在这个版本中,mlx4 驱动程序已被修改,在尝试将其用于传出通信前验证核心网络设备结构是否有效。现在,当意外禁用适配器端口时,内核不再 panic。
功能增强
- BZ#808315
- LED 支持已添加到 sysfs 接口中。
- BZ#805658
- WinFast VP200 H (Teradici) snd-hda-intel 音频设备已被 alsa 驱动程序识别。
- BZ#744301
- Brocade BFA Fibre Channel 和 FCoE 驱动程序不再是一个技术预览。在 Red Hat Enterprise Linux 6.3 中完全支持 BFA 驱动程序。
- BZ#744302
- Brocade BNA driver for Brocade 10Gb PCIe 以太网控制器不再是一个技术预览。在 Red Hat Enterprise Linux 6.3 中完全支持 BNA 驱动程序。
- BZ#696383
- 持久性存储(pstore)是平台依赖持久性存储的文件系统接口,现在支持 UEFI。
- BZ#661765
- 此发行版本添加了对一个新的内核审核功能的支持,允许字段比较。对于每个审计事件,内核会收集有关导致事件的信息。现在,您可以使用 "-C" 命令告知内核比较: auid、uid、euid、suid、fsuid 或 obj_uid; 和 gid、egid、sgid、sgid、fsgid 或 obj_gid。这两个组无法混合使用。比较可以使用 equal 或 not equal 运算符。
- BZ#821561
- 在这个版本中,添加了 rh_check_unsupported () 函数,并将不支持的 Intel 处理器列入黑名单。
- BZ#786997
- 当 AF_IUCV 套接字使用 HiperSockets 传输时,此类传输的最大消息大小取决于绑定到 AF_IUCV 套接字的 HiperSockets 设备的大小。但是,套接字程序无法决定消息的最大大小。在这个版本中,为 getsockopt ()函数添加了 MSGSIZE 选项。通过此选项,最大消息大小可由 AF_IUCV 读取和正确处理。
- BZ#596419
- cred 参数包含在 security_enabled ()函数中,以便它可以用于更广泛的调用站点。
- BZ#773052
- Red Hat Enterprise Linux 6.3 添加了对 Wacom Cintiq 24HD 的支持(24-inch Drawing Tablet)。
- BZ#738720
- 在这个版本中,为跟踪信号事件添加了额外的固定追踪点。
- BZ#704003
- 在这个版本中,添加了缺少的 raid6test.ko 模块。
- BZ#788634
- keyring 内核工具已升级至上游版本,与之前的版本相比,它提供了大量的程序错误修复和增强。特别是,垃圾回收机制已被重新工作。
- BZ#788156
- perf 工具已升级至上游版本 3.3-rc1,它提供很多程序错误修复和增强。
- BZ#766952
- 无线 LAN 子系统已更新。它引入了 dma_unmap 状态 API,并添加一个新的内核头文件:include/linux/pci-dma.h。
- BZ#723018
- dm-thinp 目标(精简和精简池)提供了一个具有精简配置和可扩展快照功能的设备映射器设备。此功能作为技术预览提供。
- BZ#768460
- 在 Red Hat Enterprise Linux 6.3 中,SHA384 和 SHA512 HMAC 验证算法已添加到 XFRM 中。
安全修复
- CVE-2013-0871, Important
- 在这个版本中解决了这个问题:* 在 Linux 内核的 ptrace 实现中发现了一个竞争条件,当 debuggee 因 SIGKILL 信号而不是停止而处理 PTRACE_SETREGS 请求的方式。本地非特权用户可能会使用此缺陷来升级其特权。
程序错误修复
- BZ#908735
- 在以前的版本中,初始化脚本无法正确设置 master 接口的 MAC 地址,因为它被第一个从 MAC 地址覆盖。要避免这个问题,在将第一个从接口的 MAC 地址设置为主接口的 MAC 地址之前,会重新引入对未分配的 MAC 地址的检查。
- BZ#909158
- 通过 IPv6 使用透明代理(TProxy)时,内核之前为本地接口和同级接口创建了邻居条目,这些条目无法直接访问。在这个版本中修正了这个问题,内核不再创建无效的邻居条目。
- BZ#915582
- 由于 d_validate ()函数中的指针取消引用的验证不正确,在 IBM Rational ClearCase 中使用的 MultiVersion 文件系统(MVFS)上运行 ls 或 find 等命令可能会触发内核 panic。在这个版本中,修改 d_validate (),通过搜索父的 d_child 列表来验证 parent-child dentry 关系。在这种情况下,内核不再 panic。
- BZ#916956
- 以前向后移植的补丁引入了对 page_descs length 字段的使用,但没有为 FUSE 页面描述符设置页面数据长度。如果通过 FUSE,可以通过环回设备(pagecache_write_end)执行此代码路径。因此,fuse_copy_page 不会将页面数据从页面描述符复制到用户空间请求缓冲,用户空间可以看到未初始化的数据。在以前的版本中可能会导致文件系统数据崩溃。这个问题已通过在提交请求前设置 page_descs 长度来解决,因此 FUSE 提供正确初始化的数据。
5.135.16. RHSA-2013:0832 - Important: 内核安全更新
安全修复
- CVE-2013-2094, 重要
- 在这个版本中解决了这个问题:* 它发现,Red Hat Enterprise Linux 6.1 内核更新(RHSA-2011:0542)在 Linux 内核的性能事件实现中引入了一个整数转换问题。这会导致用户提供的索引进入 perf_swevent_enabled 数组没有被正确验证,从而导致无限内核内存访问。本地非特权用户可能会使用此缺陷来升级其特权。
安全修复
- CVE-2013-2224, Important
- 它发现,通过 RHSA-2012:1540 发布 CVE-2012-3552 的修复在 Linux 内核的 TCP/IP 协议套件实现中引入了一个无效的可用缺陷。本地无特权用户可以使用此缺陷通过精心设计的 sendmsg () 调用来破坏内核内存,从而允许他们拒绝服务或可能在系统上升级其权限。
- CVE-2013-4299, Moderate
- 在某些情况下,在 Linux 内核的设备映射程序子系统中发现了一个信息泄漏漏洞,用于解释写入快照块设备的数据。攻击者可以使用这个缺陷从可用空间中的磁盘块中读取数据,这通常无法访问。
- CVE-2013-2852, Low
- Linux 内核的 b43_do_request_fw () 函数中发现了一个格式字符串漏洞。可以指定"fwpostfix" b43 模块参数的本地用户可能会使用此缺陷导致拒绝服务或可能升级其特权。
程序错误修复
- BZ#1004185
- 如果系统运行时间超过 208 天,则在 CPU 加速器中设计的计算可能会造成 set_cyc2ns_scale () 函数中的异常溢出。这个溢出会导致在使用时间戳计数器(TSC)时钟源的系统上出现内核 panic,这主要是使用 Intel Xeon E5 处理器在软电源周期中重置 TSC 的系统。应用了补丁来修改计算,以便在这些情况下不再发生这种算术溢出和内核 panic。
- BZ#1007467
- 在某些情况下,abort task 和 SPP 设备任务管理路径中的竞争条件可能会发生,在某些情况下,会导致驱动程序清理在 SAS 磁盘设备上待处理的超时 I/O 请求。因此,内核从系统中删除这样的设备。应用到 isci 驱动程序的补丁会修复这个问题,即在输入 abort 功能时向 SAS 驱动器发送任务管理功能,且任务还没有完成。现在,在这种情况下,驱动会按预期清理超时的 I/O 请求。
- BZ#1008507
- 在使用多个 iSCSI、FC 或 SRP 路径连接 iSCSI 启动器和 iSCSI 目标的系统上,内核 panic 可能会发生。这是因为 SCSI 驱动程序中的一个竞争条件允许在处理其运行队列前从系统中删除 SCSI 设备,这会导致 NULL pointer dereference。SCSI 驱动程序已被修改,现在通过在激活时保留对 SCSI 设备运行队列的引用来避免竞争。
5.135.18. RHBA-2013:1190 - 内核程序漏洞修复更新
程序错误修复
- BZ#979291
- cyclic 添加和删除 st 内核模块可能会导致系统变得无响应。这是因为 SCSI 磁带驱动程序中的磁盘队列引用计数错误导致。上游补丁解决这个程序错误已被向后移植到 SCSI 磁带驱动程序,在这种情况下,系统现在会按预期响应。
- BZ#982114
- bnx2x 驱动程序可能之前报告了 occasional MDC/MDIO 超时错误,以及链接连接的丢失。这在使用较旧的引导代码的环境中会出现这种情况,因为 MDIO 时钟是在每个引导代码序列开始时设置的,而不是每个 CL45 命令。要避免这个问题,bnx2x 驱动程序现在为每个 CL45 命令设置 MDIO 时钟。另外,每个 EMAC 注册都会实施 MDIO 时钟,而不是每个端口号,这样可防止端口对不同的 PHY 访问使用不同的 EMAC 地址。另外,需要引导代码或管理固件(MFW)升级,以防止在驱动程序的 pulse 延迟时引导代码(firmware)接管链接所有权。BCM57711 卡需要引导代码 6.2.24 或更高版本,BCM57712/578xx 卡需要 MFW 版本 7.4.22 或更高版本。
- BZ#982469
- 如果审计队列太长,内核会调度 kauditd 守护进程,以缓解审计队列的负载。在以前的版本中,如果当前审计进程在这样的情形中有任何待处理的信号,它会在审计日志超时的持续时间内输入忙碌循环,因为 wait_for_auditd ()函数被调用为中断任务。这可能会导致系统锁定在非抢占的 uniprocessor 系统中。在这个版本中,通过将 wait_for_auditd ()设置为 uninterruptible 解决了这个问题。
- BZ#988226
- 当使用 FPU 中止多线程进程时,内核可能会很少终止,而不是创建转储文件。这是因为内核不会等待所有线程都不活跃,并尝试将活跃线程的 FPU 状态转储到触发 BUG_ON ()例程的内存。应用了这个问题的补丁,内核现在会在将 FPU 状态转储到内存前等待线程变得不活跃。
- BZ#990087
- BE 系列硬件可能会错误地表示特定平台上的不可恢复的错误(UE),并停止进一步访问基于 be2net 的网络接口卡(NIC)。应用了补丁来禁用停止对 BE 系列网络接口卡(NIC)进一步访问硬件的代码。对于真实的 UE,不需要这样做,因为在这种情况下无法访问相应的硬件块。
- BZ#991344
- Fnic 驱动程序之前允许带有大于 Cisco UCS Palo 适配器的 SGL 描述符数的 I/O 请求。因此,适配器返回任何超过 256 SGL 描述符的 I/O 请求,并显示无效的 SGLs 错误。补丁已被应用,将 fnic 驱动程序中支持的最大 SGL 数限制为 256,问题不再发生。
5.136. kexec-tools
错误修复
- BZ#878371
- 在以前的版本中,kexec 工具错误地将 Xen mail (HVM)客户机识别为 Xen Dom0 管理域。因此,内核意外终止,kdump 工具会生成 vmcore 文件,且没有 NT_PRSTATUS 备注。崩溃还会导致 NULL pointer dereference。有了这个更新,kexec 会收集来自 Xen keywords0 上的 /sys/devices/system/cpu/cpuN/crash_notes 的 NT_PRSTATUS 的位置和大小。因此,不再会出现崩溃。
程序错误修复
- BZ#821930
- 如果网桥的成员设备被重命名,则 kdump 工具无法找到成员设备,即不使用其默认设备名称。因此,通过网络进行网桥映射和 kdump 失败。在这个版本中,当获取转储内核的桥接成员名称时,网桥成员详情会从转换的
ifcfg
文件获取,在这种情况下,kdump 通过网络成功。 - BZ#798886
- kdump 工具不支持硬件虚拟化机器(HVM)客户机上的 Xen 半虚拟化(PV)驱动程序。因此,如果客户机有 PV 驱动程序,kdump 无法启动。在这个版本中,修改代码,允许 kdump 在使用 PV 驱动程序配置的 HVM 客户机上不启动 PV 驱动程序。
- BZ#752458
- 在以前的版本中,kdump 无法正确处理 IEEE 802.1Q 网络中绑定设备的转储,并在通过这样的设备请求内核转储时失败。在这个版本中,允许 kdump 处理 VLAN 标记的代码,以便正确操作这些绑定设备,并在以下情况下成功 kdump。
- BZ#812816
- 在 IBM System z 构架中,网络上的 kdump 请求会失败,因为远程服务器中没有找到内核转储。这是因为在 IP 配置前没有在线网络设备。因此,IP 配置称为不存在的网络接口,连接会失败。在这个版本中,网络设备会在设置 IP 信息前在线。
- BZ#805803
- 在以前的版本中,kdump 不会启动绑定设备,如果绑定设备的
ifcfg <device>
网络脚本中的BOOTPROTO
属性被设置为none
,则失败。这是因为 mkdumprd 工具无法正确处理BOOTPROTO
设置。有了这个更新,m kdump rd 会在使用BOOTPROTO=none
设置的绑定设备中远程转储时,会正确处理设置。 - BZ#802201
- 在 x86 构架中,如果
crashkernel
引导选项被设置为auto
,允许为 kdump 内核自动保留内存,则阈值内存将更改为 2。但是,第一次引导 应用程序错误地使用了 4 GB 阈值。在这个版本中,firstboot 使用与内核相同的阈值。 - BZ#785264
- 当 kdump 没有转储到 NFS (网络文件系统)目标的权限时,会出现内核 panic。这是因为 kdump 内核的 init 脚本在 kdump 启动后不会检查目标 NFS 资源的权限。在这个版本中,初始化脚本会检查 NFS 目录权限,kdump 会执行用户指定的默认操作,当 NFS 转储因为缺少权限时失败。
- BZ#738290
- 在以前的版本中,如果使用 FCoE HBA 驱动程序(fnic)和 iSCSI 转储目标运行 kdump 会失败。这个版本添加了对使用没有 iBFT 的软件启动器的 iSCSI 目标的支持。请注意,不支持使用硬件启动器的 iSCSI 目标。
- BZ#814629
- 如果
/etc/kdump.conf
文件没有定义转储目标,则 mkdumprd 工具使用 root 设备作为 kdump initrd 的默认转储目标。但是,mkdumprd 使用设备名称而不是它的 UUID (完整识别符),这会导致 kdump 失败。在这个版本中,默认使用设备 UUID 而不是其设备名称,kdump over root 设备会在描述的情况下成功。 - BZ#743551
- 在以前的版本中,当目标分区加密并发生错误时,kdump 无法捕获内核转储。在这个版本中,kdump 会在将加密设备指定为转储目标时警告用户。
- BZ#748654
- 由于 makedumpfile 工具中的一个错误,在重新过滤 vmcore 内核转储时,工具会失败。在这个版本中,makedumpfile 已被修改,以正确处理 vmcore 的输入。
- BZ#771671
- 在以前的版本中,当使用管道重定向到 ssh 时,kdump 不会将 shell 丢弃给用户,即使
kdump.conf
文件中的default_action
属性被设置为shell
。在这个版本中,当 makedumpfile 失败时,管道重定向会失败,并在描述的场景中立即丢弃 shell。 - BZ#781919
- 在以前的版本中,由于 mkdumprd 工具中的一个错误,当 NFS 卸载过程失败时,可以删除 NFS 服务器上的数据。在这个版本中,这个问题已被解决,如果卸载失败,NFS 服务器上的原始数据现在会保持不变。
- BZ#761488
- kdump 内核没有清除来自内核的 MCE (Machine Check Exception)状态;kdump 内核继续引导,而不清除 MCE 状态位,并再次触发 MCE 错误。在这个版本中,内核中的 MCE 错误不会传递给 kdump 内核。
- BZ#805464
- 在 IBM System z 构架中复制 vmcore 文件前,kdump 工具不会在线提供 DASD (直接访问存储设备)。因此,kdump 正在等待该设备并变得无响应。在这个版本中,在复制 vmcore 和 kdump 前,DASD 设备会被在线,在描述的场景中可以正常工作。
- BZ#753756
- 当在具有
ext4
文件系统的系统中运行 kdump 时,kdump initrd (初始 RAM 磁盘)可能会创建为零字节大小。这是因为系统会在将更改写入 ext4 文件系统上的磁盘前等待几秒钟。因此,kdump 初始根文件系统(rootfs)无法挂载,kdump 会失败。这个版本修改了 kexec-tools,以便在创建 initrd 后执行同步操作。这样可确保 initrd 在尝试挂载 rootfs 前正确写入磁盘,kdump 现在可以成功在带有 ext4 文件系统的系统中捕获内核转储。 - BZ#759003
- 使用 SSH 或 NFS 时,如果使用没有网关的静态 IP,则无法捕获 vmcore 文件。这是因为 mkdumprd 实用程序将一个空值作为网关地址写入 initrd。在这个版本中,网关地址不会被分配任何值,在这些环境中 kdump 可以成功。
- BZ#782674
- 在 IBM System z 上,makedumpfile 命令可能会失败,因为它没有将虚拟地址正确转换为物理地址。在这个版本中,makedumpfile 在这些架构上正确处理虚拟地址,命令执行会在此场景中成功。
- BZ#784114
- kdump 工具无法为 kdump shell 加载正确的字体。因此,在 kdump shell 中的 Cyrillic alphabet 中返回带颜色的字符。在这个版本中,控制台字体安装在 kdump initrd 中,kdump 默认 shell 会如预期在拉丁字母返回带颜色字符。
- BZ#794580
- mkdumprd 工具只处理 modprobe 的默认路径(
/lib/modules/ <kernelVersion> /
目录),且不会覆盖其他模块目录。因此,如果其他模块位于默认路径目录中,则 mkdumprd 会失败。mkdumprd 工具现在处理/lib/modules/ <kernelVersion> /updates/
以及/lib/modules/ <kernelVersion> /
目录,在这种情况下,mkdumprd 成功。 - BZ#697657
- 在以前的版本中,即使 SELinux policycoreutils 软件包没有被安装,mkdumprd 使用 sestatus 和 setenforce 工具。因此,kdump 在传播 ssh 密钥时重写以下错误:
/etc/init.d/kdump: line 281: /usr/sbin/sestatus: No such file or directory
在这个版本中,mkdumprd 获取有关 policycoreutils 可用性的信息,并使用 sysfs 工具处理 SELinux 属性。注意删除 policycoreutils 软件包后,必须通过在内核命令行中添加selinux=0
选项来禁用 SELinux。启用 SELinux 且未安装的 policycoreutils 软件包的系统被视为一个有问题的环境,kdump 会返回上述错误。当您删除 policycoreutils 软件包时,请确保也禁用了 selinux=0 的 SELinux;否则,问题将保留。 - BZ#801497
- 受限 shell (
rksh
)不允许使用管道进行重定向。因此,如果请求内核转储时使用的远程用户使用受限 shell 配置,kdump 会失败。在这个版本中,dd 命令被用来复制 vmcore,当远程用户使用 rksh shell 时 kdump 会成功。 - BZ#635583
- 在以前的版本中,如果通过无线接口调用,则 kdump 可能会变得无响应,因为即使 kdump initrd 中包含了接口设备的
iwlwifi
(Intel Wireless WiFi Link)模块。在这个版本中,iwlwifi
模块不再被加载到 kdump initrd 中。 - BZ#600575
- 在以前的版本中,kdump 加载存储驱动程序的顺序会导致在某些 32 位 x86 系统中有时无法正确检测到 USB 附加存储。因此,设备被错误地枚举,因此转储会失败。这个问题已被解决,内核转储可以成功进行。
- BZ#699318
- mkdumprd 工具会忽略
PREFIX
变量设置,if config 工具在通过网络进行内核转储过程中失败。在这个版本中,mkdumprd 工具正确处理ifcfg-<device>
网络脚本中的PREFIX
变量设置。 - BZ#794981
- 当转储目标是原始设备时,kdump 初始化脚本会在
/var/crash/
目录中创建一个不必要的目录和一个空的 vmcore 文件。在这个版本中,kdump 会检查目标设备的设备标头。如果标头无效,kdump 不会处理崩溃的情况,且原始设备上不再创建冗余资源。 - BZ#729675
- 当引导 kdump 环境失败时,kdump 会挂载 root 设备,并在
kdump.conf
文件中没有指定默认操作时在用户空间中运行 init 脚本。但是,在用户空间中运行 init 来捕获内核转储可能会导致转储内核中的 OOM (超出内存)状态。在这个版本中,在这些情况下内核会被默认重启。另外,一个新的默认选项mount_root_run_init
已添加到 kdump 中。使用这个选项时,内核会挂载 root 分区,并运行 init 和 kdump 服务来尝试保存内核内核转储,这允许用户应用 kdump 之前的行为。
功能增强
- BZ#738866
- 添加了对 IBM System z 上的 kdump 的支持。
- BZ#805040
- firstboot 工具现在支持为 IBM S/390 架构配置 kdump。
- BZ#694498
- 在以前的版本中,vmcore 代码转储可以包含敏感信息,如安全密钥,并可能会泄漏 root 用户的安全信息。在这个版本中,makedumpfile 工具过滤出此类敏感内核数据和 vmcore 不再包含任何敏感安全信息。
- BZ#738864
- 在 IBM System z 上,makedumpfile 工具已被改进来处理 vmcore,输出不再包含假的错误。
- BZ#795804
- kdump 工具现在支持 NFSv4 文件系统格式。
- BZ#736886
- makedumpfile 现在可以处理 Fujitsu 的
sadump
转储格式。 - BZ#727413
- kdump 工具现在支持多路径存储设备作为其转储目标。
5.137. keyutils
5.137.1. RHEA-2012:0963 - keyutils 增强更新
功能增强
- BZ#772497
- 在这个版本中,request-key 工具允许提供多个配置文件。request-key 配置文件及其关联的密钥类型特定变体由 request-key 实用程序使用,来确定应运行哪个程序来实例化密钥。
5.138. krb5
5.138.1. RHBA-2012:1294 - krb5 程序错误修复更新
错误修复
- BZ#852455
- 由于之前的更新在本地应用补丁中,由 libkrb5 库创建的文件被授予正确的 SELinux 标签。但是,每次重播缓存的每个清除都会导致重新加载文件上下文配置,以确保将正确的标签应用到新创建的替换重播缓存文件中。这会导致应用程序出现大量性能下降,它们接受身份验证并使用重播缓存。在这个版本中,只有在修改上下文配置文件时,才会加载上下文配置,且仅在卸载库或调用应用程序退出时才释放配置,从而大大降低此问题的影响。
安全修复
- CVE-2012-1015
- 在 MIT Kerberos KDC 处理初始身份验证请求(AS-REQ)的方式中发现了一个未初始化的指针使用缺陷。一个远程的未经身份验证的攻击者可以利用此漏洞通过特制的 AS-REQ 请求使 KDC 崩溃。
- CVE-2012-1013
- 在 MIT Kerberos 管理守护进程 kadmind 中发现了一个 NULL pointer dereference 缺陷。具有 "create" 特权的 Kerberos 管理员可使用此缺陷使 kadmind 崩溃。
5.138.3. RHBA-2012:0921 - krb5 程序错误修复和安全更新
程序错误修复
- BZ#748528
- 当使用 keytab 文件获取初始凭证时,客户端无法生成加密时间戳预身份验证数据,以发送到 KDC。如果 keytab 文件没有包括第一个加密类型的密钥,则服务器建议客户端可以使用,即使客户端拥有此目的可接受的其他密钥。当 keytab 文件不包含 AES 密钥时,尝试使用带有 keytab 文件的 kinit 命令通常会失败,但客户端的库和 KDC 两个支持的 AES。如果客户端库和 KDC 至少支持一个 keytab 包含密钥的加密类型,客户端现在会在获取凭证时成功。
- BZ#752405
- 如果 KDC 是使用"-w"标志启动的,并且它启动的其中一个工作进程正常退出,则 KDC 无法正确更新其仍在运行的子进程的数量。因此,KDC 会在关闭后等待一个或多个 worker 进程退出,但因为这些进程已经退出,所以永远不会完成。这个更新向后移植了一次修复,可以正确地考虑正在运行的进程的数量,KDC 现在会在描述的场景中正确关闭。
- BZ#761006
- 如果 GSS 接收器应用程序导出了其安全上下文,在建立安全上下文时所使用的重播缓存的文件句柄将无法正确关闭。因此,打开的文件数量会增加,直到达到进程的限制为止。当这样发生在 rpc.svcgssd 中时,它会导出其所有上下文来将信息传递给内核,守护进程会变得无响应。在这个版本中,对这个程序错误的修复向后移植,文件句柄现在可以正确关闭。
- BZ#813883
- 当系统使用 SSSD 向 Windows AD 进行身份验证时,在登录后创建的 Kerberos 凭证缓存文件被错误标记并带有不正确的 SELinux 上下文。这是因为没有为新的重播缓存重新创建 SELinux 上下文,而旧的重播缓存的上下文用于新文件。Kerberos 凭证缓存文件现在可以使用正确的 SELinux 上下文正确标记。
- BZ#801033
- 卸载 krb5-workstation 软件包时,在文件已被删除后,软件包中的 info 页面会从 info 页面索引中删除。现在,info 页会在删除前从 info 页面索引中删除。
- BZ#786216
- 当客户端要求 KDC 请求一个票据时,它可以在其请求中设置标记(规范位),表示它接受引用到另一个域(如果该服务位于不同的域)。如果服务位于不同的域中,则 KDC 可能会通过跨域 TGT 回复,表示请求应向不同的域发出。在某些情况下,例如获取密码更改凭证时,会生成同一域的引用 TGT。这可能会在被发现的过程中创建循环,并返回错误,无法获取密码更改凭证。在这个版本中,同一请求会在没有规范位集的情况下重试,从 KDC 告知所需的结果。
功能增强
- BZ#761523
- 在这个版本中,对 Kerberos 客户端进行后向移植修改,允许服务器应用程序在凭证缓存中存储通过 s4u2proxy 获取的凭证。
- BZ#799161
- 这个更新向后移植修改,允许 GSS 接受器应用程序更好地接受来自使用服务器默认机制之外的机制的验证,但服务器仍然可以支持。
- BZ#782211
- 以前的 Red Hat Enterprise Linux 版本包含修改,允许 Kerberos 感知服务接受使用标记为版本号 "0" 的密钥加密的身份验证请求,无论 keytab 中使用的版本号是什么。现在,当服务没有为它使用的 API 指定主体名称时,这是默认行为,但 krb5_verify_init_creds () 函数以及使用它的应用程序,仍需要修改来支持这些情况。这个版本重新引入它们。
5.139. ksh
5.139.1. RHBA-2012:0952 - ksh 程序错误修复更新
程序错误修复
- BZ#577223
- 在以前的版本中,当在一个多字节环境中运行时,ksh 有时不会在读取超时后恢复终端设置。这可能导致终端不再回显输入字符。此更新会应用补丁,确保终端在超时后正确恢复,用户输入现在可以按预期回显。
- BZ#742930
- 当命令替换后退出子 shell 时,ksh 可能会预先退出,且没有任何错误消息。在这个版本中,ksh 不再在这些情况下终止,并正确处理所有后续命令。
- BZ#743840
- 在以前的版本中,ksh 不会阻止修改只读类型的变量。因此,在修改此类变量时,ksh 会意外终止并出现分段错误。在这个版本中,不允许修改只读变量,ksh 会在这种情况下打印错误消息。
- BZ#781498
- 在以前的版本中,ksh 在执行前不会关闭某些文件描述符。这可能会导致文件描述符泄漏,某些应用程序可能会报告错误消息。在这个版本中,如果适当,文件描述符被标记为在执行时关闭,因此不再会发生文件描述符泄漏。
- BZ#781976
- 在某些情况下,ksh unnecesarily 调用 vfork ()函数。创建了一个额外的进程,可能很难确定脚本的运行实例数量。补丁已被应用于解决这个问题,如果不需要,不再创建额外的进程。
- BZ#786787
- 在以前的版本中,ksh 可能会在输入流中错误地看到。这可能会导致脚本的 here-document 部分中的数据崩溃。在这个版本中,修正了 seek 的行为,因此这个场景中数据不再被破坏。
- BZ#798868
- 在以前的版本中,ksh 不会为其包含文件描述符信息的数据结构分配正确的内存量。当长时间运行使用文件描述符的任务时,ksh 会意外终止并出现分段错误。在这个版本中,会分配正确内存量,如果文件描述符被广泛使用,ksh 不再会崩溃。
- BZ#800684
- 在以前的版本中,ksh 无法正确扩展波形符(~)字符。例如,波形符前缀中的字符不被视为登录名称,而是作为路径的一部分,并显示 "No such file or directory" 消息。底层源代码已被修改,在这样的场景中,波形符扩展现在可以正常工作。
5.139.2. RHBA-2013:1019 - ksh 程序错误修复更新
错误修复
- BZ#927584
- 在以前的版本中,输出命令替换并不总是被正确重定向。因此,这里的输出可能会丢失。在这个版本中修复了命令替换的重定向代码,现在 here-document 包含了命令替换的输出结果。
5.140. latencytop
错误修复
- BZ#633698
- 当以普通用户身份运行 LatencyTOP 时,LatencyTOP 会尝试并无法挂载 debug 文件系统。此时会显示一个误导的错误消息,建议安装 kernel-debug,即使这已经是正在运行的内核。LatencyTOP 已被改进,在以普通用户身份运行时退出并显示"权限被拒绝"。另外,fsync 视图已从 "latencytop" 软件包中删除,因为它依赖于 Red Hat Enterprise Linux 内核或上游内核永不存在的非标准内核 tracer。因此,LatencyTOP 不再尝试挂载 debugfs 文件系统。
功能增强
- BZ#726476
- "latencytop" 软件包需要 GTK 库。在服务器中安装 GTK 库可能会不可靠。现在,软件包名称 "latencytop-tui" 下提供了没有 GTK 库依赖项的 LatencyTOP 构建。
5.141. libbonobo
5.141.1. RHBA-2012:0908 - libbonobo 程序错误修复更新
错误修复
- BZ#728458
- 在此次更新之前,激活服务器会错误地处理解析错误,例如在服务器文件中错误地嵌套标签。因此,在某些情况下,激活服务器可能会意外终止,并在激活路径中遇到无效服务器文件时意外终止并中止信号。在这个版本中,修改底层代码,以便无效的文件不再导致意外终止。
5.142. libburn
5.142.1. RHBA-2012:1273 - libburn 程序错误修复更新
错误修复
- BZ#822906
- 在此次更新之前,libburn 库包含 "burn_write_close_track" 命令,该命令冗余,且不受所有刻录驱动器的完全支持。因此,刻录过程 CD-R 或 CD-RW 可在刻录过程后关闭跟踪时记录错误,即使数据被正确写入。在这个版本中,删除了这个冗余调用。
5.143. libcgroup
5.143.1. RHBA-2012:0867 - libcgroup 程序错误修复更新
错误修复
- BZ#758493
- 在此次更新之前,libcgroup 软件包中的一个错误会导致 admin_id 和 admin_gid 无法正确显示,因为 cgroup 控制文件没有与 'tasks' 文件不同。在这个版本中,通过在 'cgroup_fill_cgc ()' 函数中添加检查来查看文件是否为 'tasks' 文件。
5.144. libdvdread
5.144.1. RHBA-2012:1247 - libdvdread 程序错误修复更新
错误修复
- BZ#842016
- 在此次更新之前,dvd_stat_t 结构不是公共的。因此,需要此类结构的源代码无法编译。在这个版本中,dvd_stat_t 结构变为公共结构,允许使用这个类型编译代码。
5.145. liberation-fonts
错误修复
- BZ#772165
- 在以前的版本中,由 liberation-fonts 软件包提供的"fonts.dir"文件为空。因此,即使安装了软件包,旧应用程序也无法使用 liberation-fonts。这是因为 "mkfontscale" 命令是在 "mkfontdir" 命令后运行的。运行命令的顺序已更改,旧应用程序可以按预期使用 liberation-fonts。
5.146. libevent
5.146.1. RHBA-2012:0968 - libevent 程序错误修复更新
错误修复
- BZ#658051
- 在此次更新之前,可选存储库中的几个 multilib 文件可能会导致冲突。因此,这些文件不能同时使用主架构和辅助架构。这个版本修改了底层源代码,以便不会再发生多lib文件冲突。
5.147. libexif
安全修复
- CVE-2012-2812,CVE-2012-2813,CVE-2012-2814,CVE-2012-2836,CVE-2012-2837,CVE-2012-2840,CVE-2012-2841
- libexif 处理 Exif 标签的方式发现了多个漏洞。攻击者可以创建一个专门制作的镜像文件,该文件在与 libexif 链接的应用程序中打开时,可能会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
5.148. libguestfs
安全修复
- CVE-2012-2690
- 它发现,使用 virt-edit 编辑文件会使文件处于全局可读状态(不保留文件所有者或安全增强型 Linux 上下文)。如果主机上的管理员使用 virt-edit 来编辑客户机内的文件,则该文件将保留为全局可读的权限。这可能会导致非特权的 guest 用户访问文件,否则他们将无法访问。
程序错误修复
- BZ#647174
- 在克隆时,virt-clone 工具错误地采用原始虚拟机镜像的一些属性,例如:网络接口的 udev 规则:克隆随后是使用与原始虚拟机 NIC 相同的 NIC 创建的。在这个版本中,添加了 virt-sysprep 和 virt-sparsify 工具来解决这个问题。virt-sysprep 工具可以从客户机中删除状态,virt-sparsify 可以使客户机镜像稀疏。建议用户使用 virt-sysprep 和 virt-sparsify 作为替换或与 virt-clone 结合使用。
- BZ#789960
- 当
libguestfs
守护进程试图挂载不存在的磁盘时,libguestfs 守护进程会意外终止。这是因为 libguestfs 会向任何意外尝试挂载不存在的磁盘的程序返回一个意外错误,并且所有用于处理此类情况的进一步操作都会失败。在这个版本中,libguestfs
返回适当的错误消息,并在描述的场景中保持稳定。 - BZ#790958
- 如果同时调用
guestfs_launch()
功能的一个程序中的两个线程,则可以返回意外错误。在这种场景中,libguestfs 库中的相应代码已被修改为 thread-safe,库可以从带有多个 libguestfs 处理的多线程程序中使用。 - BZ#769359
- 在块设备关闭后,udev 设备管理器会触发重新打开块设备的进程。因此,libguestfs 操作偶尔会失败,因为它们需要立即依赖磁盘来重新读取分区表。这通常发生 virt-resize 功能。在这个版本中,操作会等待 udev 操作完成,在上述场景中不再失败。
- BZ#809401
- 在 Fedora 17 中,
/bin
目录是一个符号链接,而在以前的版本中是目录。由于这个变化,libguestfs 无法使用 Fedora 17 及更新版本检查客户机。在这个版本中,libguestfs 检查已被修改,它现在可以如预期识别这样的客户机。 - BZ#729076
- 在以前的版本中,libguestfs 被视为在 root 中包含
autoexec.bat
或boot.ini
或ntldr
文件的磁盘,作为 Windows 根磁盘候选者。如果客户机有 HP 恢复分区,libguestfs 无法识别 HP 恢复分区,并将系统处理为双引导。因此,有些 virt 工具无法正常工作,因为它们不支持多引导客户机。有了这个更新,libguestfs 可以正确地调查潜在的 Windows 根磁盘,不再将特殊的 HP 恢复分区识别为 Windows 根磁盘。 - BZ#811673
- 如果启动某些设备失败,libguestfs 不会设置错误字符串。当 Python 程序处理绑定时,错误字符串不是
NULL
,所以当g.launch()
功能在某些情况下调用 功能时,绑定过程会意外终止。在这个版本中,在上述场景中的所有失败路径中都正确设置了错误字符串,在这些情况下调用g.launch()
功能时,Python 程序不再会用分段错误终止。 - BZ#812092
- qemu 模拟器无法打开包含冒号字符的磁盘镜像文件(
:
)。在以前的版本中,libguestfs 在将其发送到 qemu 前解析到磁盘镜像的链接。如果解析的链接包含冒号字符,则 qemu 无法运行。另外,libguestfs 有时因为处理特殊字符不正确而无法在这些情况下打开磁盘镜像文件。在这个版本中,libguestfs 不再解析到磁盘镜像的链接,然后再将其发送到 qemu,并且能够处理任何文件名,但包含冒号字符的文件名除外。另外,libguestfs 现在会在显示包含冒号字符的文件名时返回正确的诊断消息。
功能增强
- BZ#741183
- libguestfs 应用程序现在提供 virt-alignment-scan 工具并更新 virt-resize,它可以诊断客户机上未对齐的分区,以便您可以修复问题并改进分区的性能。如需更多信息,请参阅 virt-alignment-scan (1)和 virt-resize (1)手册页。
- BZ#760221
- 在以前的版本中,libguestfs 操作无法处理到 HP Smart Array (cciss)设备的路径。当 virt-p2v 工具转换使用 Linux 软件 RAID 设备在虚拟机中运行的物理计算机时,libguestfs 检查无法处理 /etc/fstab 文件中的路径。在这个版本中,增加了对此类 cciss 路径的支持,virt-p2v 工具现在可以成功转换这些客户机。
- BZ#760223
- 当 virt-p2v 工具转换使用 Linux 软件 RAID 设备在虚拟机中运行的物理计算机时,libguestfs 检查无法处理
/etc/fstab
文件中的路径。在这个版本中,增加了对此类 RAID 路径的支持,virt-p2v 工具现在可以成功转换这些客户机。
5.149. libgweather
错误修复
- BZ#704105
- 在以前的版本中,libgweather 库不包含 Jerusalem 城市的信息,因此无法搜索城市,或者从InventoryService 面板小程序提供的城市列表中选择城市。在这个版本中,在 libgweather 数据库中添加了缺少的信息,因此用户现在可以选择 Jerusalem 作为有效选项。
5.150. libhbaapi
5.150.1. RHBA-2012:0847 - libhbaapi 程序错误修复更新
错误修复
- BZ#806731
- 在此次更新之前,hba.conf 文件没有标记为从 libhbaapi 规格文件中的验证中排除。因此,如果文件被改变,文件验证功能 "rpm -V libhbaapi" 会报告 hba.conf 文件中的错误。在这个版本中,spec 文件中的 hba.conf 标记为 "%verify (not md5 size mtime) "。现在,hba.conf 文件不再被错误地验证。
5.151. libhbalinux
5.151.1. RHEA-2012:0848 - libhbalinux 增强更新
5.152. libibverbs-rocee 和 libmlx4-rocee
错误修复
- BZ#805717
- 在以前的版本中,在某些情况下,运行 modprobe 可能会导致死循环。因此,系统会耗尽进程,需要重启才能恢复。这个版本修改了底层代码,以便 /etc/modprobe.d/libmlx4.conf 文件中的选项配置不正确,不再需要重启系统。
5.153. libproxy
安全修复
- CVE-2012-4505
- libproxy 处理代理自动配置(PAC)文件的下载方式中发现了一个缓冲区溢出缺陷。托管 PAC 文件或 man-in-middle 攻击者的恶意服务器可能会使用这个缺陷导致应用程序使用 libproxy 崩溃或可能,如果 libproxy 获取的代理设置(来自环境或桌面环境设置)指示使用 PAC 代理配置。
5.154. libreoffice
安全修复
- CVE-2012-2665
- 在 OpenDocument Format 文件的清单文件中 LibreOffice 处理加密信息的方式中发现了基于堆的缓冲区溢出漏洞。攻击者可以提供一个专门制作的 OpenDocument 格式文件,该文件在 LibreOffice 应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
5.155. libselinux
5.155.1. RHBA-2012:0907 - libselinux 程序漏洞修复更新
错误修复
- BZ#717147
- 当 libselinux 库正在等待 netlink 套接字时,如果套接字收到了 EINTR 信号,它会返回一个错误,这可能会导致 dbus 等应用程序失败。在这个版本中,库会在收到 EINTR 信号时重试 netlink 套接字,而不是失败。
5.155.2. RHEA-2013:0808 - libselinux 增强更新
功能增强
- BZ#956982
- 在以前的版本中,无法直接替换 "/" 目录。在这个版本中,添加了对替换根目录的支持,以便允许在其他根目录下正确标记所有目录和文件。
5.156. libservicelog
错误修复
- BZ#814171
- 在此次更新之前,"servicelog_manage --truncate"命令只清除"events"表。因此,其他表不会被删除。在这个版本中,修改选项 "servicelog_event_delete ()" 函数,以便与已删除事件关联的所有行都被正确删除。现在,"callouts"、"os"、"rtas"、"enclosure"和"repair_actions"的表会与"events"表一起清除。
5.157. libssh2
5.157.1. RHBA-2012:1048 - libssh2 程序错误修复更新
错误修复
- BZ#834211
- 在以前的版本中,当以阻塞模式运行时,libssh2 会错误地返回 LIBSSH2_ERROR_EAGAIN 错误代码。libssh2 在内部使用错误代码在套接字上启动阻止操作。但是,错误代码是,在成功时未正确清除,并通过 libssh2 的公共 API 泄漏。在启动阻塞操作前,应用了上游补丁来清除错误代码,当以阻塞模式运行时 libssh2 不再返回 LIBSSH2_ERROR_EAGAIN。
5.158. libtar
5.158.1. RHBA-2012:0462 - libtar 程序错误修复更新
错误修复
- BZ#729009
- 在以前的版本中,libtar 软件包中包含的构建系统配置文件与 rpmbuild 工具在软件包构建期间从二进制文件中提取调试信息的方式不兼容。因此,libtar-debuginfo 软件包不包含调试信息。一个补丁已被应用于解决这个问题,libtar-debuginfo 软件包现在包含适当的内容。
5.159. libtiff
安全修复
- CVE-2012-4447
- 在 libtiff 使用 Pixar Log Format 编码处理某些 TIFF 镜像的方式中发现了一个基于堆的缓冲区溢出缺陷。攻击者可以创建一个专门编写的 TIFF 文件,该文件在打开时可能会导致应用程序使用 libtiff 崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2012-5581
- 在 libtiff 处理 DOTRANGE 标签的方式中发现了一个基于堆栈的缓冲区溢出缺陷。攻击者可以使用此缺陷创建一个专门制作的 TIFF 文件,当打开时会导致与 libtiff 链接的应用程序崩溃或可能执行任意代码。
- CVE-2012-3401
- 在 tiff2pdf 工具中发现了一个基于堆的缓冲区溢出缺陷。攻击者可以利用此漏洞创建一个专门设计的 TIFF 文件,该文件会导致 tiff2pdf 崩溃或可能执行任意代码。
- CVE-2012-4564
- ppm2tiff 工具中发现了一个缺少的返回值检查漏洞,从而导致基于堆的缓冲区溢出。攻击者可以利用此漏洞创建一个特殊的 PPM (可移植的 Pixel Map)文件,该文件会导致 ppm2tiff 崩溃或可能执行任意代码。
安全修复
- CVE-2012-2088
- libtiff 在签名和未签名的整数值之间无法正确转换,从而导致缓冲区溢出。攻击者可以使用此缺陷创建一个专门制作的 TIFF 文件,当打开时会导致与 libtiff 链接的应用程序崩溃或可能执行任意代码。
- CVE-2012-2113
- tiff2pdf 工具中发现了多个整数溢出漏洞,导致基于堆的缓冲区溢出漏洞。攻击者可以使用这些漏洞来创建专门制作的 TIFF 文件,该文件会导致 tiff2pdf 崩溃或可能执行任意代码。
5.160. libunistring
错误修复
- BZ#732017
- 在以前的版本中,当调用 malloc () 函数时,不会检查返回的指针是否被执行,来查找是否已成功分配内存。因此,如果返回空指针,这可能会导致 libunistring 库在低内存情况下出现错误。在这个版本中,添加了缺少的检查来正确处理这样的情况。
5.161. libusb1
5.161.1. RHBA-2012:0759 - libusb1 程序错误修复和安全更新
5.162. libuser
5.162.1. RHBA-2012:0455 - libuser 程序错误修复更新
程序错误修复
- BZ#670151
- 在轻量级目录访问协议(LDAP)中创建用户帐户时,libuser 库将使用 "gecos" 属性的值作为 "cn" 属性的默认值。当 "gecos" 属性为空时,这会导致 "cn" 的值无效,且用户帐户的创建失败。在这个版本中,如果 "gecos" 属性为空,则帐户的用户名存储在 "cn" 属性中,从而成功创建用户帐户。
- BZ#724987
- 当通过从 /etc/skel 目录复制文件来填充主目录时,libuser 会忽略"set user-id"和"set group-id"标志。这使得无法在主目录中设置组共享目录。在这个版本中,会保留 "set user-id" 和 "set group-id" 标记。
- BZ#788521
- 在以前的版本中,当在特定大小的文件中搜索用户或组帐户信息时,libuser 库可能会意外终止并出现 segmentation 错误。补丁已被应用于解决这个问题,在上述场景中不再崩溃。
5.163. libvirt-cim
错误修复
- BZ#799037
- 在以前的版本中,libvirt-cim 软件包需要与 tog-pegasus 软件包的依赖项,其中包含基于 OpenPegasus 的企业管理(WBEM)服务。但是,这不正确,因为 libvirt-cim 不需要特别需要g-pegasus,但任何 CIM 服务器都不需要。在这个版本中,libvirt-cim 已改为需要 cim-server。libvirt-cim 和 sblim-sfcb 的 spec 文件已被适当修改,libvirt-cim 现在使用其中一个软件包作为其依赖项。
功能增强
5.164. libvirt-java
错误修复
- BZ#836920
- 在此次更新之前,域的"setSchedulerParameters ()"方法无法正常工作,因为 jna 转换失败。这个版本修改了转换过程。现在,给定参数可以如预期使用。
5.165. libvirt-qmf
错误修复
- BZ#830087
- Red Hat Enterprise Linux 6.2 中包含的 libvirt-qmf 软件包的版本为 0.3.0-7,而 Red Hat Enterprise Linux 6.3 中的软件包则为 0.3.0-6。为了防止升级出现可能的问题,Red Hat Enterprise Linux 6.3 现在使用 libvirt-qmf 版本 0.3.0-8。
错误修复
- BZ#806950
- 在此次更新之前,Qpid API 使用 libpidclient 和 libpidcommon 库,这些库不是应用程序二进制接口(ABI)稳定。在这个版本中,删除了这些依赖项,因此 Qpid 重建不会影响 libvirt-qmf 软件包。
5.166. libvirt
5.166.1. RHBA-2012:1595 - libvirt 程序错误修复更新
程序错误修复
- BZ#877024
- AMD FX 系列处理器包含"模块",这些模块由内核作为线程和内核而报告。在以前的版本中,libvirt 中的处理器拓扑检测代码无法检测到这些模块。因此,libvirt 报告的实际处理器数量的两倍。在这个版本中,添加到系统报告的处理器总数的拓扑结构会被正确报告,即使实际拓扑必须在 virCapabilities ()函数的输出中检查。请注意,因为性能原因,应使用拓扑检测的功能输出。NUMA 拓扑对性能有严重影响,但物理拓扑的影响可能与这不同。
- BZ#884713
- 每当 virDomainGetXMLDesc ()函数在无响应的域中执行时,调用也会变得无响应。在这个版本中,QEMU 在域上的内存用量有变化时发送 BALLOON_CHANGE 事件,以便 virDomainGetXMLDesc ()不再需要查询无响应域。因此,virDomainGetXMLDesc ()调用在上述场景中不再挂起。
安全修复
- CVE-2013-0170
- 在某些错误条件下,libvirtd 处理连接清理的方式中发现了一个安全漏洞。一个远程攻击者可以建立对 libvirtd 的只读连接,可能会使用这个缺陷使 libvirtd 或可能具有 root 用户权限执行任意代码。
安全修复
- CVE-2012-4423
- 在 libvirtd 的 RPC 调用处理中发现了一个安全漏洞。攻击者能够建立对 libvirtd 的只读连接,可以通过发送一个 RPC 消息作为 RPC 编号或 RPC 编号在 RPC 分配表中差距,从而使用此缺陷使 libvirtd 崩溃。
程序错误修复
- BZ#858988
- 当 libvirtd.conf 文件中存在 host_uuid 选项时,augeas libvirt lens 无法解析该文件。这个 bug 已被修复,augeas libvirt lens 现在会在上述场景中按预期解析 libvirtd.conf。
- BZ#859376
- 磁盘热插拔是一个两部分操作:qemuMonitorAddDrive ()调用后跟 qemuMonitorAddDevice ()调用。当第一部分成功但第二次失败时,libvirt 无法回滚第一部分,并且设备仍然在使用中,即使磁盘热插拔失败。在这个版本中,在上述场景中正确执行驱动器添加的回滚,磁盘热插现在可以正常工作。
- BZ#860720
- 当使用块设备和块 rebase 操作启动虚拟机时,操作会在 blockJobAbort () 函数中完成时失败。在这个版本中,为后备文件和 rebase 操作重新标记并配置 cgroups,现在 rebase 操作可以成功。
安全修复
- CVE-2012-3445
- 在 libvirtd 的 RPC 调用处理中发现了一个安全漏洞。攻击者能够建立与 libvirtd 的只读连接,并可使用特殊精心设计的 RPC 命令触发此漏洞,该命令可将参数设置为 0,从而导致 libvirtd 访问无效的内存和崩溃。
程序错误修复
5.166.5. RHBA-2012:1484 - libvirt 程序漏洞修复更新
程序错误修复
- BZ#868972
- 当 libvirt 找不到适合主机 CPU 的 CPU 模型时,它不会在主机功能中提供 CPU 拓扑,即使拓扑被正确检测到。因此,使用主机 CPU 拓扑但没有 CPU 模型的应用程序无法在主机功能中看到拓扑。在这个版本中,主机功能 XML 描述包含主机 CPU 拓扑,即使主机 CPU 模型未知。
- BZ#869650
- 在以前的版本中,为 libvirtd 守护进程(65536 字节)提供的 RPC 消息的最大大小的固定限制并不总是足够。因此,超过这个信息可能会丢弃,使客户端无法获取重要数据。在这个版本中,传入消息的缓冲已被动态,libvirtd 现在会根据给定消息需要分配尽可能多的内存,从而允许发送更大的消息。
- BZ#869723
- 在此次更新之前,libvirt 使用了一个不适合的检测流程来检测系统的 NUMA 和处理器拓扑。因此,一些高级多处理器系统的拓扑被错误地检测到,管理应用程序无法利用系统的完整潜力。现在,这个检测已被改进,即使现代系统中也会正确识别拓扑。
- BZ#873292
- 在某些情况下,在保存域和内核没有报告空间错误(ENOSPC)时,iohelper 进程无法将数据写入磁盘。在这个版本中,libvirt 在描述的场景中调用 fdatasync ()函数,以强制将数据写入磁盘或捕获写错误。因此,如果发生写错误,它现在可以被正确捕获并报告。
- BZ#874235
- libvirt 中的某些操作只能在域暂停时执行,以防止数据崩溃。但是,如果恢复操作失败,则管理应用程序不会因为没有发送事件而获得通知。在这个版本中引进了 VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR 事件和管理应用程序,现在可以更接近域状态,并相应地操作。
- BZ#875770
- libvirt 允许用户取消持续迁移。在以前的版本中,如果在迁移准备阶段尝试取消迁移,则 qemu 丢失了请求,且不会取消迁移。在这个版本中,virDomainAbortJob ()函数在进行取消请求时设置标记,并在迁移开始的主要阶段检查此标志。现在,即使在准备阶段,也可以正确取消迁移。
- BZ#875788
- 当 libvirt 正在销毁 qemu 进程时,清理操作会释放一些内部结构和锁定。但是,由于用户可以同时销毁 qemu 进程,libvirt 包含 qemu 驱动程序锁定,以保护域列表及其状态等。在以前的版本中,函数会在已经启动时尝试设置 qemu 驱动程序锁定,从而创建一个死锁。现在,代码已被修改,在尝试设置它前,始终检查锁定是否是空闲的,从而解决了这个问题。
5.166.6. RHBA-2012:1095 - libvirt 程序错误修复更新
程序错误修复
- BZ#836916
- 在以前的版本中,重复将 PCI 设备附加到客户机域可能会导致 libvirt 守护进程意外终止。在这个程序错误的根中存在一个错误的结构可用操作,重复附加和分离 PCI 设备的操作现在可以正常工作。
- BZ#836919
- 在某些 NUMA 构架中,libvirt 无法处理并公开 NUMA 拓扑,可能会导致性能下降。现在,这些更新的软件包可以正确地解析并公开此类机器上的 NUMA 拓扑,并进行正确的 CPU 放置,从而避免性能下降。
- BZ#838819
- 当使用 sanlock 守护进程锁定域所使用的资源时,如果这样的资源为只读,则锁定尝试会失败。因此,无法使用 CD-ROM 驱动器启动域。这个程序错误已被解决,sanlock 现在可以与只读设备正确使用。
5.166.7. RHBA-2012:1000 - libvirt 程序漏洞修复更新
程序错误修复
安全修复
- CVE-2012-2693
- 当试图将具有相同厂商或产品 ID 的多个 USB 设备附加到客户机时,总线和设备 ID 会被忽略。这可能会导致将错误的设备附加到客户机,从而给 guest root 访问权限。
程序错误修复
- BZ#754621
- 在以前的版本中,libvirt 在 QEMU 的底层代码中错误地释放 macvtap 网络驱动程序中的资源。因此,在尝试创建虚拟机后,为虚拟机创建的 macvtap 设备无法从系统中删除。在这种情况下,无法创建具有相同 MAC 地址的任何虚拟机。在这个版本中,删除了不正确的函数调用,并在描述的场景中从系统中正确删除 macvtap 设备。
- BZ#742087
- 在某些情况下,QEMU 监控中可能会出现异步作业和查询作业之间的竞争条件。因此,在 QEMU 客户机停止后,它会失败并显示以下错误消息:
error: Failed to start domain [domain name] error: Timed out during operation cannot acquire state change lock
在这个版本中,libvirt 可以正确处理这种情况,guest 现在会如预期启动。 - BZ#769500
- 在以前的版本中,libvirt 为 Python 绑定中虚拟机(500)的最大数量定义了一个硬限制。因此,vdsmd 守护进程无法正确发现具有 500 个客户机的系统上的所有虚拟机。在这个版本中,虚拟机数量是动态确定的,vdsmd 可以正确地发现所有虚拟机。
- BZ#739075
- 在以前的版本中,无法取消所有 migration-family 命令(例如,可以取消 "virsh migration" 命令,但不能取消 "virsh dump" 命令)。这个版本实现了用于"virsh 迁移"的机制用于其他命令,因此现在可以取消这些命令。
- BZ#773667
- 在以前的版本中,libvirt 无法验证同一 I/O 总线上是否有多个活跃的 PCI 设备。因此,即使这样的设备已经从主机分离,"virsh attach-device"命令也会失败。在这个版本中,libvirt 会正确检查同一 PCI I/O 总线中的活跃设备。现在,如果同一总线中的设备从主机分离,用户现在可以成功将设备附加到客户机。
- BZ#701654
- 当 libvirt 的 virDomainDestroy API 关闭 qemu 进程时,API 首先发送 SIGTERM 信号,然后等待 1.6 秒,如果进程仍在运行,API 会发送 SIGKILL 信号。在以前的版本中,这可能会导致数据丢失,因为 QEMU 中运行的客户机在意外终止前没有时间清除其磁盘缓存缓冲区。这个版本提供了一个新的标志 "VIR_DOMAIN_DESTROY_GRACEFUL"。如果在调用中将此标志设置为 virDomainDestroyFlags,则 SIGKILL 不会被发送到 qemu 进程;相反,如果达到超时且 qemu 进程仍然存在,则 virDomainDestroy 会返回错误。建议管理应用程序始终首先调用带有 VIR_DOMAIN_DESTROY_GRACEFUL 的 virDomainDestroyFlags。如果失败,则应用程序可以决定是否和何时再次调用 virDomainDestroyFlags,而无需 VIR_DOMAIN_DESTROY_GRACEFUL。
- BZ#784151
- libvirt 代码中使用的 localtime_r ()函数不是 async-signal 安全,这会导致在尝试生成日志消息时输入死锁。因此,virsh 工具变得无响应。这个版本应用向后移植补丁,并添加了一个新的 API 以 async-signal 安全方式生成日志时间戳。在这些情况下,virsh 工具不再挂起。
- BZ#785269
- 在以前的版本中,如果使用 Avahi 支持构建 libvirt 软件包,libvirt 需要在系统中安装 avahi 软件包作为其自己的安装的先决条件。如果因为安全问题而无法在系统中安装 avahi 软件包,则 libvirt 安装会失败。在这个版本中,修改 libvirt.spec 文件,使其只需要 avahi-libs 软件包。libvirt 软件包现在可以成功安装,libvirtd 现在会如预期启动。
- BZ#639599
- XML 文件的 schema 包含比 libvirt 实际强制执行的规则更严格。因此,即使 libvirt 接受 XML 文件,验证工具也无法验证客户机名称中包含特殊字符的客户机 XML 文件。在这个版本中,XML 模式允许没有限制的任意字符串,将规则强制设置为 hypervisor 驱动程序。现在,用户可以验证这些 XML 文件。
- BZ#785164
- 在以前的版本中,libxml2 工具无法按预期解析 IPv6 URI。因此,尝试通过 SSH 建立 IPv6 连接会失败,因为使用了无效的 IPv6 地址。现在,一个补丁已被应用于解决这个问题,在这种情况下现在可以成功建立 IPv6 连接。
- BZ#625362
- 在以前的版本中,libvirt-guests 初始化脚本会按顺序对客户机执行操作。因此,在有多个客户机的机器上,关闭过程需要很长时间,因为客户机正在等待其他客户机关闭。修改了 libvirt-guests init 脚本,以在域中启用并行操作,这减少了主机的关闭过程的时间。现在,客户机可以并行启动和关闭,并更有效地利用主机系统的资源。
- BZ#783968
- 在迁移 QEMU 虚拟机并使用 SPICE 进行远程显示时,迁移失败,且在某些情况下显示错误。这是因为,在打开传入迁移连接后,QEMU 无法接受目标主机上的任何其他连接。在这个版本中,底层代码已被修改,以延迟迁移连接,直到 SPICE 客户端连接到目标目的地。现在,客户虚拟机可以在迁移期间中断显示的情况下成功迁移。
- BZ#701106
- 在以前的版本中,如果机器将 ISO 镜像作为 CD-ROM 驱动器附加,且 ISO 域不活跃,则虚拟机的迁移会失败。在这个版本中,libvirt 为可移动设备引入了新的 startupPolicy 属性,它允许将 CD-ROM 和 diskette 驱动器标记为可选。使用此选项时,如果源镜像无法访问,虚拟机现在可以在没有可移动驱动器的情况下启动或迁移。
- BZ#725373
- 当目标主机在域迁移时丢失网络连接时,无法取消迁移过程。这个版本实现了内部 keep-alive 协议,它可以检测有问题的连接或阻止了 libvirt 守护进程。在迁移过程中检测到这种情况时,libvirt 现在会自动取消这个过程。
- BZ#729694
- 使用 IDE 和 VirtIO 磁盘的某些组合,客户机操作系统安装过程不会启动。这是因为在安装过程中向客户机显示的磁盘顺序与安装后使用的顺序不同。因此,该系统可能已安装在没有用作主可引导磁盘的磁盘上。有了这个更新,libvirt 可确保在安装过程中向客户机操作系统显示磁盘的顺序是正确顺序,稍后将在安装客户机操作系统后使用。
- BZ#729940
- 在以前的版本中,libvirt 不提供防止多个客户端访问控制台设备的任何方法。当两个客户端连接到客户机的单一控制台时,连接在从控制台设备读取数据时进入竞争条件。每个连接仅获得数据的片段,并且该片段没有复制到其他连接。这使得终端不能对所有同时连接都不可用。在这个版本中,在打开控制台时会执行检查,以确保在给定时间点只有一个客户端连接到它。如果这个会话被锁定,新的连接可以断开与之前的控制台会话的连接。用户现在可以安全地访问控制台并断开不活跃的会话,以便在控制台被意外连接时控制客户机。
- BZ#769503
- 虚拟化主机可以有数千个 CPU 并运行一千个客户机,并且 libvirt 应该能够控制所有这些 CPU。但是,libvirt 无法这样做,限制低于 1000,因此用户无法充分利用硬件。在这个版本中,传递给子进程的文件描述符数组会被动态分配,并可尽可能处理尽可能多的文件描述符。此外,init 和启动脚本已被更改,以便为 libvirtd 守护进程覆盖打开文件的最大限制。用户现在可以充分利用其硬件,并尽可能多地运行客户机。
- BZ#746666
- 由于安全标记的几个问题,libvirtd 会在无法访问的 NFS 存储设备中销毁带有磁盘的多个客户机域时变得无响应。在这个版本中,安全标记问题已被修复,libvirtd 在以下情况下不再挂起。
- BZ#795305
- 当客户机的实时迁移被完全终止(使用 Ctrl+C 组合键)时,libvirt 守护进程可能无法接受该客户机的任何将来的迁移请求,并显示以下错误消息:
error: Timed out during operation: cannot acquire state change lock
在这个版本中,增加了对注册清理回调(在连接关闭时为域调用的支持。迁移 API 对故障更为稳定,如果迁移过程终止,则可使用后续命令重启它。 - BZ#752255
- 在以前的版本中,libvirt 的 nwfilter 实施试图执行直接在 /tmp/ 目录中生成的临时文件,如果出于安全原因挂载 /tmp/,则会失败。nwfilter 的实现已被改进,以避免完全需要临时文件,因此 libvirt 不再需要修改或使用 /tmp/ 目录中的文件。
- BZ#575160
- 在此次更新之前,QEMU 在块设备托盘状态改变时不提供通知机制。因此,libvirt 无法确定块数据介质是否已弹出或者客户机中不存在。如果介质在客户机中弹出,libvirt 使用迁移时仍存在的介质启动客户机,保存和恢复客户机。在这个版本中,为可移动磁盘设备引入了一个新的 XML 属性来代表和更新遍历状态。
- BZ#758026
- 在某些情况下,可能会出现 poll ()事件处理程序和 dmidecode 工具之间的竞争条件。这个竞争条件可能会导致 dmidecode 等待无限期地对已经关闭的文件描述符执行读取操作。因此,无法使用 libvirtd 管理守护进程为虚拟客户机执行任何任务,或使用 virt-manager 实用程序执行某些任务,如创建新虚拟机。在这个版本中,修改底层代码,以便竞争条件不再发生,libvirtd 和 virt-manager 可以正常工作。
- BZ#758870
- 启动 QEMU 驱动程序时 libvirtd 守护进程可能会变得无响应,因为 dmidecode 工具需要大量时间来处理大量数据。因此,无法连接到 QEMU 驱动程序。现在,底层源代码已被修改来正确处理 POLLHUP 事件,因此用户现在可以在此场景中成功连接到 QEMU 驱动程序。
- BZ#767333
- 管理应用程序可以请求 guest 关闭或重新启动。但是,这是之前通过向客户端发出高级配置和电源接口(ACPI)事件来实现的,该事件可能已被忽略。因此,管理应用程序无法重启这样的客户端。这个版本实现了对在客户机上运行的 guest-agent 应用程序的支持,并在需要时调用 "shutdown" 或 "reboot" 命令。这意味着,即使客户机忽略 ACPI 事件,也可以关闭或重启客户机。
- BZ#754128
- 在关闭时,虚拟机会在关闭前将其状态从"Up"状态更改为"暂停"状态。"Paused" 状态表示客户机已经停止时的状态,但 QEMU 会清除其内部缓冲区,并等待 libvirt 终止它。这个状态更改混淆用户,因此这个更新会添加相应的事件,并修改 libvirt 以使用"shutdown"状态。虚拟机现在从"启用"移到"关闭",然后变为"关闭"状态。
- BZ#733587
- 如果域启动失败,无论设备是否被另一个域使用,域的主机设备都会被重新附加到主机。底层源代码已被修改,因此不会重新附加由另一个域使用的设备。
- BZ#726174
- Red Hat Enterprise Linux 和 "nc" 命令的 Debian 实现之间的差别,如存在或不存在"-q"选项,可能会导致各种问题。例如,试图使用来自客户端的远程连接预期到服务器的某些行为,提供另一个行为可能会在重新连接时失败。在这个版本中,libvirt 探测器的功能是"nc"命令,并且使用服务器的适当选项,即使选项与客户端上的"nc"不同,这允许在任一操作系统之间成功交互。
- BZ#771603
- 在 Red Hat Enterprise Linux 6.2 中,libvirt 没有为 VGA 适配器保留 PCI 地址 0:0:2.0。任何使用没有 VGA 适配器的 libvirt 版本创建的域,且在这个地址上附加了另一个 PCI 设备都无法启动。在这个版本中,libvirt 不会对除 VGA 适配器外的任何设备自动使用此 PCI 地址。但是,可以在这个地址上明确附加其他设备(用户或使用旧版本的 libvirt),libvirt 不会禁止启动具有此类设备的域。因此,无法从 Red Hat Enterprise Linux 6.1 迁移到 6.2 的域可以从 Red Hat Enterprise Linux 6.1 迁移到 6.3。
- BZ#782457
- 在以前的版本中,QEMU 仅提供一次对一个磁盘执行实时快照的功能,但快照过程失败时没有回滚功能。在这个版本中,libvirt 已进行了改进,以利用 QEMU 的改进,以确保所有磁盘都成功快照,或者在无法回滚的任何更改前检测到故障。这对于管理应用程序使用多个磁盘执行客户机的实时磁盘快照更为简单。
- BZ#697808
- 解析包含不正确的 root 元素的 XML 文件会导致显示不正确的和混淆。错误消息已被修改,以便在用户提供不正确的 XML 文件时正确显示问题的详细信息。
- BZ#815206
- 如果启动 init 服务时使用的 umask 被设置为屏蔽可执行文件或其他用户的搜索位,则明确配置为使用"hugepages"机制的 KVM 虚拟机无法启动,因为 QEMU 用户无法访问 libvirt 在 hugetlbfs 文件系统中为 QEMU 创建的目录。这是因为当目录本身归 QEMU 所有时,其父目录不能被 QEMU 搜索。为防止这个问题,在创建父目录时,libvirt 现在确保无论 umask 设置是什么,都能够搜索父目录。
- BZ#796526
- 在以前的版本中,libvirt 返回了 kibibytes (1024 的倍数)中的客户机内存值,但没有指示规模。另外,libvirt 文档提到 KB ( 1000 的倍数)。另外,QEMU 使用了 mebibytes (多个 1024*1024)和规模的差异可能会导致用户出错,如提供客户机 1000 倍的内存比计划少,故障模式不容易诊断。现在,输出对于使用的单元很明确,输入用户可以使用更为方便的其他单元。
- BZ#619846
- 在以前的版本中,当出现问题时,qemu monitor 命令 "query-migrate" 不会返回任何错误消息。因此,libvirt 会生成 "Migration unexpectedly failed" 错误消息,它不会提供有关此问题的正确信息。"fd:" 协议现在用于在出现问题时检索并产生准确的错误消息。
- BZ#624447
- 在某些配置中,可能会向 libvirt 或 Red Hat Enterprise Virtualization 用户报告类似如下的日志消息:
warning : virDomainDiskDefForeachPath:7654 : Ignoring open failure on xxx.xxx
这些消息是无害的,可以安全地忽略。在这个版本中,除非出现问题,否则不再报告信息。 - BZ#638633
- 在以前的版本中,libvirt 和 virsh 会忽略没有在实际使用脚本文件的网络接口规格中提供的任何脚本文件。为避免混淆,现在明确禁止这个错误,并尝试为不支持脚本文件的接口类型指定脚本文件会失败。
- BZ#726771
- 这个版本提供了在 XML 文件解析中报告错误的改进,这有助于识别错误。
- BZ#746111
- libvirt 软件包缺少了对 avahi-libs 软件包的依赖项。由于 libavahi-client 中的 libvirt 链接用于 mDNS 支持,需要这个依赖项。因此,如果在没有 avahi-libs 软件包的系统中安装了 libvirt 软件包,libvirtd 守护进程无法启动。在这个版本中,对 avahi-libs 的依赖在 libvirt.spec 文件中定义,而 avahi-libs 与 libvirt 一起安装。
- BZ#802856
- 在以前的 Red Hat Enterprise Linux 版本中,"hostdev"设备可以热插到客户机,但使该设备在客户机重启后需要单独编辑客户机配置。在这个版本中,增加了对 libvirt API 和 virsh 工具的"hostdev"设备的持久性热插支持。
- BZ#806633
- 在以前的版本中,当使用带有 virtio 网络接口的 libvirt 时,尝试将服务器从桥接网络迁移到直接网络可能会失败。在这个版本中,如果使用 Red Hat Enterprise Linux 6.2 或更早版本中的工具创建的虚拟客户机在运行带有 vhost-net 驱动程序模块的 Red Hat Enterprise Linux 6.3 主机上启动,如果该客户机具有使用 macvtap 的 virtio 网络接口,则禁用 virtio 驱动程序的"紧急接收缓冲区"功能。保留与 Red Hat Enterprise Linux 6.2 主机的兼容性,在这种情况下,迁移不再会失败。
功能增强
- BZ#761005
- 有了这个更新,libvirt 现在支持最新的 Intel 处理器和这些处理器的新功能,其中包括:
- BZ#767364
- 有了这个更新,libvirt 现在支持第 15h 微架构 AMD 处理器。
- BZ#643373
- 现在,libvirt 能够控制客户机虚拟网络接口链接的状态(上或下)。这样,用户可以像从接口插入和拔出网络电缆一样执行测试和模拟。此功能还允许用户在出现任何问题时隔离客户机。
- BZ#691539
- 在这个版本中,增加了使用 "interface" 元素而不是 "hostdev" 元素将 SR-IOV (根 I/O 虚拟化)网络设备虚拟功能(VF)分配给客户机的功能。这可让用户指定已知或固定 MAC 地址(
<mac address='xx:xx:xx:xx:xx:xx'/>
)。 - BZ#638506
- 在以前的版本中,执行存储迁移的唯一方法是停止客户机,编辑 XML 配置文件并重启客户机。这会导致停机可能需要几分钟的时间。在这个版本中,可以在最少的客户机停机时间的情况下执行实时存储迁移。这由新的 libvirt API 标记保证到 virDomainStorageRebase ()函数,该函数映射到新的 QEMU 功能。
- BZ#693842
- 在以前的版本中,libvirt 能够通知一个交换机能够了解客户机网络接口配置中更改的 802.1Qbg 标准,但无法切换来通知 libvirt。这个版本为 libvirt 同步提供了与 lldpad 守护进程的扩展支持。因此,如果网络基础架构中的更改需要 libvirt 重新关联客户机接口,则会告知 libvirt,并可采取正确的操作。
- BZ#782034
- 有了这个更新,libvirt 支持小型计算机系统接口(SCSI)控制器 virtio-scsi 的新模型。
- BZ#713170
- 在这个版本中,"fc_host"类的 "fabric_name" 被公开,以便用户可以看到哪个光纤虚拟主机总线适配器(vHBA)已连接到。
- BZ#715019
- 这个更新引入了一个新的 API,它允许管理系统使用 libvirt 查询磁盘延迟。
- BZ#725013
- 有时,这不仅需要删除域的存储,还需要覆盖数据以确保敏感数据不再可读。这个更新引入了一个新的 API,允许用户擦除存储并使用各种 wiping 模式。
- BZ#769930
- 在这个版本中,libvirt 支持动态 NUMA 调整,以便大量进程可以预先绑定到具有足够可用资源的节点。
- BZ#740375
- 在以前的版本中,当执行磁盘快照时,必须暂停客户机以避免写入数据。否则,数据可能会损坏。引入了一个新的实用程序 guest-agent,允许从客户机内部冻结磁盘或文件系统。暂停 guest 不再需要它。但是,磁盘写入操作会延迟到快照完成为止。
- BZ#768450
- 在以前的版本中,在 QEMU 中没有为 "cpu64-rhel*" CPU 型号指定映射,因此无法使用它们。在这个版本中,添加了这些映射。
- BZ#754073
- 在以前的版本中,无法使用 virsh 工具查看 qemu-kvm 进程使用的内存。报告域内存统计信息的 API 调用已被修改为显示此值。现在,在运行 "virsh dommemstat" 命令时会显示该值。
- BZ#533138
- 在这个版本中,增加了对热插和拔出处理器的支持。现在,可以将 CPU 添加到客户机,并根据需要删除它们,而无需关闭客户机。
- BZ#713932
- 这个版本引入了一个新的 virsh 命令 "change-media",这可让您更轻松地从 CD-ROM 或软盘设备插入和弹出介质。
- BZ#720691
- libvirt-guests 初始化脚本会尝试调用 libvirtd 守护进程,即使守护进程无法访问。因此,init 脚本会输出可能会造成混淆的错误消息。在这个版本中,脚本会检查工作连接,并在该连接无法正常工作时跳过调用。
- BZ#714759
- 这个版本引入了一个新的 virsh 命令 "domiflist" 来显示详细的网络接口信息,以及"domblklist"命令的两个新字段。
- BZ#781562
- 除了用来控制是否对客户机可见的引导 ROM 的"rombar"选项外,QEMU 也具有"romfile"选项,允许将二进制文件指定为任何模拟或直通 PCI 设备的 ROM BIOS。在这个版本中,增加了对为直通 PCI 设备指定"romfile"的支持,以及附加到客户机的 PCI 总线的模拟网络设备。
- BZ#681033
- 在以前的版本中,libvirt 在列出客户机时不提供添加和显示主机元数据的方法。因此,无法存储有关客户机的额外信息。在 libvirt XML 配置文件中添加了新的元素,允许用户存储描述以及允许修改客户机元数据的 API。"virsh list"命令已更新,允许打印简短描述。现在,对客户机的识别更为简单。
- BZ#605953
- 这个更新添加了一个新的 virsh 命令 "iface-virsh",它允许用户"bridge"主机的以太网设备之一,以便虚拟客户机可以直接连接到物理网络,而不是通过 libvirt 虚拟网络。"iface-unbridge"命令可用于将接口恢复到之前的状态。
5.167. libxklavier
程序错误修复
- BZ#657726, BZ#766645
- 在此次更新之前,尝试使用 NX 或 VNC 客户端登录到服务器会触发 XInput 错误,因为 libxklavier 库错误地被 libxklavier 库处理,因为 NoMachine NX Free Edition 服务器如何实现 XInput 支持。因此,gnome-settings-daemon 会意外终止。在这个版本中,修改 libxklavier 库中的 XInput 错误处理例程。现在,库会忽略这个错误,gnome-settings-daemon 会如预期运行。
- BZ#726885
- 在此次更新之前,键盘布局指示器是否在第一次更改了布局。因此,在某些情况下,用户无法登录。这个版本修改了 gnome-settings-daemon,以便指示器现在显示正确的布局。
5.168. libxml2
安全修复
- CVE-2012-5134
- 在flow 缺陷下基于堆的缓冲区被发现了 libxml2 解码某些实体的方式。一个远程攻击者可以提供一个专门编写的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
安全修复
- CVE-2012-2807
- 在启用实体扩展的 libxml2 处理文档的方式中发现多个整数溢出漏洞,导致基于堆的缓冲区溢出问题。一个远程攻击者可以提供一个大型、特制的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2011-3102
- 在 libxml2 评估 XML Pointer Language (XPointer)表达式的某些部分的方式中发现了一个字节缓冲区溢出。一个远程攻击者可以提供一个专门编写的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
5.169. libxslt
安全修复
- CVE-2012-2871
- 在 libxslt 将模板应用到特定命名空间选择的节点的方式中发现了一个基于堆的缓冲区溢出缺陷。一个攻击者可以使用这个缺陷来创建恶意 XSL 文件,当应用程序与 libxslt 链接时使用它来执行 XSL 转换,可能会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2012-2825,CVE-2012-2870,CVE-2011-3970
- libxslt 中发现一些拒绝服务漏洞。攻击者可以使用这些漏洞来创建恶意 XSL 文件,当应用程序与 libxslt 链接时使用它来执行 XSL 转换可能会导致应用程序崩溃。
- CVE-2011-1202
- 如果使用 libxslt 处理不受信任的 XPath 表达式的应用程序,或者使用恶意 XSL 文件来执行 XSL 转换,则可能会出现信息泄漏。如果与其它漏洞结合使用,这个泄漏可能会帮助攻击者绕过预期的内存损坏保护。
5.170. lldpad
5.170.1. RHBA-2012:1175 - lldpad 程序错误修复更新
错误修复
- BZ#844415
- 在以前的版本中,在从 IEEE DCBX 转换到旧的 DCBX 模式的过程中,DCBX (数据中心桥接交换)版本选择逻辑中的错误可能会导致 LLDPDU (Link 层发现协议数据单元)不会以 TLV (Type-Length Value)格式编码。因此,可能会出现在主机和对等设备间同步 DCBX 的链路 flaps、延迟或故障。如果从远程 FCoE (Fibre-Channel Over Ethernet) LUN (逻辑单元号)引导,这个程序错误可能会导致引导失败。这个更新修复了这个 bug,现在始终在上述场景中使用 TLV。
5.170.2. RHBA-2012:1002 - lldpad 程序错误修复更新
错误修复
- BZ#828684
- 在以前的版本中,在某些情况下,dcbtool 命令无法在安装过程中为所选接口启用光纤通道(FCoE)应用程序类型长度-值(TLV)。因此,数据中心桥接 eXchange (DCBX)对等点可能无法启用各种重要功能(如优先级流控制或 PFC)。为防止此类问题,现在默认启用 DCBX 中的特定于应用程序的参数(如 FCoE 应用程序 TLV)。
5.170.3. RHBA-2012:0901 - lldpad 程序错误修复和安全更新
程序错误修复
- BZ#768555
- lldpad 工具最初在启动过程中由 initrd 调用,以支持通过以太网光纤通道(FCoE)从存储区域网络(SAN)引导。在系统引导后,运行时 lldpad initscript 不会终止 lldpad。因此,在系统引导后,lldpad 无法正常启动。在这个版本中,lldpad init 现在包含"-k"选项,用于终止系统引导期间启动的第一个 lldpad 实例。
- BZ#803482
- 当数据中心桥接交换(DCBX) IEEE 模式失败时,它会回退到融合增强以太网(CEE)模式和数据中心桥接(DCB)作为 ifup 例程的一部分。通常,除非接收 CEE-DCBX Type-Length-Value (TLV)或用户明确启用了这个模式,否则不会发生这种情况。但是,在早于 2.6.38 的内核中,不支持 DCBX IEEE 模式,I IEEE 会立即回退到 CEE 模式。因此,当 IEEE 模式失败时,一些内核在 CEE 模式中启用了 DCB,即使还没有收到对等 TLV,用户也不会手动启用它。在这个版本中,仅在收到对等 TLV 时启用和广告 DCBX TLV 解决了逻辑。因此,lldpad DCBX 可以正常工作,只有在收到对等的 CEE-DCBX TLV 时,才默认使用 IEEE 模式,或者用户通过命令行启用它。
- BZ#811422
- 用户可以使用 dcbtool 命令来清除 CEE-DCBX 功能属性(如 PFC、PG、APP)上的广告位。但是,如果用户设置会在 ifdown 过程中丢失,ifup 序列和默认值被恢复。在这个版本中解决了这个问题,只有在用户没有明确启用它们时,才会将值设置为默认值。
功能增强
- BZ#812202
- 当交换机分离了主机上运行的虚拟机(VM)的连接,且虚拟机配置为使用 802.1Qbg,则 libvirt 不会被通知,且虚拟机连接丢失。libvirt 支持重启虚拟机,但它依赖于 LLDP 代理守护进程来转发虚拟交换机接口(VSI)信息。在这个版本中,可以将交换机原始的 VSI 消息转发到 libvirt。
5.171. lm_sensors
5.171.1. RHBA-2012:1309 - lm_sensors 程序错误修复
程序错误修复
5.172. logrotate
5.172.1. RHBA-2012:1172 - logrotate 程序错误修复更新
错误修复
- BZ#827570
- 如果同时使用了"mailfirst"和"delaycompress"选项,则尝试将文件发送到特定的电子邮件地址会失败。这是因为 logrotate 搜索具有"gz"后缀的文件,但该文件尚未压缩。底层源代码已被修改,logrotate 可以正确地找到并发送文件。
程序错误修复
- BZ#659705
- 在此次更新之前,logrotate (8)手册页的 AUTHORS 部分包含之前维护者的无效联系信息。在这个版本中,修改 man page 并添加此信息,以确保当前维护人员的联系信息正确。
- BZ#659173
- 在此次更新之前,logrotate (8)手册页中的"size"参数的定义误导。这个版本修改了手册页,现在可以更轻松地理解此定义。
- BZ#659720
- 在此次更新之前,logrotate (8)手册页不会列出 logrotate 实用程序实际识别的所有选项。在这个版本中,添加了缺少的选项,手动列表包含所有可用的选项。
- BZ#674864
- 在此次更新之前,logrotate (8)手册页包含几个错误打印。在这个版本中,修改 logrotate (8)手册页并更正错误打印。
- BZ#736053
- 在此次更新之前,logrotate 不会检查配置文件是否正确匹配括号。因此,系统文件可能会被错误地删除。这个版本修改了 logrotate,以便检测到括号并检查是否正确匹配。现在,会跳过没有匹配括号的配置文件。
功能增强
- BZ#683622
- 在此次更新之前,logrotate 删除了访问控制列表(ACL)标记,用于在轮转日志时允许所选组访问所有日志。因此,所选组无法访问所有日志。有了这个更新,ACL 支持已添加到 logrotate 中。
5.173. lohit-kannada-fonts
错误修复
- BZ#603415
- 当使用 Kannada (kn_IN)区域时,因为终端字符的渲染不正确,多个字符串可能会出现不完整。因此,用户无法正确读取桌面面板菜单栏中的菜单项。在这个版本中,所有字符都被正确显示,用户现在可以读取菜单项。
5.174. lohit-telugu-fonts
错误修复
- BZ#640610
- 由于 lohit-telugu-fonts 软件包中的一个错误,四个特定的合成程序被错误地渲染。这个程序错误已被解决,这些同步现在可以正确呈现。
5.175. lsof
5.175.1. RHBA-2012:0442 - lsof 程序漏洞修复更新
程序错误修复
5.176. lsvpd
5.176.1. RHBA-2012:0795 - lsvpd 程序错误修复更新
程序错误修复
- BZ#684646
- 在此次更新之前,vpdupdate 工具会尝试收集有关 SCSI 设备的额外信息。因此,vpdupdate 将不相关的消息发送到 syslog 文件。在这个版本中,修改 lsvpd 中的 sysfs 布局。现在,没有更多不需要的信息会发送到 syslog 文件。
- BZ#688574
- 在此次更新之前,lsvpd man page 没有正确地描述 "-p" 选项。有了这个更新,man page 可以正确地说明"-p"选项会打印设计的输出。
- BZ#714086
- 在此次更新之前,lscfg (8)、lsmcode (8)、lsmsr (8)、lsvio (8)和 vpdupdate (8) man page 丢失了一些 lsvpd 选项。在这个版本中,在 man page 中添加了所有缺少的选项。
- BZ#741899
- 在此次更新之前,lsmcode 工具不包含构建要求 "librtas-devel"。因此,固件版本不会被显示。在这个版本中,修改 lsmcode 文件,以便在 spec 文件中添加缺少的构建要求。
5.177. ltrace
程序错误修复
功能增强
- BZ#738254
- 在以前的版本中,ltrace 无法跟踪通过 libdl 加载的库函数。在这个版本中,更改了放置静态断点的 "-x" 选项的行为,以便也会考虑动态库并在它们中设置的断点。这适用于链接到二进制文件的动态库,以及在运行时使用功能"dlopen"打开的库。
5.178. luci
5.178.1. RHBA-2012:0766 - luci 程序漏洞修复和功能增强更新
程序错误修复
- BZ#796731
- 集群配置可以定义全局资源(在集群服务组之外)和 in-line 资源(在服务组中减少)。无论资源是全局还是行资源,资源名称都必须是唯一的。在以前的版本中,luci 允许带有名称的全局资源,它已被资源使用,这些资源已被在线声明的资源使用,以及在服务组中带有已由全局资源使用的名称的资源名称。因此,luci 可能会意外终止并显示错误为 500 或集群配置。在这个版本中,luci 在这些情况下会失败,并报告问题,集群配置不会被修改。
- BZ#749668
- 如果集群配置无效,luci 会意外终止,而不报告集群配置问题。因此,无法使用 luci 管理带有无效配置的集群。在这个版本中,luci 检测到无效的配置,并返回有关可能错误的信息以及提议的修复的警告。
- BZ#690621
- 如果在启动 luci 之前未启用调试,用户无法调试。在这个版本中,添加了一个新的控制,用户可以在 luci 运行时根据消息类型更改 luci 生成的消息的日志级别。
- BZ#801491
- 当用户创建带有句点符号(.
.
)的集群资源时,luci 无法将浏览器重定向到刚刚创建的资源。因此,即使正确创建了资源,也会显示 500 错误。在这个版本中,更正在创建此类资源后处理浏览器重定向的代码,luci 会将浏览器重定向到按预期显示资源的屏幕。 - BZ#744048
- 在以前的版本中,luci 在删除集群服务时不需要任何确认。因此,用户可以意外地删除服务,而无需正确考虑结果。在这个版本中,luci 在用户请求删除集群服务时会显示一个确认对话框,它会告知用户结果,并强制他们确认其操作。
- BZ#733753
- 从 Red Hat Enterprise Linux 6.3 开始,经过身份验证的会话会在 15 分钟不活跃后自动过期。在这个版本中,用户可以在
/etc/sysconfig/luci
文件的 who.auth_tkt_timeout 参数中更改超时周期。 - BZ#768406
- 在以前的版本中,IP 资源代理的 monitor_link 属性的默认值被错误地显示:如果没有明确指定,则其值会在实际禁用时显示为 enabled,反之亦然。当用户使用 luci 更改 monitor_link 值时,会存储不正确的值。在这个版本中,monitor_link 值会被正确显示,用户现在可以按预期查看和修改值。
- BZ#755092
- 文件系统资源没有显示
force_unmount
选项,用户无法更改配置来启用或禁用此选项。添加了显示其当前状态的复选框,用户现在可以查看并更改文件系统资源的 force_unmount 属性。 - BZ#800239
- 一个新的属性
tunneled
已添加到虚拟机(虚拟机)资源代理脚本中。在这个版本中,添加了一个复选框,显示tunneled
属性的当前值到虚拟机配置屏幕,以便用户可以启用或禁用属性。 - BZ#772314
- 在以前的版本中,添加了一个 ACL (Access Control List)系统,以允许将权限委派给其他 luci 用户。但是,在至少登录一次之前,无法为用户设置权限。在这个版本中,可以在用户第一次登录到 luci 前添加并更改 ACL。
- BZ#820402
- 由于回归问题,Intel Modular 和 IF MIB 隔离代理已从用户可以配置新实例的设备列表中删除。因此,用户无法创建这些隔离设备的新实例。Intel Modular 和 IF MIB 隔离设备条目已添加到隔离设备列表中,用户可以再次创建 Intel Modular 和 IF MIB 隔离设备的新实例。
功能增强
- BZ#704978
- 在 创建和编辑服务组 表单中,组之间的关系并不总是被轻松识别。在表单中增加了稳定的边框,使资源之间的关系更清晰。另外,在将资源添加到服务组中时,屏幕会被滚动到添加的资源。
- BZ#740835
- 在创建和编辑故障切换域时,用户可以选择和取消选择复选框,并在忽略其值的文本字段中输入值。现在,这些复选框和文本字段已被禁用,只有在使用其值时才启用。
- BZ#758821
- 为了提供在 luci 中使用 RRP (冗余 Ring Protocol)配置的接口,在构建 Red Hat HA 堆栈的 corosync 集群引擎中添加了对 RRP 的技术预览支持。现在,集群的 Configure 选项卡中提供了
冗余环
配置
选项卡,以允许来自 luci 的 RRP 配置。 - BZ#786584
- 添加了一个新的资源代理,以提供与 Condor 相关的系统守护进程的高可用性。在这个版本中,增加了对查看、创建和编辑 Condor 资源的配置的支持,以允许用户配置 Condor 资源代理。
- BZ#707471
重启
图标与刷新
图标类似,用户可能会错误地重启集群节点,而不是刷新状态信息。在这个版本中,重启
图标已被修改。另外,在重新引导前会显示一个对话框,以便用户必须确认其重新启动请求。
5.179. lvm2
5.179.1. RHEA-2012:1574 - lvm2 增强更新
功能增强
- BZ#883034
- 对于 PV (物理卷)的临时访问性,比如 iSCSI 或其他不可靠的传输,LVM 需要手动操作来恢复 PV 以供使用,即使没有冲突空间也是如此。在这个版本中,如果 PV 没有活跃的元数据区域(MDA),则不再需要手动操作。当 MISSING 状态再次可访问后,且它没有 active MDA 添加到 lvm2 软件包后,从 MISSING 状态自动恢复操作。
5.179.2. RHBA-2012:1399 - lvm2 程序错误修复更新
程序错误修复
- BZ#843808
- 当使用包含忽略元数据区域的物理卷(PV)时,LVM 命令(如 pvs)可能会错误地将 PV 显示为孤立,尽管它属于卷组(VG)。这个不正确的行为还取决于 VG 中每个 PV 的处理顺序。在这个版本中,在 VG 中处理 PV 已被修复,可以正确考虑带有忽略的元数据区域的 PV,因此处理顺序不再重要,LVM 命令现在总是提供相同的正确结果,无论有忽略的元数据区域的 PV 是什么。
- BZ#852438
- 在以前的版本中,如果"issue_discards=1"配置选项与 LVM 命令一同使用,则使用 pvmove 命令移动物理卷会导致数据丢失。在这个版本中解决了 pvmove 中的程序错误,在上述场景中不再发生数据丢失。
- BZ#852440
- 当为 lvcreate 命令指定"-alloc anywhere"命令行选项时,如果"raid4"、"raid5"或"raid6"指定了"-type"命令行选项,则尝试创建逻辑卷会失败。现在,提供了一个补丁来解决这个问题,在上述场景中 lvcreate 现在可以成功。
- BZ#852441
- 计算 RAID 4/5/6 空间的方式出现错误,导致用户无法增加这些逻辑卷的大小。这个版本提供了一个补丁来修复这个程序错误,但它有两个限制。首先,RAID 4/5/6 逻辑卷的大小不能减小。其次,用户无法扩展 RAID 4/5/6 逻辑卷,其条带数与原始的条带数不同。
- BZ#867009
- 如果在 /etc/lvm/lvm.conf 文件中设置了 "issue_discards=1" 配置选项,则可以向 VG 中缺少的 PV 发出丢弃请求。因此,dmeventd、lvremove 或 vgreduce 工具可能会意外终止,并显示分段错误。这个程序错误已被解决,在缺少设备时不再发布丢弃请求。由于 discard 操作是不可逆的,因此除了此修复程序外,还向 lvremove 工具添加了一个确认提示,以便在丢弃 LV 前询问用户,从而增加丢弃逻辑的稳健性。
5.179.3. RHBA-2012:0962 - lvm2 程序错误修复和安全更新
程序错误修复
- BZ#683270
- 当镜像为 up-converted 时,无法将另一个镜像(复制)添加到由
lvm.conf
的volume_list
参数中存在的标签控制的镜像逻辑卷中。已改进代码,将镜像标签临时复制到 in-coming 镜像,以便可以正确激活它。因此,高可用性(HA) LVM 服务重新定位现在可以正常工作。 - BZ#700128
- 在以前的版本中,lvremove 命令可能会失败,并显示出错信息 “Can't remove open 逻辑卷,尽管卷” 本身不再使用。在大多数情况下,这种情况是由 udev 守护进程导致的,在删除前仍然处理的事件,并保持设备打开,而 lvremove 会尝试同时删除它。在这个版本中,添加了一个重试循环来帮助避免这个问题。删除操作会在命令完全失败前多次尝试。
- BZ#733522
- 在以前的版本中,如果在集群 卷组 (VG)中创建带有虚拟源的快照,它会错误地尝试在其他节点上激活,命令会失败,并显示 “节点错误消息的错误锁定”。这个问题已被解决,现在只激活了带有虚拟来源的快照(使用-
virtualsize
)。 - BZ#738484
- 在以前的版本中,如果
clvmd
通过其套接字收到无效的请求(例如,不完整的标头被发送),则 clvmd 进程可能会意外终止或保持在无限循环中。添加了额外的检查,这样无效的数据包现在会导致对客户端进行正确的错误回复,在描述的场景中 clvmd 不再崩溃。 - BZ#739190
- 使用 device-mapper 守护进程(
dmeventd
),例如用于监控基于 LVM 的镜像和快照。当尝试使用 lvm2 创建快照时,lvcreate -s 命令会在上一次系统重启后升级 dmeventd 会导致dlopen
错误。在这个版本中,dmeventd 在软件包更新过程中重启,以获取安装新版本的库,以避免任何可能以符号查找失败的代码分离。 - BZ#740290
- 使用 option
-S
重新启动clvmd
应在重启的群集节点上保留专用锁定。但是,选项-E
应该通过这样的专用锁定,在其实现中出现错误。因此,重启后不会在集群中保留专用锁定。此更新实现了对 option-E
的正确支持。因此,在重启 clvmd 后,锁定将保留集群的专用状态。 - BZ#742607
- 如果设备映射程序设备被进程打开,则无法使用 dmsetup [--force] remove device_name 命令删除它。
--force
选项失败,报告该设备忙碌。因此,无法将底层块设备与系统分离。有了这个更新,dmsetup 有一个新的命令 wipe_table 来擦除设备表。任何发送到设备的后续 I/O 都会返回错误,表使用的任何设备,就是说 I/O 转发到的设备都将被关闭。因此,如果在使用完设备后保留长时间运行的进程,则在进程退出前可以释放底层设备。 - BZ#760946
- 在 LVM 命令输出上使用前缀或命令名称(
lvm.conf
中的log/prefix
和log/command_names
指令)会导致 lvm2-monitor init 脚本无法启动相关 VG 的监控。初始化脚本首先通过调用 vgs 命令获取 VG 列表,然后使用其输出来进一步处理。但是,如果在输出中使用 prefix 或 command name 指令,则 VG 名称不会被正确格式化。要解决这个问题,lvm2-monitor 初始化脚本现在覆盖 log/prefix 和 log/command_names 设置,以便命令的输出始终适合在 init 脚本中使用。 - BZ#761267
- 在此次更新之前,lv lvconvert --merge 命令不会在继续前检查问题中的快照无效。因此,操作会部分失败,保留无效的快照。在这个版本中,不允许合并无效的快照。另外,它允许删除在下一次激活时合并的无效快照,或者在合并时无效(用户将被提示确认)。
- BZ#796602
- 如果卷组名称与逻辑卷名称一起提供,则 lvconvert --splitmirrors 无法剥离它。这会导致尝试使用无效的逻辑卷名称。此发行版本会检测并验证任何提供的卷组名称。
- BZ#799071
- 在以前的版本中,如果在集群的 VG 上使用 pvmove,则临时激活 pvmove 设备在集群范围被错误地激活(即在所有节点上)。因此,在某些情况下,比如使用标签或 HA-LVM 配置,pvmove 会失败。在这个版本中解决了这个问题,如果要移动的逻辑卷已完全激活,则 pvmove 只会激活所有这样的设备。
- BZ#807441
- 在以前的版本中,当使用不存在的 VG 执行 vgreduce 命令时,它不需要在命令退出时尝试解锁 VG。但是 VG 没有被在该时间锁定,因为它被解锁为错误处理进程的一部分。因此,当使用不存在的 “VG 执行时,vgreduce 命令会失败,并显示内部错误 Attempt 解锁” 的 VG。这个版本改进了代码,以提供正确的检查,以便在 vgreduce 命令退出时只解锁锁定的 VG。
- BZ#816711
- 在以前的版本中,在本地处理日志设备健康的信息请求。因此,如果影响集群镜像日志的设备失败,可以忽略失败,这可能导致 I/O 到镜像 LV 变得无响应。在这个版本中,信息会从集群中请求,以便按预期检测并处理日志设备失败。
功能增强
- BZ#464877
- 大多数 LVM 命令需要准确查看存储在系统中的磁盘设备中的 LVM 元数据。使用当前的 LVM 设计时,如果此信息不可用,LVM 必须扫描系统中的所有物理磁盘设备。这需要在有大量磁盘的系统中有大量 I/O 操作。LV 元数据守护进程(
lvmetad
)的目的是在每次设备状态更改时动态聚合元数据信息,从而消除对这个扫描的需求。这些事件通过 udev 规则向lvmetad
发送信号。如果lvmetad
未运行,LVM 会像通常一样执行扫描。此功能作为技术预览提供,在 Red Hat Enterprise Linux 6.3 中默认禁用。要启用它,请参考/etc/lvm/lvm.conf
文件中的use_lvmetad
参数,并通过配置 lvm2-lvmetad
init 脚本来启用 lvmetad 守护进程。 - BZ#593119
- 现在,Red Hat Enterprise Linux 6.3 完全支持 LVM 中的扩展 RAID 支持,但 HA-LVM 中的 RAID 逻辑卷除外。LVM 现在能够创建 RAID 4/5/6 逻辑卷,并支持新的镜像实现。MD (软件 RAID)模块为这些新功能提供后端支持。
- BZ#637693
- 当定义新 LV 时,有权访问 LV 的任何人都可以读取分配给新 LV 的数据块中已存在的任何数据。用户可以使用 "lvcreate -T" 命令创建精简卷,以满足在尝试读取之前未写入的块时返回零的要求。精简卷的默认行为是置备零数据块。置备的块的大小在 64KB 到 1GB 之间。较大的块会造成初始调配所需的时间。第一次写入后,性能应接近原生线性卷。但是,对于集群环境,精简卷可能只单独激活。
- BZ#658639
- 这个版本显著降低了创建相同数据结构所需的时间,允许激活并停用大量设备(以千秒为单位)。另外,设备扫描的系统调用数量已减少,这提高了 10%-30% 的速度。
- BZ#672314
- 有些 LVM 片段类型( “如镜像” )具有单一机器和集群感知变体。其他一些,如快照和 RAID 类型,只有一台机器变体。在切换卷组(VG)的集群属性时,上述片段类型必须不活跃。这允许重新加载适当的单机器或集群变体,或者需要激活的性质。在这个版本中,允许在 RAID LV 处于活跃状态时更改 VG 的集群属性。
- BZ#731785
- dmsetup 命令现在支持显示 “deps”、“ls” 和 “info” 命令输出中列出的任何设备的块设备名称。对于 dmsetup “deps” 和 “ls” 命令,可以在 “devno” 间进行切换(主号和次号、默认值和原始行为)、“devname” (设备映射器设备的映射名称、块设备名)和 “blkdevname” (始终显示块设备名称)。对于 dmsetup “info” 命令,可以使用新的 “blkdevname” 和 “blkdevs_used” 字段。
- BZ#736486
- device-mapper 允许除 “/” 以外的任意字符在设备映射器名称中使用。但是,这与 udev 冲突,因为它的字符白名单仅限于 0-9、A-Z、a-z 和 #+-.:=@_。在设备映射器名称中使用任何黑名单的字符最终会出现 udev 创建的不正确的
/dev
条目。要解决这个问题,libdevmapper 库和 dmsetup 命令现在支持使用 “\xNN” 格式进行 udev-blacklisted 字符编码,其中 NN 是字符的十六进制值。udev 支持此格式。libdevmapper 可以操作的三种管理模式: “none” (无人粘滞)、“hex” (始终管理任何黑名单的字符)和 “auto” (仅在未忽略的情况下使用检测和 mangle)。“”使用的默认模式是 “auto”,任何 libdevmapper 用户会受到影响,除非此设置由相应的 libdevmapper 调用更改。要支持这个功能,dmsetup 命令有一个 new-manglename <mangling_mode
> 选项来定义处理设备映射器名称时使用的名称 mangling 模式。dmsetup info -c -o
命令有要显示的新字段:mangled “_name” 和 “unmangled_name”。还有一个新的 dmsetup mangle 命令,可将任何现有的 device-mapper 名称自动重命名为其正确格式。强烈建议您在更新后发出此命令以更正任何现有的设备映射器名称。 - BZ#743640
- 现在,可以在不执行新部分同步的情况下扩展镜像逻辑卷。lvextend 的-- “nosync” 选项将导致初始同步被跳过。这可以节省时间,如果用户不打算读取它们尚未编写的内容,则可以接受它。
- BZ#746792
- LVM 镜像具有各种用于 bitmap write-intent 日志的选项: “core”、“disk”、“mirrored”。集群日志守护进程(cmirrord)不是多线程的,一次只能处理一个请求。当日志在镜像顶部堆栈(其本身包含"核心"日志)时,它会创建一个在没有线程的情况下无法解决的情况。当顶级镜像发出"resume"时,日志守护进程会尝试从日志设备读取来检索日志状态。但是,日志是一个镜像,在发出读取前尝试确定要读取的镜像区域的"同步"状态。此同步状态请求无法被守护进程完成,因为它在读取 I/O 中阻止到请求同步状态的非常镜像。在这个版本中,“镜像” 选项在集群上下文中不可用,以防止出现这个问题。
- BZ#769293
- 新的 LVM 配置文件参数
activation/read_only_volume_list
可以以只读模式激活特定卷,无论卷的实际权限如何。这个参数覆盖存储在元数据中的--permission rw
选项。 - BZ#771419
- 在以前的版本中,当启用对多个快照的监控时,
dmeventd
会以 “Another thread 的形式记录冗余信息信息。waiting...”。这无需大量大量系统日志文件。这个行为已在这个更新中解决。 - BZ#773482
- 在 Red Hat Enterprise Linux 6.3 中提供了 LVM copy-on-write (cow)快照的新实现作为技术预览。与之前的快照实施相比,这种实施的主要优点是它允许将很多虚拟设备存储在同一个数据卷中。这种实施还支持任意深度的递归快照。此功能用于单一系统。它不适用于集群环境中的多系统访问。如需更多信息,请参阅 lvcreate man page 中的
-s
or-snapshot
选项的文档。 - BZ#773507
- 现在,逻辑卷(LV)可以被精简置备来管理一个存储池的可用空间池,以便在应用程序需要时分配给任意数量的设备。这允许创建可绑定到精简置备池的设备,以便在应用程序实际写入 LV 时进行后续分配。如果需要,可以动态扩展精简配置的池,以便有效分配存储空间。在 Red Hat Enterprise Linux 6.3 中,这个功能作为技术预览引进。如需更多信息,请参阅 lvcreate 手册页。请注意,需要 device-mapper-persistent-data 软件包。
- BZ#796408
- LVM 现在识别 EMC PowerPath 设备(emcpower),并将其首选使用它们所构建的设备。
- BZ#817130
- LVM 现在有两个创建镜像逻辑卷的实现: “mirror” segment 类型和 “raid1” segment 类型。“raid1” segment 类型包含对 “mirror” segment 类型的设计改进,它们对使用快照的操作很有用。因此,建议使用镜像卷快照的用户使用 “raid1” 片段类型,而不是 “mirror” segment 类型。继续使用 “mirror” segment 类型作为快照的原始 LV 的用户应规划以下中断的可能性。当创建快照或调整大小时,它会强制通过底层原始卷强制进行 I/O。在发生这种情况前,操作不会完成。如果设备失败到创建或调整大小的快照的来源镜像逻辑卷( “镜像” 片段类型),它将延迟 I/O,直到重新配置为止。在快照操作完成前,无法重新配置镜像,但快照操作无法完成,除非镜像发布 I/O。同样,当镜像同时遇到快照创建或调整大小时,问题可能会自行执行。当前没有解决方案解决这个问题,但将镜像从 “mirror” 片段类型转换为 “raid1” segment 类型。要将现有镜像从 “mirror” segment 类型转换为 “raid1” segment 类型,请执行以下操作:
~]$ lvconvert --type raid1 <VG>/<mirrored LV>
此操作只能使用 vgcfgrestore 命令撤消。使用当前版本的 LVM2 时,如果使用 “mirror” segment 类型来创建新镜像 LV,则会向用户发出警告消息,并建议使用 “raid1” 片段类型。
5.179.4. RHBA-2013:1472 - lvm2 程序错误修复更新
错误修复
- BZ#965810
- 在以前的版本中,在使用带有 xfs 文件系统的 Red Hat Enterprise Linux 6 的某些 HP 服务器中,代码中的一个回归会导致 lvm2 工具忽略 "optimal_io_size" 参数,并使用 1MB 偏移启动。因此,磁盘写入操作会增加,这会导致数据对齐,并大大降低服务器的性能。在这个版本中,lvm2 不再忽略 "optimal_io_size",在这种情况下不再发生数据错误对齐。
5.180. m2crypto
5.180.1. RHBA-2012:0975 - m2crypto 程序错误修复更新
程序错误修复
- BZ#742914
- M2Crypto.httpslib.HTTPSConnection 类总是创建一个 IPv4 套接字。这使得无法使用此类连接到 IPv6 服务器。在这个版本中,实施可以正确地创建一个 IPv4 或 IPv6 套接字,从而添加了对 IPv6 服务器的支持。
- BZ#803520
- 在此次更新之前,AES_crypt ()函数没有释放临时缓冲区。这会导致重复调用函数时内存泄漏。这个问题已被解决,AES_crypt ()函数现在可以正确地释放内存。
- BZ#803554
- 通过代理的 HTTPS 连接实现没有反映 Python 2.6 中的更改。因此,每次尝试使用代理连接到 HTTPS 服务器都会失败,生成异常。M2Crypto 实现已更新,现在可以正常工作。
5.181. mailman
5.181.1. RHBA-2012:1474 - mailman 程序错误修复更新
程序错误修复
- BZ#772998
- reset_pw.py 脚本包含一个拼写错误,可能会导致 mailman 实用程序失败,并显示回溯信息。这个拼写错误已被修正,mailman 现在可以按预期工作。
- BZ#799323
- newlist 脚本中不会处理 "urlhost" 参数。当使用指定的 "--urlhost" 参数运行"newlist"命令时,不会使用正确的 URL 创建索引存档页面的内容;改为使用主机名。在这个版本中,"urlhost"在 newlist 脚本中处理。如果在命令行中指定了 "--urlhost" 参数,则在创建索引存档页面而不是主机名时使用主机 URL。
- BZ#832920
- 在以前的版本中,电子邮件中的较长行没有嵌套在 web 存档中,有时需要过度滚动。"white-space: pre-wrap;" CSS 风格已添加到所有模板中,因此长行现在嵌套在支持该样式的浏览器中。
- BZ#834023
- 电子邮件正文中的"From"字符串没有正确转义。在一行开始时包含 "From" 字符串的消息被分割,并显示在 web 存档中作为两个或多个消息。"From"字符串现在可以正确地转义,在上述场景中信息不再分割。
5.182. make
5.182.1. RHBA-2012:0443 - make bug fix update
错误修复
- BZ#699911
- 在此次更新之前,如果为同一变量分配了其中一个子表达式,则内存崩溃可能会在"评估"表达式中发生。上游补丁已应用于解决这个问题,在上述场景中不再显示内存损坏。
5.183. man-pages-fr
错误修复
- BZ#613622
- 在此次更新之前,不会正确提取包含补充法语手册页的 mansupfr.tar.bz2 tarball。因此,一些手册页不会被安装。在这个版本中,当没有出现已知文件冲突时,会重新添加附件手册页,并再次提供补充的法语手册页。
5.184. man-pages-overrides
程序错误修复
- BZ#528879
- 在此次更新之前,mksquashfs 和 unsquashfs 工具的手册页缺失。这个更新添加了 mksquashf (1)和 unsquashfs (1)手册页。
- BZ#529335
- 在此次更新之前,缺少 FUSE 工具 fusermount、fuse 和 ulockmgr_server 的手册页。在这个版本中,将 fusermount (1)、mount.fuse (8)和 ulockmgr_server (1)手册页添加到 man-pages-overrides 软件包中。
- BZ#605521
- 在此次更新之前,缺少 urlgrabber 工具的手册页。在这个版本中,在 man-pages-overrides 软件包中添加了 urlgrabber (1)手册页。
- BZ#653908
- 在此次更新之前,replcon (1)手册页缺少"-R"和"--regex"选项的描述。在这个版本中,在 man-pages-overrides 软件包中添加了这个描述。
- BZ#695363, BZ#801783
- 在此次更新之前,iptables (8)、ip6tables (8)和 ebtables (8)手册页缺少 AUDIT 目标模块的描述。在这个版本中,在这些手册页中添加了这个模块的描述。
- BZ#745467
- 在此次更新之前,pkcs_slot 工具的手册页缺失。在这个版本中,在 man-pages-overrides 软件包中添加了 pkcs_slot (1)手册页。
- BZ#747970
- 在此次更新之前,lsblk (8)手册页缺少"-D"选项的描述。在这个版本中添加了这个描述。
- BZ#768949
- 在此次更新之前,Bash 中陷阱的 man page 没有提到在稍后无法列出条目时忽略的信号。此更新会修改文本,以指出"在条目上忽略的"对 shell 的条目被忽略,无法捕获、重置或列出"。
- BZ#766341
- 在此次更新之前,cgcreate (1)手册页在 synopsis 中包含无效的 "-s" 选项。在这个版本中,删除了这个选项。
- BZ#769566
- 在此次更新之前,wbinfo (1)手册页包含 "--group-info" 选项不正确的描述。这个版本修改了这个描述。
- BZ#800256
- 在此次更新之前,shmat (2)手册页缺少 EIDRM 错误的描述。在这个版本中,这个描述被添加到 shmat (2)手册页中。
- BZ#800385
- 手册页预期: logrotate2、logrotate3、logrotate4、logrotate5、logrotate、pcre2、pcre、lsvpd、nfs-utils 和 vsftpd 已在其原始软件包中修复。在这个版本中,从 man-pages-overrides 软件包中删除这些手册页。
- BZ#801742
- 在此次更新之前,request-key.conf (5)手册页在一个句子中包含错误打印。在这个版本中,这个错误打印会被删除。
- BZ#801784
- 在此次更新之前,yum (8)手册页包含错误打印。在这个版本中,这个错误打印已被修正。
- BZ#810910
- 在此次更新之前,mount (8)手册页不包含默认选项"relatime"。此更新在选项列表包含这个选项。
5.185. man
5.185.1. RHBA-2012:0449 - man bug fix update
程序错误修复
5.186. matahari
- 从 Red Hat Enterprise Linux 6.3 开始,默认情况下不安装 matahari 软件包,且默认安装时不会启动它们。安装并启用 matahari 服务都需要手动操作。
- qpid ( Matahari 使用的传输代理)的默认配置不启用访问控制列表(ACL)或 SSL。如果没有 ACL/SSL,Matahari 基础架构不安全。不建议在没有 ACL/SSL 的情况下配置 Matahari,并可能会降低您的系统的安全性。
- matahari-services 代理旨在允许远程操作服务(启动、停止)。授予用户对 Matahari 服务的访问权限等同于为具有 root 访问权限的远程用户提供。使用 Matahari 代理应被视为能够为主机提供远程 root SSH 访问。
- 默认情况下,在 Red Hat Enterprise Linux 中,Matahari 代理(qpidd 在端口 49000 上运行)不需要身份验证。但是,除非禁用防火墙,否则无法远程访问 Matahari 代理,或者添加了规则使其可访问。鉴于 Matahari 代理所提供的功能,如果启用了 Matahari,系统管理员应该非常谨慎,影响对 Matahari 的远程访问。
Bub Fix
- BZ#752325
- 在以前的版本中,在升级过程中,matahari 代理会被不必要的重启。因此,在升级过程中可能会出现意外的输出。在这个版本中,修改底层代码,以便代理不会多次重启,且不会发生更多的意外报告。
功能增强
5.187. mcelog
5.187.1. RHBA-2012:0779 - mcelog 程序错误修复和安全更新
程序错误修复
- BZ#728265
- 在此次更新之前,mcelog README 文件包含对不存在的目录的引用。在这个版本中,删除了这些引用并更新该文件。
- BZ#769363
- 在此次更新之前,mcelog 守护进程错误地会显示一个错误,即使 mcelog 在启用了架构解码的 Intel CPU 上运行 mcelog,也不会支持特定微架构。在这个版本中,删除了这个消息。
- BZ#784091
- 在此次更新之前,cron 作业会尝试安装,无论系统是否被支持。因此,如果不支持的系统中安装了 mcelog,则 mcelog 守护进程会显示消息 "No such device"。在这个版本中,cron 作业无法在不支持的处理器上安装。
功能增强
- BZ#746785
- 在此次更新之前,当运行不支持的 AMD 系列 16 微架构或更高版本时,mcelog 守护进程会显示错误 "mcelog read: No such device"。在这个版本中,对 mcelog 添加了一个检查,以确定使用了什么 AMD 处理器系列。如果需要,会显示新消息 "CPU is unsupported"。
- BZ#795508
- 在以前的版本中,mcelog 的 cron 文件没有使用 "--supported" 选项。因此,"--supported"选项无法正确检查 mcelog 守护进程是否正常工作。此更新向 crontab 文件添加了"支持的"选项,并删除两个冗余字符串。
5.188. mdadm
5.188.1. RHBA-2012:0787 - mdadm 程序错误修复和功能增强更新
程序错误修复
- BZ#771332
- 在以前的版本中,从容器中删除设备偶尔会失败。在这个版本中,mdadm 会尝试再次删除这样的设备。
- BZ#808776
- 当添加到与数组最近成员类似的设备时,mdadm --add 命令可能会失败。在这个版本中,代码限制设备添加已被修正,仅适用于最近失败的组成员,需要手动装配。
- BZ#811282
- 无法将 write-intent 位映射添加到使用 metadata version 属性
1.0
构建的多设备(MD)阵列。这是因为 mdadm 有时无法正确计算 bitmap 位置。在这个版本中,可以将 write-intent 位映射添加到这样的 MD 数组中。 - BZ#730052
- 如果用户在 reshape 过程中重启系统,则 MD RAID 设备可能会因为几个问题而保持不活跃。这个版本引进了几个补丁调整 reshape 进程的逻辑并修复几个错误。
- BZ#808424
- 在完成重新同步过程后,mdadm --monitor 命令会因为缓冲区溢出而意外终止。当重新同步过程中报告的 40 个不匹配时会出现这种情况,因为相应的缓冲区只能保存 40 个不匹配报告。在这个版本中,缓冲区已被放大,现在可以保存 80 个不匹配报告。
- BZ#790394
- mdadm 工具可能无法将设备添加到带有位映射的降级阵列中,并静默退出。这是因为调用的功能试图写入未对齐的缓冲区。在这个版本中,应用了上游补丁来修复这个程序错误:补丁会修改底层功能以使用其自身一致的缓冲区,问题不再会发生。
- BZ#788022
- 如果用户在安装了版本 0.90 MD RAID 阵列的机器上安装 Red Hat Enterprise Linux 6.0,则阵列在下次重启时不会自动启动。这是因为
/etc/mdadm.conf
文件中的策略声明排除了版本 0.90 RAID 阵列的自动启动(如果引导时需要这个数组,则 dracut 会启动这个阵列)。用户可以将+0.90
添加到/etc/mdadm.conf
文件中的AUTO
行中,以便在引导时有这样的 RAID 阵列。在 Red Hat Enterprise Linux 6.1 和 6.2 中,因为一个程序错误,mdadm 始终会自动编译版本 0.90 RAID 阵列。在这个版本中,这个程序错误已被解决。用户需要实施与上述 Red Hat Enterprise Linux 6.0 相同的修复,以便在启动时出现版本 0.90 RAID 阵列(将+0.90
添加到/etc/mdadm.conf
中的AUTO
行)。 - BZ#808438
- mdadm 工具没有检查 IMSM (Intel Matrix Storage Manager)所创建的 Intel 控制器上允许每个控制器的卷数量。因此,即使之前添加了其他数组,也只有对应的有限阵列也可用。在这个版本中,如果附加到给定控制器的设备中的卷数量超过这个限制,则 mdadm 会检查 OROM 限制并添加新卷。
- BZ#771554
- 在运行 mdadm --monitor --scan
--oneshot
命令或其简短等价时,mdadm 工具不会应用-oneshot /-1
选项。Consequenlty,mdadm 正在持续监控相应的设备。在这个版本中,底层代码已被修改,--oneshot
选项会如预期应用。 - BZ#808492
- IMSM RAID 只支持每个容器两个卷。在以前的版本中,mdadm 允许管理员创建比剩余的空闲空间小的第二个卷,并在容器中保留未分配的空间。在这个版本中,第二个卷必须通过应用与管理 IMSM RAID 通过 BIOS 接口相同的限制来消耗容器的剩余空间。
- BZ#808507
- 磁盘和卷大小作为元数据存储在 32 位块中。如果磁盘大小超过 2 TB,则分配的空间已不再足够,以存储大小值,并且卷大小返回此类磁盘不正确的结果。在这个版本中,根据磁盘或卷大小计算块的大小,并在描述的场景中计算正确的磁盘和卷大小。
- BZ#808519
- mdadm 工具无法在增量装配过程中创建到 IMSM 容器设备的链接。当设备元数据没有为容器提供名称时会出现这种情况。在这个版本中,如果没有提供容器名称,元数据版本名称将用作容器名称,并在容器名称的末尾添加一个数字,以便正确创建到 IMSM 容器设备的链接。
- BZ#754998
- 当在阵列装配过程中重启阵列重塑进程时,放置在阵列中的文件系统无法挂载,系统会返回 busy 错误。这是因为,处理阵列外部元数据的 reshape 的子进程不会在重启时关闭,且发生内存泄漏。因此,元数据更新会失败。在这个版本中,底层代码已被修改,以便在这些情况下关闭 reshape 进程的子进程,且问题不再发生。
- BZ#754986
- 当将非 RAID 系统迁移到 RAID5 系统时,可能会消耗大量内存,迁移过程可能会因为内存泄漏而失败。在这个版本中,底层代码已被修改,以便释放对应的资源,问题不再发生。
- BZ#812001
- 如果在 IMSM RAID 设备重建过程中重启包含 IMSM RAID 设备的系统,则 MD 驱动程序会将设备 sync_action 状态从
恢复到
空闲状态
。因此,mdmon
守护进程可能会检测到这个更改,完成重建过程,并在重启前将未完成重建进程的元数据写入磁盘。重启后,RAID 卷在 OROM 中处于Normal
状态,并且重新构建完成。但是,RAID 卷处于自动只读状态
,元数据处于Dirty
状态,数据不一致(不同步)。在这个版本中,添加了适当的测试,当 mdmon 现在检测到 sync_action 从恢复到
空闲状态
时,它会检查重建过程是否已完成。 - BZ#814743
- 如果设备映射文件中存在具有相同名称的数组的条目,则设备映射文件中可能会缺少条目。在这个版本中解决了这个问题,该条目会添加到设备映射文件中。
功能增强
- BZ#808475
- 添加了-
size max
选项,让 IMSM 阵列的管理员能够扩大阵列中的最后一个卷,以占用阵列中的剩余空间。
5.189. metacity
5.189.1. RHBA-2012:0994 - metacity 程序错误修复更新
- BZ#802916
- 在以前的版本中,密码对话框在打开后不会自动进行关注,并可能仍然由全屏窗口介绍。在这个版本中,密码对话框会自动给出一个重点,以便在全屏窗口上引发这些对话框,问题不再发生。
5.190. microcode_ctl
错误修复
- BZ#768803
- 在以前的版本中,运行带有 "-d" 或 "-f" 选项的长参数的 microcode_ctl 工具会导致缓冲溢出。因此,microcode_ctl 会意外终止并出现一个回溯追踪。在这个版本中,microcode_ctl 已被修改,以正确处理这种情况。microcode_ctl 工具不再崩溃,并显示一条错误消息,告知用户所使用的文件名太长。
功能增强
5.191. mingw32-libxml2
安全修复
- CVE-2011-3919
- 重要Red Hat Enterprise Linux 6 中的 mingw32 软件包将不再主动更新,并在 Red Hat Enterprise Linux 6.4 版本中被弃用。提供这些软件包以支持 Red Hat Enterprise Linux 中的其他功能,且不适用于直接客户使用。我们建议用户不会立即使用这些软件包。红帽将自由裁量以后更新这些软件包,并将在以后的次版本中删除这些软件包。在 libxml2 解码实体引用带有长名称的实体引用的方式中发现了一个基于堆的缓冲区溢出缺陷。一个远程攻击者可以提供一个专门编写的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2012-5134
- 在flow 缺陷下基于堆的缓冲区被发现了 libxml2 解码某些实体的方式。一个远程攻击者可以提供一个专门编写的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2012-0841
- 发现,libxml2 阵列使用的散列例程易受可预测的哈希冲突。向 XML 服务发送特殊设计的消息可能会导致处理时间较长,这可能会导致拒绝服务。为缓解这个问题,在哈希函数中添加了随机化,以减少攻击者成功导致意料冲突的几率。
- CVE-2010-4008,CVE-2010-4494,CVE-2011-2821,CVE-2011-2834
- 在 libxml2 解析某些 XPath (XML 路径语言)表达式的方式中发现了多个漏洞。如果攻击者可以使用 libxml2 为应用程序提供专门制作的 XML 文件,以及针对精心设计的文件运行应用程序的 XPath 表达式,则可能会导致应用程序崩溃。
- CVE-2011-0216,CVE-2011-3102
- 在 libxml2 解码某些 XML 文件的方式中发现两个基于堆的缓冲区溢出漏洞。一个远程攻击者可以提供一个专门编写的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2011-1944
- 在解析某些 XPath 表达式的方式中发现了一个整数溢出漏洞,导致基于堆的缓冲区溢出。如果攻击者可以使用 libxml2 为应用程序提供专门制作的 XML 文件,以及针对精心设计的文件运行的应用程序的 XPath 表达式,则可能会导致应用程序崩溃或可能执行任意代码。
- CVE-2011-3905
- libxml2 中发现了一个越界内存读取缺陷。一个远程攻击者可以提供一个专门制作的 XML 文件,在与 libxml2 链接的应用程序中打开时,会导致应用程序崩溃。
5.192. mingw32-matahari
错误修复
- BZ#806948
- 在以前的版本中,Matahari 依赖于 libqpidclient 和 libqpidcommon。因此,使用 libqpidclient 和 libqpidcommon 的 Qpid API 没有稳定的 ABI,重建 Qpid 会对 mingw32-matahari 造成负面影响。在这个版本中,依赖项已被删除,从而解决了这个问题。
5.193. mingw32-qpid-cpp
程序错误修复
- BZ#751349
- 在以前的版本中,mingw32-qpid-cpp 软件包构建需要 HTML 文档,但不可用。因此,构建过程中会显示以下出错信息:
CMake Error at docs/api/cmake_install.cmake:31 (FILE): file INSTALL cannot find file "/usr/src/redhat/BUILD/qpid-cpp-0.12/build/docs/api/html" to install.
由于 HTML 文档不被视为重要,因此此更新会禁用其生成。因此,在 mingw32-qpid-cpp 软件包的构建过程中不会显示上述错误消息。 - BZ#807345
- 在以前的版本中,mingw32-qpid-cpp 对 mingw32-gnutls 软件包没有不必要的依赖项。在这个版本中,删除了依赖项。
- BZ#813537
- 在以前的版本中,mingw32-qpid-cpp 对 mingw32-libxslt 软件包没有不必要的依赖项。在这个版本中,删除了依赖项。
5.194. mkbootdisk
5.194.1. RHBA-2012:0403 - mkbootdisk 程序错误修复更新
程序错误修复
5.195. mlocate
程序错误修复
5.196. mod_auth_kerb
错误修复
- BZ#688210
- 由于在模块配置为允许委派的凭证时内存生命周期处理中的一个错误,在经过身份验证的连接的第一个请求后,$KRB5CCNAME 变量会丢失,从而导致依赖于存在委托凭证的 web 应用程序失败。修复了内存生命周期处理,允许此类 Web 应用访问委派的凭证。
功能增强
- BZ#767741
- 添加了对"S4U2Proxy"受限委托的支持,它允许 mod_auth_kerb 代表经过身份验证的用户获取凭证。
5.197. mod_authz_ldap
程序错误修复
- BZ#607797
- 在此次更新之前,mod_authz_ldap 软件包的 License 字段包含不正确的标签。在这个版本中,修改许可证文本。现在,license 标签可以正确地读取 "ASL1.0"。
- BZ#643691
- 在此次更新之前,mod_authz_ldap 模块可能会泄漏内存。因此,在处理更多请求时,httpd 进程的内存消耗可能会增加。这个版本修改了底层代码来正确处理 LDAP。现在,内存消耗如预期级别一样。
- BZ#782442
- 在此次更新之前,当出现连接错误时,当配置了 LDAP 绑定密码时,密码会以纯文本形式记录到错误日志中。在这个版本中,修改底层代码,以防止密码被记录在错误条件中。
5.198. mod_nss
5.198.1. RHBA-2012:0919 - mod_nss 程序错误修复更新
程序错误修复
5.199. module-init-tools
程序错误修复
功能增强
- BZ#761511
- 在这个版本中,在 depmod.conf 文件中的搜索路径中添加了 "backports" 目录,它支持将 compat-wireless 软件包集成到内核软件包中。
5.200. mod_wsgi
错误修复
- BZ#670577
- 在以前的版本中,在启动 Apache httpd 守护进程的过程中,mod_wsgi 工具中的误导警告信息会被记录。在这个版本中,从 mod_wsgi 模块中删除此消息。
功能增强
- BZ#719409
- 在这个版本中,使用 "mod_ssl.is_https" 和 "mod_ssl.var_lookup" 方法访问 SSL 连接状态现在包括在 WSGI 脚本中。
5.201. mrtg
5.201.1. RHBA-2012:1449 - mrtg 程序错误修复更新
程序错误修复
- BZ#707188
- 在此次更新之前,MRTG 工具无法正确处理 socket6。因此,因为套接字冲突,在具有 IPv6 网络接口的系统中,MRTG 会报告错误。这个版本会如预期将底层代码改为 socket6。(#706519)* 在更新前,更改 MRTG 配置中的 "kMG" 关键字可能会导致 y-axis 上的标签重叠生成的 chart 的主区域。在这个版本中,一个上游补丁已被应用于解决这个问题,并在配置中更改 "kMG" 关键字不再会导致结果图表的错误渲染。
- BZ#836197
- 在此次更新之前,使用 ifSpeed 接口时,从 IBM Fibrechannel 开关返回错误的值。因此,如果 IBM FibreChannel 交换机上的HighSpeed,mrtg cfgmaker 无法使用。这个版本修改了底层代码,以返回正确的值。
5.202. mt-st
5.202.1. RHBA-2012:1409 - mt-st 程序错误修复更新
错误修复
- BZ#820245
- 在此次更新之前,stinit 初始化脚本不支持 "status" 或 "restart" 等标准操作。因此,会返回一个错误代码。这个版本修改了底层代码,以使用所有标准操作。
5.203. mysql-connector-java
5.204. mysql
安全修复
- CVE-2012-5611
- 在 MySQL 中的用户权限检查代码中发现了一个基于堆栈的缓冲区溢出缺陷。已验证的数据库用户可以使用此缺陷使 mysqld 守护进程崩溃,或者可能使用运行 mysqld 守护进程的用户特权执行任意代码。
安全修复
- CVE-2012-1688,CVE-2012-1690,CVE-2012-1703,CVE-2012-2749,CVE-2012-0540,CVE-2012-1689,CVE-2012-1734,CVE-2012-3163,CVE-2012-3158,CVE-2012-3177,CVE-2012-3 177 , CVE-2012-3166,CVE-2012-3 173, CVE-2012-3 150, CVE-2012- 3180, CVE-2012-3 167, CVE-2012-3 197, CVE-2012-3160
- 在这个版本中,MySQL 数据库服务器中的几个安全漏洞被修复。有关这些漏洞的信息可在 Oracle 关键补丁更新公告页面中找到:
安全修复
- CVE-2012-0572,CVE-2012-0574,CVE-2012-1702,CVE-2012-1705,CVE-2013-0375,CVE-2013-0383,CVE-2013-0384,CVE-2013-0385,CVE-2013-0389
- 在这个版本中,MySQL 数据库服务器中的几个安全漏洞被修复。有关这些漏洞的信息可在 Oracle 关键补丁更新公告页面中找到:
安全修复
- CVE-2012-2102
- 在删除记录后,MySQL 处理 HANDLER READ NEXT 语句的方式中发现了一个安全漏洞。一个远程的经过验证的攻击者可以利用此漏洞来提供此类请求,从而导致 mysqld 崩溃。此问题只会导致服务临时拒绝,因为 mysqld 在崩溃后自动重启。
功能增强
5.205. nautilus
5.205.1. RHBA-2012:0914 - nautilus 程序错误修复更新
程序错误修复
- BZ#600260
- 当更改显示大小时,不会执行桌面文件夹刷新。因此,当屏幕分辨率较低时,图标会在可见屏幕外消失。在这个版本中,一个明确的刷新操作已被放在屏幕大小更改时,当屏幕分辨率较低时图标会可见。
- BZ#782467
- 在以前的版本中,名称为 ".desktop" 的空文件会自动识别为特殊文件。因此,对文件的一些操作(如 rename )会失败。现在,允许使用常规文件重命名操作的回退已添加到代码中,这些文件现在可以按预期重命名。
- BZ#772103
- 由于一个短期的内部对象,卷 Properties 对话框中不会显示空闲空间信息。在这个版本中,对另一个内部对象的引用已被放在代码中,现在会正确显示空闲空间信息。
- BZ#755561
- 在以前的版本中,当将 Nautilus 桌面设置为显示用户主目录时,内部排队的负载操作不会在刷新后取消。因此,nautilus 在启动时意外终止。在这个版本中,未有效的待处理内部操作会被正确取消,且崩溃不再发生。
5.206. net-snmp
5.206.1. RHBA-2012:1106 - net-snmp 程序错误修复更新
错误修复
- BZ#836252
- 在此次更新之前,/etc/snmp/snmpd.conf 文件中有 50 'exec' 条目的限制。在配置文件中有超过 50 个这样的条目,snmpd 守护进程会将 "Error: No further UCD-compatible entries" 错误消息返回给系统日志。在这个版本中,这个限制已被删除,现在可以在 snmpd 配置文件中有任意数量的 'exec' 条目,从而防止这个程序错误。
SNMP
库、一个可扩展代理、用于从 SNMP 代理请求或设置信息的工具、用于生成和处理 SNMP 陷阱的工具、使用 SNMP 和 Tk/Perl 管理 信息基础 (MIB)浏览器的 netstat 命令版本。
安全修复
- CVE-2012-2141
- 在 net-snmp 代理在扩展表中查找条目的方式中发现了一个数组索引错误,并导致一个越界缓冲区读取缺陷。具有对由
extend
指令(在/etc/snmp/snmpd.conf
中)处理的管理信息基础(MIB)子树的远程攻击者可能会使用此缺陷通过精心设计的 SNMP GET 请求崩溃snmpd
。
程序错误修复
- BZ#736580
- 在以前的版本中,当处理请求时,当 AgentX 子代理断开连接时,进行了更改,以便意外停止
snmpd
终止。但是,这个修复引入了一个内存泄漏。在这个版本中,这个内存泄漏已被修复。 - BZ#740172
- 在以前的版本中,在 net-snmp-perl 子软件包中实现了一个新的 BRIDGE-MIB。这个 MIB 从内核使用了不正确的 interface-index 值转换,并报告了不正确的 ifIndex
OID
值(对象标识符)。在这个版本中,接口索引的转换已被修复,bridge-MIB 报告了正确的 ifIndex OIDs。 - BZ#746903
- 在以前的版本中,当解析
snmpd
.confproxy
选项时,snmpd 会错误地启用详细日志记录。因此,意外的调试信息有时会写入系统日志中。在这个版本中,snmpd
在解析代理
选项时不再修改日志记录设置。因此,除非系统管理员明确启用,否则不会向系统日志发送调试信息。 - BZ#748410
- 在以前的版本中,
snmpd
守护进程严格实现 RFC 2780。但是,这个规格不再可以很好地扩展具有小分配单元的现代大型存储设备。因此,snmpd
在处理大型文件系统时报告 “HOST-RESOURCES-MIB::hrStorageSize” 对象的错误值(大于 16TB),因为准确值不适用于 RFC 中指定的 Integer32。要解决这个问题,这个更新在/etc/snmp/snmpd.conf
配置文件 “realStorageUnits” 中添加了一个新选项。通过将此选项的值改为 0,用户现在可以重新计算 “hrStorageTable” 中的所有值,以确保 “hrStorageSize” 和 “hrStorageAllocationUnits” 的多复处理始终会生成准确的设备大小。“hrStorageAllocationUnits” 的值在本例中是 artificial,不再代表存储设备上的分配单元的实际大小。
- BZ#748411, BZ#755481, BZ#757685
- 在前面的 net-snmp 更新中,对 “HOST-RESOURCES-MIB::hrStorageTable” 的实现已被重写,使用 Veritas 文件系统 (VxFS)、ReiserFS 和 Oracle Cluster File System (OCFS2)的设备没有被报告。在这个版本中,
snmpd
可以正确地识别 VxFS、ReiserFS 和 OCFS2 设备,并在 “HOST-RESOURCES-MIB::hrStorageTable” 中报告它们。 - BZ#748907
- 在以前的版本中,Net-SNMP Perl 模块没有在 “NetSNMP::agent” 模块中的 方法中正确评估错误代码,并在此方法失败时意外终止。在这个版本中,
register()
方法已被修复,更新的 Perl 模块不会在失败时崩溃。 - BZ#749227
- SNMP 守护进程(
snmpd
)无法正确填充一组监视套接字文件描述符。因此,当 32 位平台上连接到snmpd
以上的 32 AgentX 子代理或 64 位平台上的 64 多个子代理时,守护进程有时会意外终止,并显示 “file: bad file descriptor” 错误消息。在这个版本中,snmpd
可以正确地清除被监视的文件描述符集合,在处理大量子代理时不再崩溃。 - BZ#754275
- 在以前的版本中,
snmpd
错误地在 64 位平台上检查 “SNMP-TARGET-MIB::snmpTargetAddrRowStatus” 值的长度。“”因此,snmpd
会向 “SNMP-SET” 请求发送了一个不正确的回复。在这个版本中,“SNMP-TARGET-MIB::snmpTargetAddrRowStatus” 的检查已被修复,可以使用 “SNMP-SET” 消息远程设置它。 - BZ#754971
- 在以前的版本中,
snmpd
不会检查存储在/var/lib/net-snmp/mib_indexes
目录中的 MIB 索引文件的权限,并假定它可以读取它们。如果读访问被拒绝,例如因为这些文件上的 SELinux 上下文不正确,snmpd
会崩溃。在这个版本中,snmpd
会检查其 MIB 索引文件是否已正确打开,如果无法打开它们,则不会崩溃。 - BZ#786931
- 在此发行版本中,“sysObjectID” 的
OID
参数的长度(ansnmpd.conf
配置文件选项)没有被正确地存储在snmpd
中,这会导致如果OID
有超过 10 个组件,则 “SNMPv2-MIB::sysObjectID” 被截断。在这个版本中,处理OID
长度已被修复,“SNMPv2-MIB::sysObjectID” 会被正确返回。 - BZ#788954
- 在以前的版本中,当
snmpd
启动时,且没有找到在最后一个snmpd
关闭过程中存在的网络接口时,会记录以下出错信息:snmpd: error finding row index in _ifXTable_container_row_restore
这在按需动态创建和删除网络接口的系统上(如虚拟主机或 PPP 服务器)发生。在这个版本中,这个消息已被删除,在系统日志中不再会出现。 - BZ#789909
- 在以前的版本中,
snmpd
,以低效率的方式为 “TCP
-MIB::tcpConnectionTable” 枚举活跃 TCP 连接,其复杂性为 O (n^2)。使用许多 TCP 连接时,NN
M 客户端可能会在snmpd
处理有关 “tcpConnectionTable” 的请求并发送响应前超时。这个版本改进了 enumeration 机制,snmpd
现在迅速响应 “tcpConnectionTable” 中的 SNMP 请求。 - BZ#799291
- 当对象标识符(
OID
)没有由/etc/snmp/snmpd.conf
配置文件中的 proxy 语句注册的子树时,snmpd
守护进程的旧版本无法使用代理 “GETNEXT” 请求的正确OID
。在这个版本中,snmpd 会正确调整代理 “GETNEXT” 请求的OID
,并按预期向远程代理发送正确的请求。 - BZ#822480
- net -SNMP 守护进程和工具使用
/var/lib/net-snmp
目录来存储持久数据,例如解析的 MIB 文件的缓存。这个目录由 net-snmp 软件包创建,当这个软件包没有安装时,Net-SNMP 工具和库会使用错误的 SELinux 上下文创建目录,这会导致 SELinux 报告的 Access Vector Cache (AVC)错误。在这个版本中,/var/lib/net-snmp
目录由 net-snmp-lib 软件包创建,因此所有 Net-SNMP 工具和库不需要创建该目录,目录将具有正确的 SELinux 上下文。
snmpd
和 snmptrapd
守护进程将自动重启。
5.206.3. RHBA-2013:1111 - net-snmp 程序错误修复更新
错误修复
- BZ#986192
- 在以前的 Net-SNMP 版本中,snmpd 在 IF-MIB::ifTable 和 IF-MIB::ifXTable 中报告了无效的网络接口速度,如果接口有 10, 100, 1000 或 2500 MB/s 的速度。因此,如果返回的值为 "0",如果将 Virtual Connect 速度设定为 0.9 Gb/s,则 net-snmp ifHighSpeed 的值为 "0"。在这个版本中,ifHighSpeed 值返回 ethtool 中报告的正确速度,snmpd 可以正确地报告非标准网络接口速度。
5.206.4. RHBA-2013:1216 - net-snmp 程序错误修复更新
错误修复
- BZ#1002859
- 当 AgentX 子代理与 SNMP 守护进程(snmpd)断开连接时,守护进程没有正确地检查子代理中排队的活跃请求并销毁会话。因此,在处理排队的请求时,snmpd 会引用会话,因为它已被销毁,snmpd 会意外终止分段错误或无限期循环。在这个版本中,增加了几个检查来防止与活跃请求的会话破坏,snmpd 在上述场景中不再崩溃。
5.207. NetworkManager-openswan
程序错误修复
5.208. NetworkManager
程序错误修复
- BZ#864828
- 由于读和编写网络配置文件错误,使用 LEAP 身份验证方法的网络连接无法被所有用户使用。现在,提供了一个补丁来解决这个问题,网络配置文件现在允许 LEAP。
- BZ#864829
- 在以前的版本中,NetworkManager 不允许为连接选择 WPA 协议版本。某些使用 Cisco 设备的企业 WLAN 网络不允许在相同物理访问点提供的 WPA 和 WPA2 虚拟访问点(VAP)之间漫游,需要使用特定的 WPA 协议版本来防止断开连接。在这个版本中,在 NetworkManager 用户界面(UI)中添加了 WPA 协议组合框,以便在需要时使用特定的 WPA 协议版本并防止这个程序错误。
- BZ#864830
- 当通过 GConf 系统或 /etc/sysconfig/network-scripts/ 配置文件中的设置锁定到特定的 WPA 协议版本(v1 或 v2/RSN)时,NetworkManager UI 会覆盖在编辑并保存连接时首选。这个程序错误已被解决,现在在上述场景中保留了 WPA 首选项。
功能增强
- BZ#864831
- 对于所有 WPA-Enterprise 配置的 NetworkManager 添加了对 Opportunistic Key Caching (OKC)的支持,也称为主动密钥缓存(PKC)。
WWAN
)和 PPPoE
设备,并提供 VPN
与各种不同的 VPN 服务集成。
程序错误修复
- BZ#663820
- NetworkManager 使用了 45 秒的
DHCP
事务超时,而无需配置不同的值。因此,在某些情况下,NetworkManager 无法获取网络地址。NetworkManager 已扩展为从 DHCP 配置文件读取 timeout 参数,并使用该参数而不是默认值。因此,NetworkManager 会在 DHCP 客户端配置文件中指定的 DHCP 事务期间等待获得地址。 - BZ#696967
- 如果没有安装 Web 浏览器,并在 nm-applet 的About 对话框中点击网站链接,则没有响应,NetworkManager 没有显示错误消息。现在,这个问题已被解决,用户现在会在上述场景中出现错误对话框。
- BZ#747649
- NetworkManager 不会更新系统连接的时间戳。因此,连接编辑器中的标题 “Last Used” 下的条目始终从,即使使用了连接。“”应用了上游补丁,NetworkManager 现在为所有连接更新连接时间戳。
- BZ#773590
- 在系统引导或者用户重新登录到 Gnome 显示管理器后,NetworkManager 会尝试初始化用户设置代理,即使它未激活。因此,这会导致将不必要的警告写入
/var/log/messages
文件。应用了上游补丁,以防止 NetworkManager 在用户设置服务不存在时尝试初始化用户设置代理。因此,在上述场景中不再生成警告信息。 - BZ#787084
- NetworkManager 在更改主机名时,在
/var/log/messages
日志文件中插入错误的警告消息。上游补丁已应用到 nm-dispatcher 脚本,NetworkManager 不再在主机名更改过程中生成不必要的警告。 - BZ#801744
- 当现有 DHCP 租期被续订时,NetworkManager 不会将其识别为 DHCP 状态的变化,因此无法运行分配程序脚本。因此,从 DHCP 记录清除的主机名。在这个版本中,代码已被改进,NetworkManager 现在可以正确处理相同的状态转换。因此,当租期被续订时,主机名不会从 DHCP 服务器清除。
- BZ#809784
- nm-applet 的消息目录中有一些语言出现错误。因此,连接编辑器中的 Routes 按钮名称不会被翻译,并以英语显示。消息目录已被修正,现在所有支持的语言都会正确翻译按钮文本。
功能增强
- BZ#209339
- NetworkManager 不支持
WPA2 企业
无线网络的EAP-FAST
身份验证,使其在某些无线环境中不可用。NetworkManager 已增强,以处理 EAP-FAST 身份验证。 - BZ#673476
- NetworkManager 无法处理 DHCP 服务器提供的 RFC3442-standard 类静态路由,而无需手动更改 dhclient 的配置文件。已进行了改进,以确保 RFC3442 无类别静态路由从 DHCP 服务器请求,并在无需人工干预的情况下由 NetworkManager 正确处理它们。
- BZ#685096
- NetworkManager 无法识别
IP-over-InfiniBand
接口,这在某些情况下会阻止安装。现在,这些接口可以被识别。 - BZ#712302, BZ#717475, BZ#804797
- 在以前的版本中,NetworkManager 不支持
VLAN
和绑定接口,并需要特殊配置以确保 NetworkManager 不会干扰其操作。NetworkManager 现在可识别并配置 VLAN 和绑定接口,但只有在/etc/sysconfig/network
中将NM_BOND_VLAN_ENABLED
键设为yes
时。默认值为no
。 - BZ#719892
- 如果使用 PolicyKit 设置来禁用共享
Wi-Fi
网络的创建,并且用户尝试使用 nm-applet 创建网络,则设置会静默失败。在这个版本中,nm-applet 会发出一个提供失败原因的通知。 - BZ#798294
- 当没有安装 NetworkManager 的 VPN 插件且用户试图配置
VPN
连接时,连接编辑器会在没有指示原因的情况下显示一个敏感的 按钮。在这个版本中,为这个按钮添加了一个工具提示,告知用户因为缺少 VPN 插件而禁用了编辑 VPN 连接。
5.209. nfs4-acl-tools
错误修复
- BZ#769862
- 在此次更新之前,几个未初始化的堆栈指针被错误地释放。因此,如果输入 ACL 文件的格式不正确,"nfs4_setfacl"命令会失败,并显示错误信息 "*** glibc detected *** nfs4_setfacl: double free 或 corruption (out) "。在这个版本中,修正了内存处理过程。现在,如果输入文件语法无效,nfs4_setfacl 命令会显示一个有用的错误消息。
5.210. nfs-utils
5.210.1. RHBA-2012:0964 - nfs-utils 程序错误修复更新
程序错误修复
- BZ#737990
- 在此次更新之前,nfs (5)手册页包含有关传输控制协议(TCP)重试的不正确的信息。这个版本修改了 man page,并更准确地描述 TCP 超时代码的工作方式。
- BZ#740472
- 在此次更新之前,"nfs_rewrite_pmap_mount_options ()"函数不会按预期中断 RPC 超时。因此,使用 "-o bg" 和 "vers=" 选项的挂载不会重试,但服务器停机时会失败。在这个版本中,修改底层代码,以允许挂载在服务器停机时重试。
- BZ#751089
- 在此次更新之前,rpc.idmapd 守护进程会错误地处理 "SIGUSR*" 信号。因此,idmapd 可以在某些情况下,在没有出错的情况下关闭。这个版本会修改底层代码,以如预期处理 "SIGUSR*" 信号。
- BZ#758000
- 在此次更新之前,当路径包含多个斜杠字符时,无法卸载挂载点。这个版本修改 "umount" 路径,以便现在可以按预期卸载挂载点。
- BZ#772543
- 在此次更新之前,nfs-utils 使用错误的 nfs 锁定文件。因此,"status nfsd"命令不会返回正确的状态。这个版本修改了启动脚本,以使用 "/var/lock/subsys/nfsd" 文件作为 nfs 锁定文件。现在,会返回正确的 nfsd 状态。
- BZ#772619
- 在此次更新之前,NFS ID 映射可以使用 umlaut diacritics (ö, ä, ü)将组名中的 Unicode 字符重定向到组"nobody"。这个版本取消激活 Unicode 字符检查。
- BZ#787970
- 在此次更新之前,名称映射守护进程 idmapd 无法解码包含空格的组名称。在这个版本中,修改字符大小检查来解码八进制编码值。现在,带有空格的组名称会如预期被解码。
- BZ#800335
- 在此次更新之前,在某些情况下,"exportfs"命令的并发执行可能会发生冲突,在更新 etab 文件时会导致冲突。因此,并非所有导出都成功。这个版本修改了 exportfs 脚本,以允许并发执行。
- BZ#801085
- 在此次更新之前,无法卸载通过 NFS 挂载的符号链接。在这个版本中,修改底层代码,以便现在按预期导出符号链接。
- BZ#803946
- 在此次更新之前,nfsd 守护进程在 mountd 守护进程之前启动,且 nfsd 无法使用 mountd 验证文件句柄。如果现有客户端在 nfsd 启动时向 NFS 服务器发送请求,NFS 客户端会收到"ESTALE"错误和客户端应用程序会失败。这个版本更改了守护进程的启动顺序,以便 nfsd 可以使用 mountd 守护进程。
- BZ#816149
- 在此次更新之前,preinstall scriptlet 可能无法更改 nfsnobody 的默认组 ID。在这个版本中,修改 preinstall scriptlet,在 nfs-utils 升级后会更改默认组 ID。
- BZ#816162
- 在此次更新之前,在某些情况下挂载非用户帐户的子目录会失败。在这个版本中,修改底层代码,确保禁用伪导出的父目录。现在,非用户帐户的子目录可以成功挂载。
5.211. Nmap
5.211.1. RHBA-2012:0817 - nmap 程序错误修复和安全更新
错误修复
- BZ#813734
- 在此次更新之前,为"More Fragments"选项列出了"-md"的 nping man page。在这个版本中修正了这个错误打印,现在可以正确列出这个选项的"--mf"。
5.212. nspluginwrapper
安全修复
- CVE-2011-2486
- nspluginwrapper 无法嵌套插件来发现浏览器是否在私有 Browsing 模式下运行。在应该以私有 Browsing 模式运行时,这个漏洞可能会导致 nspluginwrapper 使用正常模式嵌套的插件。
错误修复
- BZ#869554
- 当在 64 位系统上使用 acroread-plugin 软件包提供的 acroread-plugin 软件包提供的dobe Reader Web 浏览器插件时,在 Firefox 中打开可移植文档格式(PDF)文件可能会导致插件崩溃,以及一个黑色窗口。必须重新启动 Firefox 以解决此问题。在这个版本中,在 nspluginwrapper 中实施一个临时解决方案,以自动处理插件崩溃,因此用户不再需要继续重启 Firefox。
5.213. nss、nss-util 和 nspr
安全修复
- BZ#798533
- 它发现,证书颁发机构(CA)向客户发布从属 CA 证书,可用于为任何名称发布证书。这个版本会使从属 CA 证书视为不被信任。备注在这个版本中,仅适用于使用 NSS 内置对象令牌的应用程序。它不会为使用 NSS 库的应用程序呈现不受信任的证书,但不会使用 NSS 构建的对象令牌。
- BZ#746632
- 在检测不存在的文件名时,PEM 模块内部功能不会清理内存。因此,客户端代码中的内存泄漏发生。现在,代码已被改进来取消分配此类临时对象,因此报告的内存泄漏已消失。
- BZ#761086
- 最近对 NSS 的更改重新引入了应用程序无法在同一过程中使用多个 SSL 客户端证书的问题。因此,任何尝试运行多个 SSL 客户端证书的命令(如 "yum repolist" 命令)都会导致重新协商握手失败。在这个版本中,一个修订的补丁修正了这个问题已应用到 NSS,并可以在同一过程中使用多个 SSL 客户端证书。
- BZ#768669
- PEM 模块没有完全初始化新构建的对象,并将功能指针设置为 NULL。因此,在访问软件包存储库时,有时会出现 libcurl 中的分段违反情况。在这个版本中,代码已被修改为完全初始化新分配的对象。现在,可以在没有问题的情况下安装更新。
- BZ#784674
- 缺少robustness 漏洞会导致 Red Hat Directory Server 管理服务器意外终止,因为 mod_nss 模块在根据记录的 API 初始化 nss 调用前进行 nss 调用。在这个版本中,nss 在被调用者正确初始化前保护自己被调用。
- BZ#795693
- 当针对 NSS 3.13.1 编译代码时,一些编译器会出现编译错误。此时会显示以下出错信息:
pkcs11n.h:365:26: warning: "__GNUC_MINOR" is not defined
应用了上游补丁来改进代码,问题不再发生。 - BZ#797426
- 在最近更新到 nss 后,Red Hat Enterprise MRG 中包含的消息传递守护进程(qpidd)报告意外终止。这是因为 qpidd 在初始化 nss 之前发出 nss 调用。这些更新的软件包可防止 qpidd 和其他一个称为 nss 的进程,而无需初始化 API 强制崩溃。
安全修复
- CVE-2012-0441
- 在 NSS 中,在 ASN.1 (Abstract Syntax Notation One)解码器中发现了一个安全漏洞。此漏洞可能会导致解码器错误地跳过或将某些项目替换为默认值,或者可能导致应用程序崩溃(例如,如果它收到特制的 OCSP (在线证书状态协议)响应。
安全修复
- BZ#890605
- 它发现,证书颁发机构(CA)错误签发给客户的两个中间证书。这些证书可用于启动中间人攻击。在这个版本中,这些证书被认为是不受信任的。这涵盖了证书的所有使用,包括 SSL、S/MIME 和代码签名。注意在这个版本中,仅适用于使用 NSS 内置对象令牌的应用程序。它不会为使用 NSS 库的应用程序呈现不受信任的证书,但不会使用 NSS 构建的对象令牌。
5.214. nss-pam-ldapd
错误修复
- BZ#864365
- 当 nslcd 守护进程请求对大型组的访问时,glibc 库提供的缓冲区不能包含这样的组,而是使用较大的缓冲区重试来成功处理操作。但是,将混淆和冗余的错误消息写入 /var/log/message 文件中。在这个版本中,即使 glibc 提供了在上述场景中首次尝试太小的缓冲区,也不会返回冗余错误消息。
5.215. nss
5.215.1. RHBA-2012:1003 - nss 程序错误修复更新
错误修复
- BZ#828679
- 由于缺少内存不足(OOM)检查和错误地释放分配的内存,因此 Privacy Enhanced Mail (PEM)模块没有完全验证存储在 PEM 格式的文件中的证书编码。因此,错误处理测试会失败。在这个版本中,PEM 模块可以正确地验证编码,正确处理内存取消分配,以及处理测试的错误处理测试按预期传递。
5.216. numactl
错误修复
- BZ#751764
- 在此次更新之前,numastat 工具的手册页没有包含在 numactl 软件包中。在这个版本中,将缺少的 numastat 手册页添加到 numactl。
5.217. numpy
5.217.1. RHBA-2012:0986 - numpy 程序错误修复和安全更新
- BZ#692959
- 这个版本在 NumPY 的行为中引入了两个重要更改:
- 在 0-d 数组中运行时,numpy.max () 函数和其他函数现在不再接受 0 以外的值,-1 和 None,NumPY 现在会引发其他 axis 值的错误。
- 现在,无法指定一个大于 MAX_DIMS 值的 axis 值,NumPY 现在会在这些情况下引发错误。
有关更改的详情,请参阅 /usr/share/doc/numpy-1.4.1/1.4.0-notes.rst 文件。
5.218. openjpeg
安全修复
- CVE-2012-3358
- 在 OpenJPEG 中发现了一个输入验证缺陷,导致基于堆的缓冲区溢出。OpenJPEG 在镜像标题中处理标题号和大小的方式。一个远程攻击者可以提供一个专门制作的镜像文件,当使用与 OpenJPEG 链接的应用程序进行解码时,会导致应用程序崩溃,或者可能会执行具有运行应用程序的用户特权的任意代码。
- CVE-2009-5030
- 当从具有特定颜色深度的输入镜像中编码 JPEG 2000 文件时,Openjpeg 分配不足的内存。一个远程攻击者可以提供一个专门制作的镜像文件,该文件在与 OpenJPEG (如 image_to_j2k)链接的应用程序中打开时,将导致应用程序崩溃或可能执行具有运行应用程序的用户特权的任何代码。
安全修复
- CVE-2012-3535
- 发现 OpenJPEG 在使用前无法检查图像标头字段。一个远程攻击者可以提供一个专门制作的镜像文件,该文件可能会导致与 OpenJPEG 链接的应用程序崩溃或可能执行任意代码。
5.219. openldap
安全修复
- CVE-2012-2668
- 它发现 OpenLDAP 服务器守护进程忽略了 olcTLSCipherSuite 设置。这会导致使用默认的加密套件,这可能会导致比在传输层安全(TLS)与 OpenLDAP 客户端的协商过程中接受的密码更弱。
错误修复
- BZ#844428
- 当在 OpenLDAP 服务器中启用了 smbk5pwd overlay 且用户更改了其密码时,Microsoft NT LAN Manager (NTLM)和 Microsoft LAN Manager (LM)哈希没有被正确计算。这会导致 sambaLMPassword 和 sambaNTPassword 属性使用不正确的值进行更新,从而防止用户使用基于 Windows 的客户端或 Samba 客户端登录。在这个版本中,smbk5pwd overlay 与 OpenSSL 链接。因此,NTLM 和 LM 哈希会被正确计算,在使用 smbk5pwd 时密码更改可以正常工作。
安全修复
- CVE-2012-1164
- 在 OpenLDAP 服务器守护进程(slapd)处理某些仅请求属性且没有值的搜索查询的方式中发现了一个拒绝服务缺陷。在某些配置中,远程攻击者可以发出专门制作的 LDAP 搜索查询,在由 slapd 处理时,会导致 slapd 因为断言失败而崩溃。
程序错误修复
- BZ#784211
- 当 OpenLDAP 使用 master-master 复制设置,并在后端数据库上配置的"唯一"覆盖时,服务器在在线后无法同步。应用了上游补丁,覆盖不再会导致同步冲突。
- BZ#790687
- 当在 ldaps 端口(636)上启用了 OpenLDAP 服务器时,这个端口可能已被另一个进程使用 bindresvport ()调用。因此,slapd 守护进程无法绑定到 ldaps 端口。在这个版本中,为 portreserve 服务添加了一个配置文件,用于保留 ldaps 端口,现在此端口始终可用于 slapd。
- BZ#742163
- 当 OpenLDAP 服务器在启用了"约束"覆盖的情况下运行并且配置了"count"限制时,特定的修改操作可能会导致"计数"限制,而不用覆盖检测它。现在,计数覆盖已被修复,以检测这种情况,服务器会如预期返回 "constraint violation" 错误。
- BZ#783445
- 如果 slapd 守护进程通过 TLS 设置了 master-master 复制,则根据访问未分配的内存,它会意外终止并带有分段错误。这个版本应用了一个补丁,它复制并存储 TLS 初始化参数,直到延迟 TLS 初始化发生前,在上述场景中不再会出现崩溃。
- BZ#796808
- 当 OpenLDAP 服务器使用 TLS 和加载服务器密钥时,由于访问未初始化的内存,服务器会意外终止并出现分段错误。在这个版本中,保存 TLS 证书和密钥的变量会被正确初始化,服务器不会在上述场景中崩溃,并会记录有关失败的信息。
- BZ#807363
- 由于 libldap 库中的一个错误,当远程 LDAP 服务器响应客户端查询和客户端查询的引用时,在客户端的库中启用了内存泄漏时,在 libldap 中会出现内存泄漏。已提供了一个上游补丁来解决这个问题,并在上述场景中不再发生内存泄漏。
- BZ#742023
- 如果客户端建立了到远程服务器的 TLS 连接,该服务器连接由常见可信证书颁发机构(CA)发布的证书,则服务器证书将被拒绝,因为 CA 证书无法找到。现在,在软件包安装过程中,会创建证书数据库,并载入带有可信 root CA 的模块。Mozilla NSS 软件包附带的可信 CA 被使用,并且 TLS 连接到远程服务器现在可以正常工作。
- BZ#784203
- 在某些情况下,当调用 unbind 操作时,如果 ldap 句柄被销毁,库会尝试关闭连接套接字,该套接字已经关闭。因此,返回来自 valgrind 工具的警告信息。应用了上游补丁,在添加连接套接字前进行额外的检查,上面描述的场景中的套接字只会关闭一次,且没有返回警告。
- BZ#732916
- 在以前的版本中,在 ldap.conf man page 的"SASL OPTIONS"部分缺少 SASL_NOCANON 选项的描述。此更新修改 man page。
- BZ#743781
- 当一个相互排斥的选项 "-w" 和 "-W" 传递给任何 OpenLDAP 客户端工具时,工具会终止并带有一个断言错误。现在,应用了上游补丁,如果这些选项一起传递了这些选项,则不会启动客户端工具,从而防止这个错误。
- BZ#745470
- 在以前的版本中,OpenLDAP 客户端工具手册页中缺少"-o"和"-N"选项的描述。此更新对 man page 进行修改。
- BZ#730745
- 当在前端数据库之上设置"memberof"覆盖时,如果删除了条目,服务器会意外终止并出现分段错误。在这个版本中,不再可以在前端数据库之上设置"memberof"覆盖。相反,需要在后端数据库或数据库上设置。现在,崩溃不再会在上述场景中发生。
- BZ#816168
- 当 openldap-clients 软件包中的实用程序在没有指定 URL 的情况下调用时,会出现内存泄漏。上游补丁已应用于解决这个问题,在上述场景中不再发生错误。
- BZ#818844
- 当连接到启用了 TLS 的远程 LDAP 服务器时,并将 TLS_CACERTDIR 参数设置为 Mozilla NSS 证书数据库,并且 TLS_CACERT 参数被设置为带有 CA 证书的 PEM 捆绑包,则不会加载 PEM 捆绑包的证书。如果签名 CA 证书只在 TLS_CACERT 指定的 PEM CA 捆绑包中存在,则远程证书的验证会失败。如果同时设置了 Mozilla NSS 证书数据库,则此更新允许从 PEM 捆绑包文件加载 CA 证书。因此,在上述场景中验证会成功。
5.220. openmotif
5.220.1. RHBA-2012:1405 - openmotif 程序错误修复更新
程序错误修复
5.221. openssh
5.221.1. RHBA-2012:1443 - openssh 程序错误修复更新
错误修复
- BZ#871127
- 当系统上禁用了 SELinux 时,没有安装磁盘上的策略,使用用户帐户进行连接,并且该用户的主目录中没有"~/.ssh"配置,ssh 客户端在尝试连接到其他系统时可能会意外终止分段错误。已提供了一个补丁来解决这个问题,并在上述场景中不再崩溃。
安全修复
- CVE-2011-5000
- OpenSSH GSSAPI 身份验证实现中发现了一个拒绝服务漏洞。一个远程的经过身份验证的用户可能会使用这个缺陷使 OpenSSH 服务器守护进程(sshd)使用过量内存,从而导致拒绝服务。GSSAPI 身份验证默认为"/etc/ssh/sshd_config"中的"GSSAPIAuthentication yes"。
程序错误修复
- BZ#732955
- 如果启用了 IPv6,并且参数 X11UseLocalhost 设置为"no",则 SSH X11 转发会失败。因此,用户无法设置 X 转发。这个版本修复了 sshd 和 ssh,以正确地绑定 IPv6 协议的端口。因此,X11 转发现在可以和 IPv6 正常工作。
- BZ#744236
- 在运行压力测试时,sshd 守护进程被 OOM 终止程序终止。因此,用户无法登录。在这个版本中,sshd 守护进程将其 oom_adj 值设置为 -17。因此,OOM 终止程序不会选择 sshd,用户可以登录以解决内存的问题。
- BZ#809619
- 如果 SSH 服务器配置了包含反斜杠字符的横幅,客户端将使用另一个"\" 字符进行转义,因此它会打印双引号。上游补丁已应用于更正问题,现在可以正确显示 SSH 横幅。
功能增强
- BZ#657378
- 在以前的版本中,SSH 允许多种验证方法,成功登录只需要其中一个。SSH 现在可以设置为需要多种方法进行 SSH 身份验证。例如,登录启用了 SSH 的计算机需要输入密码短语和公钥。RequiredAuthentications1 和 RequiredAuthentications2 选项可以在 /etc/ssh/sshd_config 文件中配置,以指定成功登录所需的身份验证。例如,要为 SSH 版本 2 设置密钥和密码验证,请输入:
echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
有关上述 /etc/ssh/sshd_config 选项的更多信息,请参阅 sshd_config 手册页。 - BZ#756929
- 在以前的版本中,OpenSSH 可以使用高级加密标准新指令(AES-NI)指令集的 AES Cipher-block 链(CBC)密码。在这个版本中,增加了对 OpenSSH 中的 Counter (CTR)模式加密的支持,以便 AES-NI 指令现在可以高效地与 AES CTR 密码一起使用。
- BZ#798241
- 在此次更新之前,在特权分离(privsep)过程中,一个非特权的 slave sshd 进程作为 sshd_t 上下文运行。sshd_t 是用于运行 sshd 守护进程的 SELinux 上下文。假设非特权从进程在用户的 UID 下运行,它适合在用户的 SELinux 上下文下运行此进程,而不是特权 sshd_t 上下文。在这个版本中,没有特权的从进程以用户的上下文运行,而不是根据特权分离原则运行 sshd_t 上下文。现在,非特权进程(可能对安全威胁)更敏感,现在在用户的 SELinux 上下文下运行。
5.222. openssl
5.222.1. RHBA-2012:1195 - openssl 程序漏洞修复更新
错误修复
- BZ#848406
- 当在 FIPS 模式下尝试以加密格式尝试私钥文件的保存操作时,生成的文件被破坏,因为 PEM 加密使用 FIPS 模式不可用的哈希算法。在这个版本中,PKCS#8 加密格式用于将私钥写入 FIPS 模式下的文件。这个文件格式不会在 FIPS 模式下使用无法使用算法,从而防止这个程序错误。
5.223. openswan
5.223.1. RHBA-2012:1305 - openswan 程序错误修复更新
错误修复
- BZ#852454
- 当使用 DPD (Dead Peer 检测)在两个 IPsec 主机(第 6 天和 host2)之间建立隧道时,host2 在 host1 持续传输数据时,host1 会在 DPD 操作后持续排队多个阶段 2 请求。当 host2 重新上线时,将建立待处理阶段 2 请求的堆栈,保留一个新的 IPsec SA (安全关联),以及大量消耗系统资源并最终过期的额外 SA 组。在这个版本中,openwan 在 host2 停机时只有一个待处理的阶段 2 请求,在 host2 备份时,只会建立一个新的 IPsec SA,从而防止这个程序错误。
5.223.2. RHBA-2012:1069 - openswan 程序错误修复更新
程序错误修复
- BZ#834660
- 根据 RFC 5996 标准,无论其值如何,必须忽略保留字段。但是,对于某些有效负载,在接收时不会忽略保留字段的内容。因此,Openswan 报告出错信息,IKE 协商失败。在这个版本中,Openswan 已被修改,忽略保留字段和 IKE 协商可以成功,无论保留字段值是什么。
- BZ#834662
- 当在传输模式下配置连接时,Openswan 在安全关联(SA)设置过程中不会将流量选择器的信息传递给 NETKEY/XFRM IPsec 内核堆栈。因此,这些信息在 "ip xfrm state" 命令的输出中不可用。在这个版本中,当 SA 在传输模式下设置时,Openswan 可以正确地将流量选择器信息传递给内核。
5.223.3. RHBA-2012:0916 - openswan 程序错误修复更新
程序错误修复
- BZ#768162
- 在以前的版本中,Openswan 有时会生成一个 KE 有效负载,它比 Diffie-Hellman 算法指定的 1 字节要短。因此,IKE 会在随机间隔中重新协商失败。记录以下格式的错误消息:
next payload type of ISAKMP Identification Payload has an unknown value:
在这个版本中,检查生成的密钥的长度,如果小于必需的,则会添加前导零字节。 - BZ#768442
- 旧版本的内核需要 HMAC 哈希函数的输出长度截断到 96 位,因此 Openswan 以前在使用 HMAC-SHA2-256 算法时,Openswan 使用 96 位截断长度。但是,较新的内核需要 128 位 HMAC 截断长度,该长度根据 RFC4868 规格。因此,这种差异可能会导致 IKE 端点上设置不兼容的 SA,因为一个端点使用 96 位,以及哈希函数的其他 128 位输出长度。这个版本修改了底层代码,以便 Openswan 现在与 RFC4868 满足,并添加对新内核配置参数 sha2_truncbug 的支持。如果
sha2_truncbug
参数设置为yes
,则 Openswan 现在将正确的密钥长度传递给内核,这样可确保旧内核与较新的内核之间的互操作性。 - BZ#771457
- 当处理 IKE_SA_INIT 交换和 IKE_SA_INIT 请求或响应消息的 RESERVED 字段时,Openswan 不会根据 IKEv2 RFC5996 规格忽略字段。因此,设置了保留字段的 IKE_SA_INIT 信息由 Openswan 和 IKE_SA_INIT 交换失败。在这个版本中,Openswan 被修改来忽略保留字段,如预期,IKE_SA_INIT 交换可以成功。
- BZ#771460
- 在处理 IKE_AUTH Exchange 和 IKE_AUTH 请求或响应消息的 RESERVED 字段时,Openswan 不会根据 IKEv2 RFC5996 规格按预期忽略字段。因此,IKE_AUTH 消息由 Openswan 处理,IKE_AUTH 交换失败。在这个版本中,Openswan 被修改为忽略保留字段,如预期,IKE_AUTH 交换在这种情况下可以成功。
- BZ#771461
- Openswan 错误地处理响应者(对发起的交换的端点响应)所推荐的流量选择器消息,使它们无法限制最初建议的流量选择器的子集。因此,Openswan 设置 CHILD 安全关联(SA)不正确。在这个版本中,Openswan 可以正确地减少一组流量选择器,并相应地设置 IKE CHILD SA。
- BZ#771463
- 在以前的版本中,Openswan 的行为不遵循 IKEv2 RFC5996 规格,并忽略了包含未识别的 “Notify” 有效负载的 IKE_AUTH 信息。这会导致已成功设置 IKE SA。在这个版本中,Openswan 处理任何未识别的 Notify 有效负载,因为错误,IKE SA 设置会如预期失败。
- BZ#771464
- 在处理 INFORMATIONAL 交换时,之前没有发送一个 INFORMATIONAL 响应消息,以响应启动器发送的 INFORMATIONAL 请求消息。因此,INFORMATIONAL 交换会失败。此更新更正 Openswan,以便响应者现在在收到每个 INFORMATIONAL 请求消息后发送 INFORMATIONAL 响应消息,在这种情况下,INFORMATIONAL 交换会成功。
- BZ#771465
- 使用 Delete payload 处理 INFORMATIONAL 交换时,之前的响应者不会按预期向发起方发送的 INFORMATIONAL 请求消息发送响应消息。因此,INFORMATIONAL 交换失败,启动器不会删除 IKE SA。此更新会更正 Openswan,以便响应者现在发送 INFORMATIONAL 响应消息,启动器在此场景中会如预期删除 IKE SA。
- BZ#771466
- 当响应者收到带有 CHILD SA 的 “Delete” payload 的 INFORMATIONAL 请求时,Openswan 无法正确处理请求,且不会根据 RFC5996 规格将 INFORMATIONAL 响应消息按预期发送到启动器。因此,响应器不知道请求,只有启动器的 CHILD SA 已被删除。在这个版本中,Openswan 会按预期发送响应消息,并在两个端点上正确删除 CHILD SA。
- BZ#771467
- Openswan 没有忽略 RFC5996 规格所需的 IKE_SA_INIT 请求消息的次版本号。因此,如果请求的次版本数量高于接收对等点使用的 IKE 协议的次版本号,Openswan 处理 IKE_SA_INIT 消息错误,并且 IKE_SA_INIT 交换失败。在这个版本中,Openswan 已修改,以忽略 IKE_SA_INIT 请求的 Minor Version 字段,在这种情况下,IKE_SA_INIT 交换可以成功。
- BZ#771470
- Openswan IKEv2 实现无法正确处理包含 INVALID_KE_PAYLOAD “Notify” payload 的 IKE_SA_INIT 消息。在这个版本中,Openswan 会向对等点发送 INVALID_KE_PAYLOAD notify 消息,以便 IKE_SA_INIT 可以使用正确的 KE 有效负载重启。
- BZ#771472
- Openswan 错误地处理由启动器(发起交换的端点)建议的流量选择器消息,使它们限制为最初建议的流量选择器的子集。因此,Openswan 会错误地设置 CHILD SA。在这个版本中,Openswan 可以正确地减少一组流量选择器,并相应地设置 IKE CHILD SA。
- BZ#771473
- 在以前的版本中,Openswan 不会响应 INFORMATIONAL 请求,但没有用于死对等检测的有效负载。因此,启动器认为响应者是死的对等点,并删除对应的 IKE SA。这个版本修改了 Openswan,以便空 INFORMATIONAL 响应消息现在按预期发送到启动器,启动器不再错误地删除此场景中的 IKE SA。
- BZ#771475
- 当处理 INFORMATIONAL 请求的 RESERVED 字段或响应信息时,Openswan 不会根据 IKEv2 RFC5996 规范忽略该字段。因此,INFORMATIONAL 消息被 Openswan 视为错误,INFORMATIONAL 交换会失败。在这个版本中,Openswan 被修改来忽略保留字段,在这种情况下,INFORMATIONAL 交换可以成功。
- BZ#795842
- 当启动器收到带有 IKE SA 的 “Delete” payload 的 INFORMATIONAL 请求时,Openswan 没有正确处理请求,且不会根据 RFC5996 规格将 INFORMATIONAL 响应消息按预期发送到响应者。因此,启动器不知道请求,只有响应者的 IKE SA 已被删除。在这个版本中,Openswan 会按预期发送响应信息,并在两个端点上正确删除 IKE SA。
- BZ#795850
- IKEv2 要求每个 IKE 消息在 IKE 交换过程中重新传输消息时具有匹配请求和响应的序列号。在以前的版本中,Openswan 会错误地递增序列号,以便以错误的顺序处理 IKE 信息。因此,响应器发送的任何消息都不会被正确处理,后续的交换都会失败。这个版本会根据 RFC5996 规格修改 Openswan 以递增序列号,以便正确匹配 IKE 信息,并在这种情况下按预期交换成功。
5.223.4. RHBA-2013:1161 - openswan 程序错误修复更新
错误修复
- BZ#983451
- openswan 软件包用于互联网协议安全(IPsec)包含两个诊断命令 "ipsec barf" 和 "ipsec look",这可能会导致 NAT 和 IP 连接跟踪的 iptables 内核模块被加载。在非常忙碌的系统中,载入此类内核模块可能会导致性能下降,或者在内核耗尽资源时造成崩溃。在这个版本中,诊断命令不会导致加载 NAT 和 IP 连接跟踪模块。这个版本不会影响已经使用 IP 连接跟踪或 NAT 作为 iptables 和 ip6tables 服务的系统,这些内核模块已加载。
5.224. oprofile
错误修复
- BZ#748789
- 在某些情况下,"opannotate"和"opreport"命令不会报告任何结果。在这个版本中,这个问题已被解决,这些命令可以正常工作。
5.225. ORBit2
5.225.1. RHBA-2012:1457 - ORBit2 程序错误修复更新
错误修复
- BZ#866469
- ORBit2 连接代码无法处理 EAGAIN 错误,因为同时连接请求太多,它可以被 AF_UNIX 套接字返回。这可能导致 gconfd-2 客户端无法连接到 gconfd 守护进程。因此,当登录到 GNOME 2 会话时,会发出各种错误,服务器负载非常重。在这个版本中,添加了补丁,使 ORBit2 请求代理在收到 EAGAIN 错误时等待定义的时间段,然后重试 以建立连接。在这种情况下,登录到 GNOME 2 会话时不再出现错误。
5.226. pacemaker
程序错误修复
- BZ#720214
- 在以前的版本中,隔离代理元数据中根据需要声明 "port" 参数。但是,有些设备会自动确定正确的端口,因此不需要在配置中指定它。因此,更新没有包含 "port" 参数的配置会失败,并显示以下错误消息:
ERROR: apc-fencing: required parameter port not defined
这个版本修改了隔离代理元数据,以便不会声明"端口"作为所需的配置选项。因此,更新没有指定 "port" 参数的配置成功。 - BZ#720218
- 在以前的版本中,隔离代理元数据中不会声明"start"和"stop"操作。因此,配置隔离设备时会显示以下警告信息:
WARNING: apc-fencing: action start not advertised in meta-data, it may not be supported by the RA WARNING: apc-fencing: action stop not advertised in meta-data, it may not be supported by the RA
在这个版本中,所有隔离代理元数据添加了"start"和"stop"操作。因此,配置隔离设备不再显示上述警告信息。 - BZ#789397
- 由于底层源代码中的错误,操作失败记录不会与移除的资源一起删除。因此,在上一个删除后重新定义资源与之前的失败记录关联。在这个版本中,修改底层源代码,以便与删除的资源一起删除失败记录。因此,在重新定义后,之前删除的资源不会与任何失败记录关联。
- BZ#799070
- 在以前的版本中,确定资源是否活跃的逻辑不正确。因此,依赖此逻辑的工具会忽略处于"UNCLEAN"状态的节点上的活动资源。在这个版本中解决了逻辑。因此,依赖于此逻辑的工具会报告 "UNCLEAN" 状态的活动资源作为活跃状态。
- BZ#801351
- 在以前的版本中,crm_report 命令的 -v 和 -V 选项的描述在其手册页的文本中被交换。因此,在使用这些选项时,一些用户会被意外行为造成错误。在这个版本中,修正了手册页的文本,以便它们反映 crm_report 命令的实际行为。
功能增强
- BZ#782255
- pacemaker 现在使用 libqb 库进行日志记录。这提供了不太详细的日志,同时仍然提供调试和支持 Pacemaker 的功能。
5.227. PackageKit
5.227.1. RHBA-2012:0913 - PackageKit 程序漏洞修复更新
程序错误修复
- BZ#744359
- 如果用户试图安装或更新未签名的软件包,或使用未安装的 GPG 密钥进行签名或未可用于安装,则 PackageKit 会保留报告软件包来自不受信任的源,并重复提示用户进行确认。在这个版本中修正了此行为,并确保使用最新的接口来指定要安装的不受信任的软件包。
- BZ#783537
- 如果使用 "--noninteractive" 命令行选项执行 pkcon 控制台客户端,则不应提示用户输入任何确认。在以前的版本中,使用这个选项运行 pkcon 不会阻止它在某些情况下需要确认,例如,如果需要导入软件包签名密钥,或者在删除软件包过程中删除其他依赖软件包。在这个版本中,pkcon 工具不再需要确认,并像用户在命令行中回答 "yes" 一样进行。
- BZ#684861, BZ#700448
- 在此次更新之前,PackageKit-yum 和 PackageKit-yum-plugin 子软件包没有指定 pygobject2 和 dbus-python 作为依赖项。因此,如果系统上没有这些软件包,某些工具(如 pkcon 控制台客户端或 YUM 的 refresh-packagekit 插件)无法正常工作。这个版本调整 PackageKit-yum 和 PackageKit-yum-plugin 子软件包,来分别需要 pygobject2 和 dbus-python。因此,由于缺少依赖软件包,安装任何子软件包的工具无法正常工作。
5.228. pam_pkcs11
5.228.1. RHBA-2012:0972 - pam_pkcs11 程序错误修复更新
错误修复
- BZ#756917
- 当远程登录到一个启用了智能卡日志的系统时,用户在尝试使用 su 时看到以下不必要的错误消息:
ERROR:pam_pkcs11.c:224: Remote login (from localhost:13.0) is not (yet) supported
尽管这条消息仍能够使用 su。在这个版本中,会记录消息,但不再显示。
5.229. pango
5.229.1. RHBA-2012:1498 - pango 程序错误修复更新
错误修复
- BZ#878772
- 由于 pangoft2 模块中的回归,不正确的计算会导致字符的大约宽度报告为零。因此,一些使用 Pango 库的应用程序会失败并带有断言。在这个版本中,大约字符宽度会被正确设置,不再会出现故障。
5.230. parted
5.230.1. RHBA-2012:0773 - parted 程序错误修复更新
程序错误修复
5.231. pcre
5.231.1. RHBA-2012:1240 - pcre 程序错误修复发行版本
程序错误修复
- BZ#756105
- 在此次更新之前,如果匹配文本开头的第一个字符没有重复,则带有重复转发引用的模式匹配会失败。这个版本修改了匹配算法,而不是再次预期第一个字符。现在,重复转发引用的特征如预期匹配。
- BZ#759475
- 在此次更新之前,UTF-8 模式中的无写模式与输入文本末尾的字符不匹配,其编码长度比模式中的字符编码长度要短,如 "/wagon/8i"。这个更新会修改 pcre 库来正确计算匹配字符的长度。现在,无写模式会正确匹配具有不同编码长度的字符,即使输入字符串的末尾也是如此。
- BZ#799003
- 在此次更新之前,pcre 库的手册页包含错误打印。在这个版本中,修改手册页。
- BZ#842000
- 在以前的版本中,使用 pcre 版本 6 中的 libpcrecpp 库编译的应用程序无法针对 pcre 版本 7 中的 libpcrecpp 库执行,因为应用程序二进制接口(ABI)不匹配。在这个版本中,将 pcre 版本 6 的 compat RE::Init ()函数添加到 pcre 版本 7 libpcrecpp 库。在 Red Hat Enterprise Linux 5 上编译并使用 RE::Init 功能的应用程序现在可以在 Red Hat Enterprise Linux 6 上执行。
5.231.2. RHBA-2012:0445 - pcre 程序漏洞修复更新
程序错误修复
5.232. pcsc-lite
5.232.1. RHBA-2012:1343 - pcsc-lite 程序错误修复更新
错误修复
- BZ#851199
- 尽管 RHBA-2012:0990 公告中描述的更新,但 chkconfig 实用程序在启动 HAL 守护进程后不会自动放置 pcscd init 脚本。因此,pcscd 无法识别 USB 读取器。在这个版本中,pcscd init 脚本被修改为仅在 HAL 启动后明确启动,从而解决了这个问题。
5.232.2. RHBA-2012:0990 - pcsc-lite 程序错误修复更新
错误修复
- BZ#812469
- 在以前的版本中,pcscd init 脚本指向错误的值来标识 HAL 守护进程。它还在运行级别 2 中正常启动。因此,chkconfig 在 HAL 守护进程启动后不会自动放置 pcscd,因此 pcscd 无法看到 USB 读取器。在这个版本中,pcscd init 脚本已被修改来正确识别 HAL 守护进程,且只在运行级别 3、4 和 5 中启动,从而修复这个程序错误。
5.233. perl-DBD-Pg
安全修复
- CVE-2012-1151
- perl-DBD-Pg 中发现了两种格式字符串漏洞。来自服务器的特制数据库警告或错误消息可能会导致应用程序使用 perl-DBD-Pg 崩溃或可能,执行具有运行应用的用户特权的任意代码。
5.234. perl-GSSAPI
错误修复
- BZ#657274
- 在此次更新之前,perl-GSSAPI 规格文件使用已删除的 krb5-devel 文件。因此,perl-GSSAPI 软件包无法重建。在这个版本中,修改规格文件,以使用当前的 krb5-devel 文件。
5.235. perl-IPC-Run3
程序错误修复
- BZ#657487
- 在此次更新之前,如果没有安装 perl-Time-HiRes 模块,二进制 perl-IPC-Run3 软件包将无法构建。在这个版本中,将 perl-Time-HiRes 软件包添加到 perl-IPC-Run3 的 build-time 依赖项中。
- BZ#870089
- 在此次更新之前,当使用内部 perl-IPC-Run3 测试套件时,调用 IP-Run3 配置集器的测试会失败。在这个版本中,在 perl (Getopt::Long)和 perl (Time::HiRes)上添加运行时依赖项到 perl-IPC-Run3 软件包中,因为某些 IP-Run3 功能需要 perl 模块。现在,IPC-Run3 配置集会如预期运行。
5.236. perl-IPC-Run
错误修复
- BZ#856840
- 在此次更新之前,如果没有安装 perl-IO-Tty 软件包,则在使用 "IPC::Run::harness" 命令时不会加载 IO::Pty Perl 模块。因此,Perl 代码会失败。在这个版本中,在 perl-IPC-Run 软件包中添加了 perl-IO-Tty 依赖项。
5.237. perl-SOAP-Lite
错误修复
- BZ#748376
- 如果定义了 MOD_PERL 环境值,则 XMLRPC 请求可能会失败。现在,当定义了 MOD_PERL 时,会使用标准的 read ()函数而不是 sysread ()函数。因此,在这种场景中 XMLRPC 不再会失败。
5.238. perl-Sys-Virt
程序错误修复
- BZ#661801
- 在此次更新之前,perl-Sys-Virt spec 文件不包含"perl (Time::HiRes) "要求。因此,perl-Sys-Virt 无法在模拟模式下重建。在这个版本中,在 spec 文件中添加了缺少的要求。现在,perl-Sys-Virt 可以如预期以模拟模式重建。
- BZ#747483
- 在此次更新之前,perl-Sys-Virt man page 没有记录"get_xml_description"可执行文件的"$flags"参数。在这个版本中,修改 man page 以便正确记录该参数。
- BZ#748689
- 在此次更新之前,远程域内存统计的默认设置只使用了长度为 16 位。因此,get_node_cpu_stats () 函数可能会发送 libvirt 错误 "code: 1, message: internal error nparams too large"。这个版本修改了 libvirt,以便最大长度为 1024 位。
- BZ#773572
- 在此次更新之前,在每秒 Kilobytes (Kb/s)中错误地给出了 "block_pull 和 set_block_job_speed" 方法中的带宽。在这个版本中,带宽单位更改为每秒的兆字节(Mb/s)。
- BZ#800766
- 在此次更新之前,最大迁移带宽的带宽被错误地假定为每秒 Kilobytes (Kb/s)。这个版本将最大迁移带宽单元改为每秒的兆字节(Mb/s)。
- BZ#809906
- 在此次更新之前,"Sys::Virt::StoragePool"的文档错误地声明对象方法 "get_info ()" 返回哈希。在这个版本中,更正了这个错误,并正确说明对象方法返回哈希引用。
功能增强
- BZ#800734
- 在此次更新之前,Perl API 绑定无法以字符串格式处理可调参数。因此,无法读取或写入块 I/O 可调整参数。在这个版本中,增加了对字符串参数的支持。现在,可以从 Perl API 中读取和更新块 I/O 可调整参数。
5.239. perl
5.239.1. RHBA-2012:0843 - perl 程序错误修复和功能增强更新
程序错误修复
- BZ#707960, BZ#717565
- 在以前的版本中,perl 和 perl-libs 软件包拥有 /usr/local/lib/perl5/、/usr/local/lib64/perl5/ 和 /usr/local/share/perl5/ 目录。因此,当 /usr/local/ 目录是只读或包含本地更改时,perl 和 perl-libs 软件包无法安装、重新安装、更新或删除。在这个版本中,perl 和 perl-libs 软件包已被更新为没有拥有上述目录。这样可确保应用此更新后,可以安装、重新安装、更新或删除这些软件包,并且此类操作不再影响 /usr/local/ 目录。
- BZ#738421
- 在此次更新之前,尝试使用 Perl 程序(例如,使用 IO::Compress::Bzip2 模块)中的 bzip2 压缩或解压缩功能会失败,并显示错误,因为没有 bzip2 模块可用。这个版本添加了对 bzip2 压缩和解压缩的支持,并分别提供两个新软件包 perl-Compress-Raw-Bzip2 和 perl-IO-Compress-Bzip2,用于 IO:Compress::Bzip2 和 Compress::Raw::Bzip2 模块。
- BZ#750145
- 当系统上没有 perl-ExtUtils-MakeMaker 软件包时,尝试运行由 perl-CPANPLUS 软件包提供的 cpanp 工具会失败,并显示以下错误:
Can't locate ExtUtils/MakeMaker.pm in @INC
有了这个更新,perl-ExtUtils-MakeMaker 现在需要 perl-IPC-Cmd 软件包,从 RPM 软件包安装的 cpanp 工具现在可以正常工作。 - BZ#801804
- 由于对应的 spec 文件中的错误,perl-Compress-Raw-Zlib 软件包的版本高于它提供的 Compress::Raw::Zlib 模块所报告的版本。在这个版本中,软件包版本改为 "2.020",使其与 Perl 模块的版本匹配。另外,这个更新会更改 epoch 号,以保留 RPM 软件包版本字符串排序。
- BZ#805606
- 在此次更新之前,当 POSIX::strftime ()函数调用返回超过 64 字节的字符串时,会出现内存泄漏。与这个情况类似,重复调用此功能的脚本可能会随着时间的推移消耗大量内存。这个版本应用上游补丁,它调整 POSIX::strftime () 函数的实现来重新分配内存,而不是分配新的补丁,不再会发生这样的内存泄漏。
- BZ#806373
- 当在 ZIP 解码器中最后一个流在 IO::Uncompress::Unzip 对象上调用 nextStream ()方法时,它不会根据文档的行为并返回非零值。在这个版本中,上游补丁已应用到更正这个错误,nextStream ()方法现在可以正常工作。
功能增强
- BZ#817480
- Perl 解释器的早期版本没有使用"usesitecustomize"功能编译,这导致用户无法使用 /usr/local/share/perl5/sitecustomize.pl 脚本在执行解释器时自动修改 Perl 环境。在这个版本中,Perl 解释器被重新编译为 "-Dusesitecustomize" 选项,以便解释器现在会在解释 Perl 代码前自动执行 /usr/local/share/perl5/sitecustomize.pl 脚本。
5.240. php-pecl-apc
安全修复
- CVE-2010-3294
- 在 "apc.php" 脚本中发现了一个跨站点脚本(XSS)漏洞,它提供对 APC 的内部工作的详细分析,并作为 APC 扩展文档的一部分提供。远程攻击者可能会使用此缺陷进行跨站点脚本攻击。注意在软件包安装时不会部署管理脚本。它必须手动复制到 web root (例如,默认为 "/var/www/html/"。
5.241. php-pecl-memcache
错误修复
- BZ#722418
- 内存处理中的一个错误可能会导致在将序列化对象转换为 PHP 对象时造成内存崩溃。因此,PHP 脚本会意外终止,并显示分段错误。在这个版本中修正了这个程序错误,以便不再发生内存崩溃,而 PHP 脚本现在可以成功执行。
5.242. php
5.242.1. RHSA-2012:1046 - Moderate: php 安全更新
安全修复
- CVE-2012-0057
- 发现 PHP XSL 扩展没有限制 libxslt 的文件写入功能。一个远程攻击者可以利用这个漏洞来创建或覆盖运行 PHP 的用户可写入的任意文件,如果 PHP 脚本处理了不受信任的 eXtensible Style Sheet Language Transformations (XSLT)内容。
- CVE-2012-1172
- 注: 此更新会默认禁用文件写入。新的 PHP 配置指令 "xsl.security_prefs" 可用于启用 XSLT 中的文件。在文件上传请求中的 PHP 验证文件名中发现了一个安全漏洞。一个远程攻击者可以利用这个缺陷来绕过上传的文件名的清理,并导致 PHP 脚本使用目录遍历攻击将上传的文件存储在意外目录中。
- CVE-2012-2386
- 在 PHP 阻塞扩展处理 tar 归档文件的某些字段中的方式中发现了多个整数溢出漏洞,导致基于堆的缓冲区溢出漏洞。一个远程攻击者可以提供一个专门编写的 tar 归档文件,这些文件(由 PHP 应用处理)时,可能会导致应用程序崩溃,或者可能会执行具有运行 PHP 的用户特权的任意代码。
- CVE-2010-2950
- 在 PHP phar 扩展处理某些 PHAR 文件的方式中发现了一个格式字符串缺陷。一个远程攻击者可以提供一个专门制作的 PHAR 文件,在使用制制扩展的 PHP 应用中处理后,这可能会导致信息披露以及可能通过精心设计的 phar:// URI 执行任意代码。
- CVE-2012-2143
- 在 PHP 中的 crypt ()密码散列函数中的 DES 算法实现中发现了一个安全漏洞。如果要哈希的密码字符串包含某些字符,则计算哈希时会忽略字符串的其余部分,从而显著降低密码强度。
- CVE-2012-2336
- 注意:在这个更新中,在执行 DES 哈希时密码不再被截断。因此,受影响密码的新哈希值与使用存在安全漏洞的 PHP 版本生成的存储哈希不匹配,需要更新。发现通过 RHSA-2012:0546 发布 CVE-2012-1823 的修复没有正确地过滤所有 php-cgi 命令行参数。对 PHP 脚本特制的请求可能会导致 PHP 解释器在循环中执行脚本,或输出触发内部服务器错误的信息。
- CVE-2012-0789
- PHP strtotime ()函数调用中发现了一个内存泄漏漏洞。远程攻击者可以通过触发很多 strtotime ()函数调用来利用此漏洞导致过量内存消耗。
- CVE-2012-0781
- PHP tidy_diagnose ()函数中发现了一个 NULL pointer dereference 缺陷。远程攻击者可以利用特制的输入使应用程序崩溃,使用 tidy::diagnose。
- CVE-2011-4153
- 在某些情况下,PHP 没有检查 zend_strndup ()函数的返回值。远程攻击者可以利用此漏洞使 PHP 应用程序崩溃。
5.242.2. RHSA-2013:1061 - Critical: php 安全更新
安全修复
- CVE-2013-4113
- 在 PHP 解析深度嵌套的 XML 文档的方式中发现了一个缓冲区溢出缺陷。如果 PHP 应用程序使用 xml_parse_into_struct () 函数来解析不受信任的 XML 内容,攻击者能够提供特殊编写的 XML 可使用此缺陷使应用程序崩溃,或者可能,执行具有运行 PHP 解释器的用户特权的任意代码。
5.243. pidgin
安全修复
- CVE-2012-1178
- 在 Pidgin MSN 协议插件处理的文本在 UTF-8 中未编码的方式中发现了一个安全漏洞。一个远程攻击者可以通过发送特制的 MSN 信息来使 Pidgin 崩溃。
- CVE-2012-2318
- 在 Pidgin MSN 协议插件处理 MSN 通知消息的方式中发现了一个输入验证缺陷。恶意服务器或远程攻击者可能会通过发送特制的 MSN 通知消息,利用此漏洞使 Pidgin 崩溃。
- CVE-2012-3374
- 在 Pidginxdgit 协议插件中发现了一个缓冲区溢出缺陷。一个远程攻击者可以通过发送包含特殊精心设计的 emoticon 标签来使 Pidgin 崩溃。
5.244. piranha
5.244.1. RHBA-2012:0891 - piranha 程序错误修复更新
程序错误修复
- BZ#747300
- 在以前的版本中,pulse 服务无法正确关闭配置文件。这会导致在 pulse 服务中出现文件描述符泄漏,并可能会触发 SELinux AVC 错误。在这个版本中,配置文件会在读取后正确关闭,在这些情况下不会出现 SELinux 错误。
- BZ#749594
- 在以前的版本中,因为 ipvsadm 语法不正确,pulse 服务无法正确停止 ipvsadm sync 守护进程。因此,重启 pulse 服务后会存在多个同步守护进程。在这个版本中,使用正确的语法。pulse 服务现在停止所有同步守护进程,并在任何给定时间只有一个主同步守护进程和一个备份同步守护进程。
- BZ#785720
- 在以前的版本中,在重新读取配置文件时,lvsd 守护进程无法正确识别是否存在新的虚拟服务器。因此,当重新载入 pulse 服务时,lvsd 守护进程可能会意外终止并出现分段错误。在这个版本中,lvsd 守护进程可以正确地决定在重新载入 pulse 服务时是否将虚拟服务器添加到配置文件中。
- BZ#798362
- 在以前的版本中,在运行 "service pulse reload" 命令时,pulse init 脚本无法正确格式化输出。在这个版本中,在初始化脚本完成 reload 命令后打印换行符来解决这种格式化错误。
- BZ#813906
- 在以前的版本中,当 lvsd 守护进程被终止时,pulse 守护进程无法正确检测到。因此,pulse 守护进程不会触发故障转移。在这个版本中,pulse 守护进程可以正确地检测到 lvsd 被终止的时间,如果配置了备份 director 并激活,则会导致故障转移。
- BZ#815887
- 在以前的版本中,当为虚拟服务定义了 sorry_server 时,nanny 进程无法正确将信息写入系统日志。当配置了 sorry_server 时,所有 nanny 进程都使用 "--nodaemon" 选项运行。这个选项阻止消息被写入 syslog,因此 /var/log/messages 文件不包含 nanny 进程的信息。在这个版本中,所有 nanny 进程会将消息写入系统日志。
功能增强
- BZ#717556
- 在这个版本中,添加了指定与 ipvsadm sync 守护进程一起使用的同步 ID 的功能。lvs.cf 文件中的新选项 "syncd_id" 可用于设置同步 ID。这个选项也可以在 Piranha web 界面的"Redundancy"选项卡下进行配置。默认值为 0。
- BZ#745271
- 在这个版本中,添加了指定 IPVS 超时的功能,包括 TCP 会话超时、TCP FIN 会话超时和 UDP 数据包超时。在 lvs.cf 文件中添加了三个新选项:"tcp_timeout"、"tcpfin_timeout" 和 "udp_timeout"。这些超时值也可以在 Piranha Web 界面的"Global Settings"下进行配置。每个超时的默认值为 0,这会导致不对现有超时进行任何更改。
- BZ#788541
- 在这个版本中,添加了指定 ipvsadm sync 守护进程用来发送和接收多播消息的网络接口。lvs.cf 文件中的新选项 "syncd_iface" 可用于设置同步守护进程接口。这个选项也可以在 Piranha web 界面的"Redundancy"选项卡下进行配置。默认值为 "eth0"。
5.245. pki-core
5.245.1. RHBA-2012:0761 - pki-core 程序错误修复更新
程序错误修复
- BZ#745677
- Firefox launcher 设置,其打开了非功能证书颁发机构(CA)页面不正确,并应用到所有用户配置文件。在这个版本中,所有 PKI 相关的桌面图标已被删除,问题不再发生。
- BZ#769388
- pkisilent 脚本不接受特殊的 shell 字符,如空格或引号,即使它们被正确转义。因此,发生错误,脚本会失败。这个版本改进了代码,问题不再发生。
- BZ#771790
- 安装 IPA 时,安装程序使用"sslget"工具与 CA 通信。由于网络安全服务(NSS)的变化,服务器向由 9906 字节组成的 sslget 客户端发送完全响应,但客户端只收到加密流的 5 字节。在这个版本中,问题已被修复,sslget 现在会如预期从 PKI CA 输出返回的 XML 表单。
- BZ#806046
- Tomcat 更改了记录服务器启动的方式。在以前的版本中,服务器启动和操作由 root 和 tomcat 用户写入到 catalina.out 文件中。现在,root 和 tomcat 用户写入不同的日志。更改后,由于权限不正确,证书系统(CS) TT 子系统无法启动。CS 启动代码已被修改,以反映这个新的日志记录,现在可以按预期工作。
5.246. pm-utils
5.246.1. RHBA-2012:1094 - pm-utils 程序错误修复更新
错误修复
- BZ#800630
- 在此次更新之前,RPM 描述包含错误的产品名称。在这个版本中,删除所有错误的信息。
5.247. policycoreutils
- BZ#784595
- semanage 实用程序没有在通用标准认证环境中生成正确的审计消息。在这个版本中,修改了 semanage,以便在用户被分配给或从新角色中删除时发送正确的审计事件。这个版本还修改有关用户的 SELinux 多级别安全(MLS)和 Multi-Category Security (MCS)范围的 semanage 的行为。该工具现在可用于用户 MLS/MCS 安全级别的默认范围,而不是最低级别。此外,semanage (8)手册页已被修正,以反映当前的 semanage 功能。
- BZ#751313
- 在此次更新之前,policycoreutils 软件包的 ppc 和 ppc64 版本会在同一系统上安装时相互冲突。在这个版本中解决了这个程序错误 ; ppc 和 ppc64 版本现在可以同时安装。
- BZ#684015
- sepolgen-ifgen 实用程序底层代码中缺少 exit (1)功能调用可能会导致 restorecond 守护进程在检索用户信息时访问已经释放的内存。这会导致 restorecond 意外终止并出现分段错误。在这个版本中,restorecond 已被修改,以检查 getpwuid ()函数的返回值以避免这种情况。
- BZ#786191
- 当在联邦信息处理标准(FIPS)模式下安装软件包时,可能会出现解析错误,安装会失败。这是因为 "/usr/lib64/python2.7/site-packages/sepolgen/yacc.py" 解析器导致,该解析器使用 FIPS 模式不支持的 MD5 checksum。在这个版本中,解析器被修改为使用 SHA-256 checksum,安装过程现在可以成功。
- BZ#786664
- 由于 pam_namespace 的问题导致挂载点泄漏到父命名空间,因为除该目录的所有者以外的用户可能会看到 polyinstantiated 目录。在这个版本中,挂载点不再泄漏到父命名空间,用户只能看到他们拥有的目录。
- BZ#806736, BZ#807011
- 当用户或程序运行 "semanage fcontext" 命令时,会返回回溯错误。这是因为 semanage 命令的源代码中有一个拼写错误。在这个版本中解决了这个错误,执行 semanage fcontext 命令可以正常工作。
5.248. portreserve
程序错误修复
5.249. PostgreSQL 和 postgresql84
安全修复
- CVE-2012-2143
- 在与 DES 算法一起使用的 PostgreSQL pgcrypto contrib 模块执行密码转换的方式中发现了一个安全漏洞。如果要哈希的密码字符串包含 0x80 字节值,则计算哈希时会忽略字符串的其余部分,从而显著降低密码强度。这使得暴力猜测效率更高,因为整个密码不需要访问受保护的资源。
- CVE-2012-2655
- 注: 在这个版本中,在 DES 散列中正确包含字符串的其余部分;因此,受此问题影响的任何密码值将不再匹配。在这种情况下,需要更新这些存储的密码哈希。在 PostgreSQL 服务器在将 SECURITY DEFINER 或 SET 属性应用到一个 procedural 语言(如 PL/Perl 或 PL/Python)调用处理器函数时,在 PostgreSQL 服务器执行用户特权检查时,发现拒绝服务缺陷。非超级用户数据库所有者可能会使用这个缺陷导致 PostgreSQL 服务器因为无限递归而崩溃。
安全修复
- CVE-2012-3488
- 发现可选的 PostgreSQL xml2 contrib 模块允许在解析 Extensible Stylesheet Language Transformations (XSLT)时,使用数据库服务器的权限读取和写入到的本地文件和远程 URL。非特权用户可以使用此缺陷来读取和写入本地文件(如数据库的配置文件)以及通过发出特殊设计的 SQL 查询而无法访问的远程 URL。
- CVE-2012-3489
- 找到"xml"数据类型允许通过数据库服务器的特权读取本地文件和远程 URL,以解决提供的 XML 中 DTD 和实体引用。无特权数据库用户可以使用此缺陷来读取他们通过发出特殊精心设计的 SQL 查询而无法访问的本地文件。请注意,文件的完整内容不会被返回,但可以通过错误消息向用户显示部分内容。
5.250. postgresql-jdbc
功能增强
- BZ#816731
- 在这个版本中,支持 JDBC API 规格的 JDBC 4 和 JDBC 4.1 扩展。除了其他优点外,在 JDK 版本 6 及更高版本(包括 JDK 7)下,还需要这些添加才能正常工作 PostgreSQL JDBC 驱动程序。这个版本还会将驱动程序从 GCJ 构建转换为纯 jar (noarch)构建。
5.251. ppc64-utils
5.251.1. RHEA-2012:0815 - ppc64-utils 增强更新
功能增强
- BZ#739123
- 通过将 ppc64-diag 软件包添加到 Red Hat Enterprise Linux 6 中,ppc64-utils 软件包依赖于 ppc64-diag。在这个版本中,修改 ppc64-utils 的 spec 文件,以便 ppc64-diag 现在作为 ppc64-utils 的先决条件包含在内。
5.252. procps
5.252.1. RHBA-2012:1463 - procps 程序错误修复更新
程序错误修复
5.252.2. RHBA-2012:0461 - procps 程序错误修复更新
程序错误修复
- BZ#746997
- 在此次更新之前,无法使用命令行选项根据内存消耗对进程排序来指示"top"实用程序。这只能在交互模式中(使用"Shift+M"组合使用)。这个版本引入了一个新的命令行选项 "-a",它指示"top"实用程序根据批处理模式中的内存消耗对进程进行排序。请注意,在 Red Hat Enterprise Linux 5 中,这个功能由"-m"选项提供,而相同的选项则用于 Red Hat Enterprise Linux 6 中的另一个功能。
- BZ#751475
- 在以前的版本中,CPULOOP 变量仅影响代表特定 CPU 内核的统计信息行。在这个版本中,"top"命令还会在 CPU 摘要行中应用 CPULOOP 变量(代表所有 CPU 内核)。
- BZ#766792
- 在此次更新之前,没有为 procps 生成 development 软件包。在这个版本中,提供了包含一组 procps 开发标头的独立 procps-devel 软件包。
5.253. psacct
5.253.1. RHBA-2012:1082 - psacct 程序错误修复更新
程序错误修复
- BZ#828728
- 在以前的版本中,不正确的数据类型检测可能会导致异常溢出。因此,dump-acct 工具会报告不正确的经过的时间值。应用了补丁,以便使用此更新报告正确的值。
- BZ#834217
- 在以前的版本中,不正确的数据类型转换会导致 dump-utmp 工具报告无效的时间戳。因此,主要在 64 位 PowerPC 构架中,dump-utmp 可能会因为分段错误而意外终止。应用了补丁,以便报告正确的值,且不会在此更新中崩溃。
- BZ#838998
- 在以前的版本中,访问用于获取用户 ID 的不正确和未初始化的内存结构会导致 sa 工具报告不正确的用户名。因此,sa 工具可能会因为分段错误而意外终止。应用了补丁,以便报告正确的值,且不会在此更新中崩溃。
5.254. pulseaudio
5.254.1. RHBA-2012:1070 - pulseaudio 程序错误修复更新
错误修复
- BZ#836139
- 在 Creative Labs 的某些声音卡模型中,无论前面的设置是什么,S/PDIF Optical Raw 输出都会在引导时启用。这会导致禁用 aalog duplex 输出的音频输出。在这个版本中,S/PDIF Optical Raw 输出会在引导时禁用,以便模拟输出可以正常工作。
5.255. pykickstart
程序错误修复
- BZ#758603
- 如果使用带有"-useexisting"选项的"raid"命令没有指定 RAID 集的成员,则系统安装会失败,系统启动时出现以下错误信息:
Partitions required for raid
在这个版本中,库脚本会检查 RAID 成员是否已定义,如果不是这种情况,脚本会引发错误。 - BZ
- 在安装过程中,无法在安装过程中为使用不同网络接口在 iSCSI 设备配置和使用多路径,因为所有设备都使用默认网络接口。"iscsi"命令提供了"--iface[number]"选项,以允许明确地指定接口绑定。
功能增强
- BZ#821315
- "part"命令现在可以使用"--hibernation"选项,该选项允许指定交换分区的大小。现有"-recommended"选项遵循安装指南 swap 建议,它不一定适用于所有系统。这个新选项允许不同的大小算法,它更适合,特别是在系统使用休眠时。
- BZ#790457
- 逻辑卷现在可以使用 "--reserved-space" 或 "--reserved-percent" 参数保留可用空间。"--reserved-space"选项使用代表 MB 作为其参数的数字,而"--reserved-percent"选项采用代表应保留可用卷组的百分比的数字。这些选项只能用于在安装过程中创建的卷组。
5.256. PyQt4
5.256.1. RHBA-2012:1241 - PyQt4 程序错误修复更新
程序错误修复
5.257. python-configshell
5.258. python-memcached
错误修复
- BZ#789494
- 在此次更新之前,python-memcached 无法获取 memcached 服务器的统计信息,"get_stats ()"函数返回警告信息。在这个版本中,修改 "get_stats ()" 方法,以便 python-memcached 现在可以按预期获取统计信息。
5.259. python-paste-script
安全修复
- CVE-2012-0878
- 被发现,过去的 root 用户在启动时不会丢弃补充组特权。以 root 身份运行"粘贴"启动 Python Web 应用,该应用程序将以非 root 用户和组运行,会导致应用以 root 组特权运行。这可能会允许远程攻击者获得应用程序无法访问的文件的访问权限。
5.260. python-repoze-who
5.261. python-rhsm
程序错误修复
- BZ#720372
- 在以前的版本中,Subscription Manager 安装后在 /etc/rhsm/ca/fakamai-cp1.pem 目录中安装了 fakamai-cp1.pem 证书。但是,证书只为测试目的提供服务,且工具本身不需要。在这个版本中,证书已被删除。
- BZ#744654
- 如果 subscription-manager 命令是通过不正确的或空 --server.port 选项发布的,命令会失败,并显示回溯信息。在这个版本中,该工具会按预期设置提供的端口值,且不会返回回溯。
- BZ#803773
- 如果激活码包含非 ASCII 字符,则注册会失败并显示以下错误:
Network error. Please check the connection details, or see /var/log/rhsm/rhsm.log for more information.
这是因为将密钥转换为 URL 地址不正确。在这个版本中,subscription-manager 会正确转换字符,在上述场景中注册可以成功。 - BZ#807721
- 一些配置设置在 Red Hat Subscription Manager (RHSM)中没有定义默认值,这可能会导致一些命令返回回溯。现在,默认的 RHSM 值会如预期设置,问题不再发生。
- BZ#822965
- 当用户在 rhsm.conf 中定义了代理服务器时,订阅管理器无法正常工作并返回"未知 URL 类型"错误。这是因为在使用代理获取发行版本列表时,不会向 CDN 发送 "Host" 标头。有了这个更新,Host"标头会发送到 CDN,而 rhsm.conf 中的代理定义会如预期处理。
功能增强
- BZ#785247
- 程序错误修复以及 Red Hat Enterprise Linux 5.8 的 python-rhsm 软件包中引入的一些新功能已被向后移植到 Red Hat Enterprise Linux 6.3 上的 python-rhsm 中。
5.262. python-rtslib
错误修复
- BZ#813676
- 在此次更新之前,当 targetcli 工具退出时,配置不会被保存。这个版本改进了在系统重启后保存和恢复目标配置的机制。
5.263. python
5.263.1. RHBA-2012:1250 - python 程序错误修复更新
错误修复
- BZ#848815
- 作为 CVE-2012-0876 修复的一部分,在系统 libexpat 库中添加了一个新的符号("XML_SetHashSalt"),以及 Python 的标准库在 pyexpat 模块中使用。如果未修补的 libexpat.so.1 存在于 LD_LIBRARY_PATH 中列出的目录中,则尝试使用 pyexpat 模块(如 yum)将失败,并显示 ImportError 异常。在这个版本中,向 pyexpat 添加了一个 RPATH 指令,以确保 pyexpat 使用系统 libexpat,无论 LD_LIBRARY_PATH 是否有未修补的 libexpat,从而防止 ImportError 异常。
5.264. python-virtinst
程序错误修复
- BZ#741158
- 在以前的版本中,一些特殊字符不能包含在 virt-manager 中的虚拟机描述中(用于管理虚拟机的虚拟机管理器图形工具)。保存包含此类字符的描述失败并报告以下出错信息:
Error changing VM configuration: 'NoneType' object is not callable
在这个版本中修复了错误,以便正确保存包含特殊字符的描述,且错误消息不再发生。 - BZ#765928
- 在以前的版本中,在多线程应用程序中创建客户机(如 virt-manager)有时会失败并显示以下错误消息:
RuntimeError: dictionary changed size during iteration
这是因为内部 virtinst 状态不当锁定导致。在这个版本中修复了错误,因此,在多线程应用程序中创建客户机时,上述错误将不再发生。 - BZ#769191
- 在以前的版本中,当已创建 26 个或更多 virtio 硬盘时,virt-manager 为新创建的 virtio 硬盘生成不正确的 ID。因此,创建 27 个 virtio 硬盘会失败并显示以下错误消息:
Error adding device: An error occurred, but the cause is unknown
在这个版本中,virt-manager 为所有 virtio 硬盘生成正确的 ID。因此,有可能创建 virtio 硬盘到支持的 virtio 硬盘限制。 - BZ#783866
- 在此次更新之前,virt-clone 的 --help 消息的日语翻译不完整,它是以英语显示的一部分。另外,当在特定大小的终端窗口中查看 virt-clone 中克隆进度的计量消息会显示未知字符。在这个版本中解决了这个问题,并确保两个信息都被正确翻译和显示。
- BZ#786672
- 在此次更新之前,virt-manager 在返回虚拟机描述时预期字符串值。但是,使用 virt-manager-0.9.0-7.el6 或更早的虚拟机没有任何描述,因此会返回 "None" 值。因此,使用 virt-manager-0.9.0-7.el6 或使用新版本创建的客户机的加载会失败并显示以下错误消息:
AttributeError: 'NoneType' object has no attribute 'replace'
在这个版本中,为加载定义的客户机操作添加了一个返回值检查,并确保向后兼容使用 virt-manager-0.9.0-7.el6 或更早的客户端创建的客户机。现在,这些客户机可以被正确加载。 - BZ#798909
- 在此更新之前,virt-clone 只识别"xen"和"qemu"域类型,而"xen"是默认设置。因此,当将"kvm"指定为克隆虚拟机的域类型时,virt-clone 无法识别域类型,而是使用 "xen"。这个版本添加了对"kvm"域类型的支持。现在,当指定为域类型时,会识别"kvm"。
5.265. qemu-kvm
安全修复
- CVE-2012-3515
- 在模拟某些字符设备时,QEMU 如何处理 VT100 终端转义序列中发现了一个安全漏洞。具有写入使用虚拟控制台后端在主机上模拟的字符设备的客户机用户可能会使用此缺陷使主机上的 qemu-kvm 进程崩溃,或者可能在主机上升级其权限。这个安全漏洞不会影响 KVM 的默认使用。受影响的配置是:
- 当客户机从命令行启动("/usr/libexec/qemu-kvm")时,也没有指定串行或并行设备,或者 virtio-console 设备,特别是不使用虚拟控制台(vc)后端。(请注意,红帽不支持在命令行中在没有 Red Hat Enterprise Linux 6 中"-nodefaults"调用 "qemu-kvm"。)
- 通过 libvirt 管理的客户机,比如使用虚拟机管理器(virt-manager)时,具有串行或并行设备或 virtio-console 设备(使用虚拟控制台后端)。默认情况下,通过 libvirt 管理的客户机不会对这些设备使用虚拟控制台后端。
5.265.2. RHBA-2012:1585 - qemu-kvm 程序错误修复更新
程序错误修复
- BZ#861049
- 如果没有监听程序连接到主机上的端口,则会禁止客户机的输出,直到连接监听程序为止。但是,对于控制台端口,需要丢弃客户机输出。在以前的版本中,客户机会在将数据写入控制台端口后保持等待监听程序。但是,由于没有监听程序,因此客户机最终会变得无响应。这个程序错误已通过更改"pty"套接字类型的行为,使其不会阻止端口的输出,并在未连接监听程序时正确丢弃数据。
- BZ#861906
- 当使用 QXL 驱动程序和 VNC 作为显示协议的一些初始客户机操作系统安装时,在设置过程中,虚拟机会意外终止并显示分段错误,并返回 "lost connection with kvm process" 错误消息。已提供了一个补丁来解决这个问题,并在上述场景中正确运行虚拟机。
5.265.3. RHBA-2012:1519 - qemu-kvm 程序错误修复更新
错误修复
- BZ#873270
- 在 SVVP (Server Virtualization Validation Program)环境中,当使用 e1000 网络驱动程序时,PCI Hardware Compliance Test for Systems 作业会失败。因此,无法在系统上传递 HCK (硬件认证套件)SVVP 认证。已提供了一个补丁来解决这个问题,并在上述场景中通过测试。
5.265.4. RHBA-2012:1582 - qemu-kvm 程序错误修复更新
错误修复
- BZ#886101
- 当 vdsm 守护进程在阻止 NFS 存储上运行时,它会尝试持续访问存储。因此,vdsm 可能会几乎一小时的无响应。这个程序错误已被解决,在上述场景中 vdsm 现在可以在几分钟内进行恢复。
5.265.5. RHBA-2012:1121 - qemu-kvm 程序错误修复更新
程序错误修复
程序错误修复
- BZ#787974
- virtio-serial 设备标记为带有"present"位的客户机驱动程序,即使客户机不存在。由于已经设置了位,因此独立计算环境(SPICE)的简单协议假定,在迁移过程完成后,客户机代理正在运行,并且禁用服务器端鼠标。这会导致即使代理没有运行,鼠标也不可用。现在,只有在存在可正常工作的客户机驱动程序时,才会设置 "present" 位。如果没有客户机代理运行时,鼠标会在迁移后继续工作。
- BZ#789417
- 在以前的版本中,管理 "xsave" 处理器状态中缺少 free ()函数。当客户机使用 xsave 功能时,这会导致 qemu-kvm 中的内存泄漏,从而导致主机上过量内存消耗。现在,用来管理 xsave 支持的缓冲区在使用后释放,以便 qemu-kvm 不再泄漏内存。
- BZ#790421
- 当没有指定 TLS 端口(即禁用 TLS)时,可以使用传输层安全(TLS)设置 SPICE 频道。因此,在启动 QEMU 时,之前无法使用 SPICE 连接到虚拟机。在这个版本中,QEMU 会退出,并在这种情况下显示错误消息。
- BZ#807313
- 在以前的版本中,在某些情况下,USB 存储模拟功能无法在 I/O 请求取消时正确更新状态。因此,USB 存储卷在 USB 核心代码中触发断言,从而导致 qemu 进程转储内核。在这个版本中,状态更新会被正确处理,qemu 不再转储核心。
- BZ#807916
- QEMU Enhanced Host Controller Interface (EHCI)代码以前包含一个假的 assert () 函数。因此,qemu 可以转储核心。删除了 assert ()函数,在这种情况下防止核心转储。
- BZ#748810
- 由于 QXL 驱动程序中的一个错误,如果用户启动 QEMU 客户机,停止了客户机,并执行"screendump"命令,则 qemu-kvm 进程会意外终止,并带有分段错误。QXL 驱动程序中的 bug 已被修复,在这种情况下 qemu-kvm 不再崩溃。
- BZ#785963
- 如果用户在关闭虚拟网络计算(VNC)连接时按下修饰符键(Shift、Ctrl 或 Alt),则键事件被视为在下一个 VNC 连接打开时按。例如,当 VNC viewer 使用 Alt+F4 组合键关闭时会出现这种情况。要防止这个问题,键-up事件现在被注入客户机,如果关闭 VNC 连接时,事件会按预期处理。
- BZ#738519
- 当热插或热拔超过 1000 次的 USB 控制器时,qemu-kvm 进程转储的核心。这是因为 Memory-mapped I/O (MMIO) BARs 存在,但无法取消注册。取消注册 MMIO BAR 是通过此次更新实现的,以便 qemu-kvm 可以正确运行,并且 USB 控制器可以按预期进行热插拔和热拔。
- BZ#740707
- 由于在数据包完成上执行断言,运行具有 USB 设备透传到 USB 1.1 控制器的客户机会导致 qemu-kvm 终止,并显示断言失败。断言不再对数据包完成执行,这样可确保 qemu-kvm 正确运行。
- BZ#734426
- 当启动客户机并在主机上移动时间时,客户机会变得无响应。这是因为实时时钟(RTC)计时器模拟不正确。这个问题已被解决,现在客户机设置会被正确调整,因此在这种情况下客户机不会挂起。
- BZ#795652
- 如果 "__com.redhat_spice_migrate_info" monitor 命令使用了不正确的参数,则错误处理程序会导致 QEMU 监控变得无响应。错误处理已被修改,以便在执行带有错误参数的命令时,QEMU 监控不再挂起。
- BZ#796063
- 在 SAVE/RESTORE 处理程序中设置了不正确的位。因此,在实时迁移或保存和恢复迁移后,客户机可能会变得无响应。一个补丁已被应用于解决这个问题,因此在这种情况下,客户机不再挂起。
- BZ#754349
- USB 设备初始化失败没有被正确处理。添加多个无效的 USB 主机设备会导致客户机转储内核。USB 初始化失败处理已被修复,在这种情况下,客户机不再转储核心。
- BZ#702370
- 由于传输字节数的计算不正确,迁移停机时间以前比预期更长,并通过设置 "migrate_max_downtime ()" monitor 命令来允许。因此,客户机无法长于允许的时间。底层源代码已被修改,仅计算传输字节数,以便 qemu-kvm 现在满足迁移停机时间设置。
- BZ#698936
- 迁移到具有早期版本的 Red Hat Enterprise Linux (Red Hat Enterprise Linux 6.1)的主机可能会因为 QXL 修订不兼容而失败。修订号已更改为与旧版本的 Red Hat Enterprise Linux 兼容,以便客户机现在可以成功迁移到这样的主机。
- BZ#769760
- 在尝试格式化 USB 设备前,USB 控制器不会等待完成最后的事务。如果重置 USB 设备时有任何 USB 操作正在进行,则操作永远不会完成。在这个版本中,分离子进程,以便重置过程在事务完成后启动。因此,格式化 usb-storage 设备以及相应的 USB 操作可以成功完成。
- BZ#769745
- 在以前的版本中,在退出通知程序中没有调用 USB 发行版本功能。因此,主机在从客户机中删除后无法重复使用 USB 设备。在这个版本中,在退出通知程序中调用 release 功能,确保主机可以在从客户机中删除后重复使用 USB。
- BZ#796118
- 在以前的版本中,QEMU USB 模拟代码在释放后修改数据结构。因此,因为意外的数据结构变化和 qemu 进程转储的核心而触发断言。发行调用已移到代码中的正确位置,因此在这种情况下不再发生核心转储。
- BZ#769142
- 使用 VNC 反向模式(QEMU 连接到 VNC viewer 时,而不是 versa)时,VNC 服务器会在初始化前试图访问显示。这会导致在客户机机器上进行内核转储。在这个版本中,在使用显示前会初始化。
- BZ#638055
- 在安全模式中,"qemu-img rebase"命令会错误地处理备份文件,就像它们的大小与 rebase 镜像相同。因此,如果旧或新的后备文件小于镜像本身,则尝试升级镜像失败,并显示以下错误消息:
qemu-img: error while reading from new backing file
在这个版本中,备份文件会被正确处理,即使后备文件小于 rebase 镜像,"qemu-img rebase"命令也会成功。 - BZ#736942
- qemu-img 工具的清理代码没有对旧和新的备份文件执行 NULL pointer 检查。当在无法打开的后备文件的镜像上执行 "qemu-img rebase" 时,实用程序会意外终止并显示错误消息。在这个版本中,在 qemu-img 的清理代码中添加了所需的 NULL pointer 检查,如果无法打开新的或旧的后备文件,则 qemu-img 现在会安全退出。
- BZ#737879
- 由于对"-drive"选项处理无效参数错误,使用此类参数运行"qemu-kvm -drive"可能会导致驱动器错误配置。修正了"-drive"参数的验证。因此,如果使用无效的参数,qemu-kvm 将无法运行。
- BZ#790083
- 当使用 QXL 显示驱动程序版本 0.1.9 或更早版本迁移 Microsoft Windows 客户机时,目标计算机的屏幕可以包含渲染工件,因为主面内存没有最新。在这个版本中,主面内存被正确更新,在这些情况下不再会出现屏幕崩溃。
- BZ#781920
- 在重新分配传输缓冲区时,客户机驱动程序可能会将无限内存分配给传输缓冲区。这会导致 qemu 终止并显示 glib 错误。现在,传输缓冲区大小会被限制,这可防止客户机向缓冲区分配无限内存,在这种情况下 qemu 不再崩溃。
- BZ#796575
- 在以前的版本中,qemu 进程需要对事件进行定期轮询,这可能会导致 qemu 每秒出现多次。因为 qemu 可以设置特定的计时器来定期轮询事件,因此删除了通用轮询计时器。因此,没有 VNC 或 SPICE 连接的空闲客户机不会不必要的 qemu 进程。
- BZ#798936
- 运行 "qemu -cpu host" 命令不会向客户机公开模拟性能监控单元(PMU),因此客户机无法使用 PMU 计数器。在这个版本中,如果主机内核支持 PMU 模拟,则 CPUID OAH leaf 会公开给客户机,因此客户机可以使用 PMU 计数器进行配置文件本身。
- BZ#757713
- 以前,监控文件名完成的代码之前会错误地检查目录。因此,即使完成的名称没有引用目录,斜杠字符也可以附加到字符串。目录检查已被修复,只有在完成的名称引用目录时才添加斜杠字符。
- BZ#757132
- 在运行非线缓冲文本控制台的客户机上观察到 VGA underline 属性的实施可能会超过阵列和损坏的像素。在这个版本中,不再允许读取超过阵列,并且不再存在损坏的像素。
- BZ#752049
- 增强的主机控制器接口(EHCI)重置处理器不正确。加载 USB 控制器时,Microsoft Windows 客户机可能会变得无响应,使用 USB 磁盘透传。reset handler 实现已被修复,带有 USB 设备透传的 Microsoft Windows 客户机现在可以成功引导。
- BZ#749820
- "acl_reset" monitor 命令中的一个 use-after-free 错误可能会导致 qemu-kvm 进程意外终止,并出现分段错误。在这个版本中,避免使用空闲的内存,在这种情况下 qemu-kvm 不再崩溃。
- BZ#747010
- 一个不正确的值用于计算 qemu-kvm 进程的内存用量,并打开内核同页合并(KSM)。因此,KSM 被打开太早。现在,使用实际内存大小来计算 qemu-kvm 内存用量,而不是虚拟内存的大小,这样可确保启用 KSM 现在更为优化。
- BZ#743251
- 当在没有 "-spice" 选项的情况下运行 "qemu-kvm" 命令时,如果用户试图稍后运行 "info spice" monitor 命令,则 qemu-kvm 会意外终止。添加了一个检查来验证命令是否使用 "-spice" 选项运行,因此 qemu-kvm 不会在此场景中崩溃。
- BZ#812328
- 增强的主机控制器接口(EHCI)模拟以前对处理队列头的数量有限制。如果存在很多设备,EHCI 不会处理所有队列,从而导致某些设备无法正常工作。这个限制已被删除,因此 EHCI 现在可以与大量设备正常工作。
- BZ#728385
- 当使用 "-nographic" 选项运行 qemu-kvm,然后执行"screendump"命令,qemu-kvm 会意外终止并出现分段错误。已实现对有效 screendump 功能指针的检查,并在调用函数之前执行。因此,qemu-kvm 不再会在这种情况下崩溃。
功能增强
- BZ#562886
- KVM 现在支持动态 CPU 分配,也称为 vCPU 热插(技术预览)。此功能允许用户动态调整客户机中的 CPU 资源。客户机的可用性会增加,因为不再需要使客户机离线来调整 CPU 资源。
- BZ#632771
- 现在,qemu-kvm 包含一个名为 qemu-guest-agent 的新子软件包。当运行安装此软件包的 Red Hat Enterprise Linux 6.3 客户机时,正确配置的 Red Hat Enterprise Linux 6.3 主机可以向客户机发送新命令,例如 "guest-sync", "guest-ping", "guest-info", "guest-shutdown" 和 "guest-suspspendkubevirt"。
- BZ#783950
- Red Hat Enterprise Linux 6.3 中的 KVM 现在改进了对 qcow2 磁盘镜像的访问(qcow2 是默认格式),现在是更异步的。因此,vCPU 停滞频率已降低,从而导致磁盘 I/O 的整体性能提高。
- BZ#782029
- 通过添加 virtio-SCSI (基于 SCSI 的 KVM 存储架构)功能改进了 KVM 虚拟化的存储堆栈。与 virtio-blk 相比,virtio-SCSI 现在提供直接连接到 SCSI LUN 的功能,并显著提高可扩展性。virtio-SCSI 的优点是它能够处理数百个设备,与 virtio-blk 相比,它们只能处理 28 个设备并耗尽 PCI 插槽。
- BZ#767302
- 在这个版本中,为最新的 AMD 处理器添加了新的 CPU 模型定义。
- BZ#760953
- 在这个版本中,为 Intel Core i3、i5 和 i7 处理器添加了新的 CPU 模型定义。
- BZ#758104
- SPICE 基于 KVM USB 2.0 主机适配器模拟支持,并启用远程 USB 重定向支持,允许服务器上运行的虚拟机在客户端上使用远程插入的 USB 设备。
5.266. ql2400-firmware
5.267. ql2500-firmware
5.268. qpid-cpp, python-qpid, 和 saslwrapper
程序错误修复
- BZ#785919
- 在此次更新之前,spec 文件错误地使用了 "Vendor" 标签。因此,在某些情况下,重建可能会错误地标记软件包。在这个版本中,删除了 "Vendor" 标签。
- BZ#788901
- 在更新之前,qpid 守护进程在某些情况下可能会中止,并在尝试关闭 SslPlugin 时中止,而不设置 "--ssl-cert-db" 选项。这个版本修改了 ssl.so 模块,以便 SslPlugin 现在会如预期关闭。
- BZ#799269
- 在此次更新之前,服务 qpid 守护进程始终默认启用,这不是强制要求。此更新修改服务设置,以便默认情况下不再启用 qpidd 服务,但仅在需要时启用。
功能增强
- BZ#703563
- 此更新提供了环境变量 "QPIDC_CONF_FILE",以允许指定查找客户端的配置文件的位置。
- BZ#749600
- 在这个版本中,将 python-saslwrapper 软件包添加为 qpid-stat 的依赖项,以便 qpid-stat 可以使用 DIGEST-MD5 模块向代理进行身份验证。
- BZ#771961
- 在这个版本中,spec 文件取决于特定的 boostSecret 软件包,而不是 boost metapackage。
- BZ#808783
- 在这个版本中,为 python-saslwrapper 软件包添加了对 64 位 PowerPC 和 IBM System z 平台的支持。
5.269. qpid
安全修复
- CVE-2012-2145
- 发现,Qpid 守护进程(qpidd)不允许限制来自客户端的连接数量。恶意客户端可能会使用此缺陷来打开过多的连接,防止其他合法客户端建立连接。
5.270. qt
5.270.1. RHBA-2012:1246 - qt 程序错误修复更新
程序错误修复
安全修复
- CVE-2011-3922
- 在 Qt 的 harfbuzz 模块中发现了一个缓冲区溢出缺陷。如果用户加载了一个专门制作的字体文件,其具有链接到 Qt 的应用,可能会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2010-5076
- 在处理使用 IP 地址通配符的 X.509 证书时发现了一个安全漏洞。攻击者能够获得包含 IP 通配符的通用名称的证书,可能会使用此缺陷向使用 Qt 的客户端应用程序模拟 SSL 服务器。在这个版本中,禁止通配符字符与多个主机名组件匹配,从而为主机名通配符证书引入了更严格的处理。
程序错误修复
- BZ#694684
- Phonon API 允许预先释放 media 对象。因此,当无法访问发布的介质对象时,GStreamer 可能会意外终止。这个版本修改了底层 Phonon API 代码,问题不再发生。
- BZ#757793
- 在以前的版本中,Qt 可以输出 "Unrecognized OpenGL version" 错误,并回退到 OpenGL-version-1 兼容性模式。这是因为,如果系统使用比正在使用的 Qt 版本更新的 OpenGL 版本,则 Qt 无法识别系统上安装的 OpenGL 版本。在这个版本中,为 Qt 添加了 OpenGL 版本识别的代码,如果 OpenGL 版本未知,Qt 假定为 OpenGL 的最后一个已知的版本可用。
- BZ#734444
- 以前,Qt 包含可信 CA (证书授权机构)证书的编译列表,如果 Qt 无法打开系统的 ca-bundle.crt 文件,可以使用该证书。在这个版本中,Qt 不再包含编译的 CA 证书,只使用系统捆绑包。
5.271. quagga
安全修复
- CVE-2011-3327
- 在 bgpd 守护进程处理不正确的扩展 Communities 路径属性的方式中发现了一个基于堆的缓冲区溢出缺陷。攻击者可以发送专门编写的 BGP 信息,从而导致在目标系统上出现 bgpd 崩溃或可能,执行具有运行 bgpd 的用户特权的任意代码。UPDATE 消息需要来自明确配置的 BGP peer,但可能源自 BGP 网络中的其他位置。
- CVE-2011-3323
- 在 ospf6d 守护进程处理不正确的链接状态更新数据包的方式中发现了一个基于堆栈的缓冲区溢出缺陷。OSPF 路由器可能会使用此缺陷在相邻路由器上崩溃 ospf6d。
- CVE-2011-3324
- 在 ospf6d 守护进程处理不正确的链接状态公告的方式中发现了一个安全漏洞。OSPF 邻居可能会使用此缺陷在目标系统上崩溃 ospf6d。
- CVE-2011-3325
- 在 ospfd 守护进程处理不正确的 Hello 数据包的方式中发现了一个安全漏洞。OSPF 邻居可能会使用此缺陷在目标系统上崩溃 ospfd。
- CVE-2011-3326
- 在 ospfd 守护进程处理不正确的链接状态公告的方式中发现了一个安全漏洞。自主系统中的 OSPF 路由器可能会使用此缺陷在目标系统上崩溃 ospfd。
- CVE-2012-0249
- 在 ospfd 守护进程处理某些 Link State Update 数据包的方式中发现了一个断言失败。OSPF 路由器可能会使用此缺陷,在相邻的路由器上导致 ospfd 中止。
- CVE-2012-0250
- 在 ospfd 守护进程处理某些 Link State Update 数据包的方式中发现了一个缓冲区溢出缺陷。OSPF 路由器可能会使用此缺陷在相邻的路由器上使 ospfd 崩溃。
- CVE-2012-0255,CVE-2012-1820
- 在 bgpd 守护进程处理某些 BGP OPEN 消息的方式中发现了两个漏洞。配置的 BGP peer 可能会在目标系统上导致 bgpd 通过特制的 BGP OPEN 消息中止。
5.272. quota
5.272.1. RHBA-2012:1472 - 配额程序漏洞修复更新
程序错误修复
- BZ#680919
- 在此次更新之前,如果超过配额限制,warnquota 会从 <root@myhost.com> 发送电子邮件,并且启用了 warnquota 工具来发送警告电子邮件,且默认 warnquota 配置没有改变。因此,用户可能会错误地回复这个地址,并将电子邮件发送到 <root@myhost.com> 的邮箱。在这个版本中,修改默认的 warnquota 配置,以使用保留域 "example.com"。
- BZ#683554
- 在此次更新之前,setquota 和 edquota 选项 "-r" 将无法在不报告错误的情况下为 NFS 挂载的文件系统设置宽限期,因为底层远程过程调用协议不支持这个选项。在这个版本中,禁用选项 "-r"。在这个版本中,用于设置通过网络宽限期的选项会被禁用,并在使用 "-r" 选项时发送错误消息。
- BZ#692390
- 在此次更新之前,如果达到用户的块限制,quotacheck 工具可能会在处理 fsv1 配额文件中错误处理 UID。在这个版本中,在运行后续检查前,在 "v2r1 ddquot" 结构中填充未初始化的 padding。
- BZ#704216
- 在此次更新之前,如果名称服务器交换机被配置为使用 libdb 后端,edquota 工具可能会中止分段错误。在这个版本中,修改底层代码,使 edquota sources static 中的"dirname"符号进行轮询,以避免对符号名称空间进行轮询导致动态链接器。现在,edquota 在使用 Berkeley DB (BDB)数据库存储用户名、组名称或密码的系统中运行。
- BZ#730057
- 在此次更新之前,quota_nld 服务会在运行 quota_nld 服务时记录错误消息 "Failed to find tty [UID] to report warning to",当没有互动会话时超过磁盘配额限制。在这个版本中,这些警告只应用到 quota_nld 的非守护进程调试模式。
- BZ#770307
- 在此次更新之前,warnquota 工具会发送一个错误的信息。在这个版本中,这个信息被改变,文本信息被给出了更多的代表。
5.273. rdesktop
5.273.1. RHBA-2012:1276 - rdesktop 程序错误修复更新
程序错误修复
- BZ#680917, BZ#772020
- 在此次更新之前,冗余转换功能无法正确处理 PC/SC (个人计算机/Smart Card)集成。因此,AMD64 和 Intel 64 平台上的 rdesktop 无法连接并不正确。在这个版本中,删除了这些冗余功能。这个更新还添加了对 AMD64 和 Intel 64 平台的智能卡读卡器支持。现在,rdesktop 可以按预期连接。
- BZ#680926
- 在此次更新之前,智能卡与 PC/SC 集成的 rdesktop 代码会在 AMD64 和 Intel 64 平台上造成缓冲区溢出。因此,glibc 功能 "free ()" 会中止,并带有分段错误。这个版本使用正确的结构,glibc 功能 "free ()" 现在可以正常工作。
- BZ#782494
- 在此次更新之前,服务器会生成一个与光标相关的命令,在使用 rdesktop 连接到 Windows Server 2008 R2 平台时,rdesktop 客户端不支持它。因此,鼠标指针是所有黑色。在这个版本中,当连接到 Windows Server 2008 R2 时,鼠标指针会被正确使用。
- BZ#820008
- 在此次更新之前,规格文件会错误地将 libao-devel 软件包列为 rdesktop 的安装依赖项。在这个版本中,从规格文件中删除 libao-devel 依赖项。
- BZ#831095
- 在此次更新之前,rdesktop 客户端无法正确处理许可证,因此某些 Terminal Services 在第一个连接和错误消息 "disconnect: Internal licensing error" 后无法连接。这个版本修改了底层代码,以便如预期处理许可证。现在,Terminal Services 会如预期连接。
5.274. rdma
5.274.1. RHBA-2012:1423 - rdma 程序错误修复更新
错误修复
- BZ#860943
- 在 Red Hat Enterprise Linux 6.3 发布前,内核会在错误的地方创建了 InfiniBand 设备文件,并使用 udev 规则文件来强制在正确的位置创建设备。随着 6.3 的更新,内核已被修复,在正确的位置创建 InfiniBand 设备文件,因此已不再需要 udev 规则文件。但是,内核设备创建中的一个错误意味着,虽然设备现在在正确的位置被创建,但它们有不正确的权限。因此,当用户尝试以非 root 用户身份运行 RDMA 应用程序时,应用程序无法获得使用 RDMA 设备所需的权限,应用程序会终止。在这个版本中,会放置一个新的 udev 规则文件。它不再尝试创建 InfiniBand 设备,因为它们已存在,但它会更正文件的设备权限。
5.275. RDMA
- BZ#814845
- perftest 软件包提供的 rdma_bw 和 rdma_lat 工具现已弃用,并将在以后的版本中从 perftest 软件包中删除。用户应使用以下工具: ib_write_bw、ib_write_lat、ib_read_bw 和 ib_read_lat。
程序错误修复
- BZ#696019
- 在以前的版本中,rping 工具在关闭时无法正确加入线程。因此,特别是在 iWARP 连接时,会触发一个竞争条件,从而导致 rping 工具意外终止并出现 segmentation 错误。在这个版本中,修改 rping 来正确处理线程的 teardown。因此,rping 不再在 iWARP 连接中崩溃。
- BZ#700289
- 在以前的版本中,内核 RDMA 连接管理器(rdmacm)没有在最后一次关闭后在该端口上过期前重复使用套接字端口。因此,当尝试快速打开和关闭大量套接字时,可能会耗尽没有等待 timewait 状态的适当套接字。这个版本改进了内核 rdmacm 供应商,来实现适用于 TCP/UDP 套接字的 SO_REUSEADDR 选项,该选项允许关闭套接字,但仍在需要时重复使用 timewait 状态。因此,现在更难以耗尽套接字,因为 rdmacm 供应商不需要等待它们从 timewait 状态过期,然后才能重复使用。
- BZ#735954
- mvapich2 软件包中的 MVAPICH2 进程管理器 mpirun_rsh 的框架无法正常工作。因此,所有尝试使用 mpirun_rsh 都会失败。在这个版本中,将 mpirun_rsh 升级到以后的 MVAPICH2 上游源来解决这个问题。因此,mpirun_rsh 可以正常工作。
- BZ#747406
- 在以前的版本中,
/dev/ipath*
文件的权限不够宽松,不足以便普通用户访问。因此,当普通用户尝试使用性能扩展消息传递(PSM)字节传输层(BTL)运行消息传递接口(MPI)应用程序时,它会失败,因为无法打开以/dev/ipath
开头的文件。在这个版本中,确保以/dev/ipath
开头的文件具有由普通用户以读写模式打开的正确权限。因此,尝试使用 PSM BTL 成功运行 MPI 应用程序。 - BZ#750609
- 在以前的版本中,从 InfiniBand 位值到链接速度的映射只会扩展到 Quad Data Rate (QDR)。因此,尝试使用比 QDR 快的支持速度的较新的 InfiniBand 卡无法正常工作,因为堆栈不知道链接速度字段中的位值。在这个版本中,向内核和用户空间库添加了 FDR (Fourteen Data Rate)、FDR10 和 EDR (Enhanced Data Rate)链接速度。用户现在可以以更高的速度使用较新的 InfiniBand 卡。
- BZ#754196
- opensm 不支持命令行上的
subnet_prefix
选项。因此,为了同时在两个不同的光纤上运行两个 OpenSM 实例,系统管理员必须编辑两个不同的opensm.conf
文件,并在每个文件中单独指定 subnet_prefix,以便在不同子网上有不同的前缀。在这个版本中,OpenSM 接受 subnet_prefix 选项,OpenSM init 脚本现在在多个光纤上启动时使用这个选项时,使用此选项启动 OpenSM。因此,系统管理员不再需要手动编辑多个opensm.conf
文件,以创建只有其管理的光纤的不同配置。 - BZ#755459
- 在以前的版本中,ibv_devinfo (包含在 libibverbs-utils 中的程序)不会捕获命令行中的端口号,并返回错误代码。因此,由于一个错误的端口号,脚本无法可靠地告知命令是否成功或失败。在这个版本中修复了 ibv_devinfo,以便在用户在不存在的 InfiniBand 设备端口上运行时返回一个非零错误条件。现在,脚本可以告知某些它们传递给 ibv_devinfo 的端口值是否为有效的端口或者没有范围。
- BZ#758498
- 在通过 libibverbs 完成初始化时,基于 RDMA over Converged Ethernet (RoCE)的队列对(QP)初始化没有成功完成,而不是通过 librdmacm。因此,尝试打开连接失败,并显示以下出错信息:
cannot transition QP to RTR state
这个更新的内核堆栈为基于 libibverbs 的 RoCE QP 创建提供了一个修复,现在可以正确创建 QP,用户使用 libibverbs 或 librdmacm 作为连接启动方法。 - BZ#768109
- 在以前的版本中,openmpi 库没有遵循 tcp_port_range 设置。因此,如果用户希望限制使用它们的
TCP
端口无法这样做。在这个版本中,升级到没有这个问题的上游版本,用户现在可以限制尝试使用哪些 TCP 端口 openmpi。 - BZ#768457
- 在以前的版本中,共享 OpenType font library “libotf.so.0” 由 openmpi 软件包和 libotf 软件包提供。因此,当请求 libotf.so.0 的 RPM spec 文件正确运行时,Yum 可以安装 openmpi 或 libotf 来满足依赖项,因为这两个软件包不提供兼容的 libotf.so.0 库,程序可能或可能无法正常工作。openmpi 中的 libotf.so.0 不适用于其他应用程序链接,它是一个内部库。在这个版本中,openmpi 中的 libotf.so.0 不包括在 RPM 的库识别搜索中。因此,链接到 libotf 的应用程序将获得正确的 libotf,不意外安装 openmpi 来满足 libotf 的需求。
- BZ#773713
- 在 perftest 程序中处理完成事件有一个竞争条件。在某些情况下,使用的 perftest 程序会意外终止并出现分段错误。在这个版本中,添加了单独的发送接收完成队列,以代替发送和接收操作的单一完成队列。因此,避免了发送结束与接收结束之间的竞争。因此,perftest 应用程序不再会因为分段错误而崩溃。
- BZ#804002
- rds-ping 工具没有检查以确保在发送下一个 ping 数据包前有一个套接字可用。因此,当用户设置数据包之间超时非常小时,数据包可能会填满所有可用的套接字,然后在返回 ping-packets 前覆盖其中一个套接字。这会导致在 rds-ping 数据结构中崩溃,最终会因为分段错误而意外终止。在这个版本中,如果没有未完成的数据包,则 rds-ping 程序会在发送更多数据包时停止。因此,当数据包之间的超时非常小时,rds-ping 不再会因为分段错误崩溃。
- BZ#805129
- 由于
libmlx4.conf
modprobe 配置中的一个错误,使用 modprobe 可能会导致 modprobe 进程出现无限循环。如果遇到这个程序错误,则进程会持续分叉,直到没有进程能够运行,系统也会变得无响应。这个版本改进了代码,因此/etc/modprobe.d/libmlx4.conf
中的选项配置不正确,不再会导致系统无响应,需要硬重启才能恢复到正确的操作。 - BZ#808673
- qperf 应用程序在源代码中对
PF_RDS
有一个过时的常量,与 PF_RDS 的官方分配值不匹配,因此 qperf 会使用错误的 PF_RDS 常量编译。因此,当运行时,它会错误地认为在机器上不支持 RDS (可靠的数据报服务),即使它被禁止运行任何 RDS 测试。在这个版本中,从 qperf 源代码中删除 PF_RDS 常量,以便它从系统头文件中获取正确的常量。现在,qperf 可以正确地运行 RDS 性能测试。 - BZ#815215
- srptools RPM 不会自动将 SCSI 远程协议守护进程(srpd)添加到服务列表中。因此,chkconfig --list 命令不会显示 srpd 服务,且无法启用该服务。srptools RPM 现在可以正确地将 srpd init 脚本添加到可用服务列表中(默认为禁用)。用户现在可以使用 chkconfig --list 查看 srpd 服务,并可使用 chkconfig --level 345 srpd on 命令启用 srpd 服务。
- BZ#815622
- rdma 初始化脚本 中存在一个错误的测试。因此,即使用户已经配置了 rds 模块,也会加载 rds 模块。在这个版本中,更正初始化脚本中的测试,以便必须满足所有条件,而不仅仅是第一个条件。因此,只有在用户被配置为因为本地机器中的 rds 使用量而被内核自动加载时,才会加载 rds 模块。
功能增强
- BZ#700285
- 在大型 InfiniBand 网络中,子网管理服务查找消耗大量带宽。因此,如果网络 InfiniBand 子网管理器(OpenSM)被大量扩展,则可能需要 1 分钟才能将路由从一台机器查找到另一个机器。在这个版本中,增加了 InfiniBand Communication Management Assistant (ibacm),它以类似于以太网的 ARP 缓存来缓存路由。ibacm 程序从子网管理服务(SA)缓存 PathRecords,其中包括 MTU (最大传输单元)、SL (服务级别)、SLID (Source Local Identifier)和 DLID (Destination Local Identifier)等信息。这些信息对于正确设置 QP 非常重要。因此,具有多个节点的大型子网会减少整个 SA Query 流量和路由查找时间。
5.276. readline
5.276.1. RHBA-2012:0834 - 读取行程序错误修复和功能增强更新
错误修复
- BZ#722942
- 在以前的版本中,readline 库被定义为宏,但它是 C++ 中的模板功能。因此,当编译 C++ 代码时,必须在 Readline 标头前包含其他 C++ 标头,以避免编译错误。在这个版本中,如果编译的程序位于 C++ 中,则 isxdigit 不再定义为宏。因此,在使用 C++ 时,开发人员不再需要避免先包含 Readline 标头。
功能增强
- BZ#244350
- 在这个版本中,添加了 TTY 输入审计事件,以记录实际报告到应用程序的行。
5.277. redhat-release
5.278. redhat-rpm-config
程序错误修复
- BZ#680029
- 在以前的版本中,%kernel_module_package 宏无法正确处理 "-v" 和 "-r" 可选版本和发行版本覆盖参数。因此,构建 RPM 软件包时不会使用指定的版本和发行号。这个程序错误已被解决,这些参数现在可以正确处理。
- BZ#713638
- 在以前的版本中,一个脚本为 Red Hat Enterprise Linux 6 中的 Driver Update 软件包生成"modalias"风格的依赖关系无法执行,因此无法正常工作。这个程序错误已被解决,这些依赖项现在会如预期生成。
- BZ#713992
- 安装 kabi-whitelists 软件包后,%kernel_module_package 宏不会自动对红帽内核 ABI 接口(kABI)执行检查。因此,当构建软件包时,当生成的模块使用导出的内核符号而不是 kABI 的一部分时,宏不会发出警告。在这个版本中,添加了 abi_check.py 脚本,以在构建过程中执行检查并返回警告(如果未安装 kabi-whitelists),从而修复这个程序错误。
- BZ#767738
- 在某些情况下,在驱动程序更新软件包构建过程中生成有关自动内核符号的信息的依赖关系会生成不正确的依赖项。这个程序错误已被解决,现在可以正确生成依赖项。
功能增强
- BZ#652084
- 现在,可以通过覆盖 %_configure 宏来自定义 %configure 宏调用的 autoconf 配置脚本的路径。另外,这也可以在构建树外软件包时使用。
5.279. Red Hat Enterprise Linux 发行注记
5.280. resource-agents
错误修复
- BZ#864364
- 如果在 fs.sh 文件系统资源代理的状态检查操作过程中更改了 /proc/mounts 文件的内容,则状态检查可能会错误地检测到挂载是否已缺失,并将服务标记为失败。这个程序错误已被解决,在上述场景中 fs.sh 不再报告假的失败。
错误修复
- BZ#878023
- 在以前的版本中,当设备失败导致逻辑卷缺失时,HA LVM 无法关闭。在这个版本中,服务可以迁移到仍可以访问该设备的其他机器,从而防止这个错误。
程序错误修复
- BZ#728086
- 在此次更新之前,fs-lib.sh 资源代理库会忽略大于 '1' 的错误代码。因此,当挂载返回一个带有不同错误代码的错误时,fs-lib.sh 无法识别错误,如 iSCSI 挂载。在这个版本中,修改底层代码,使 fs-lib.sh 资源代理库现在可以按预期识别所有错误。
- BZ#742859
- 在此次更新之前,Apache 资源代理无法正确为配置文件生成 IPv6 配置。因此,Apache 无法用于 IPv6 地址。这个版本修改了底层代码,以便 Apache 资源代理现在在使用 IPv6 时生成有效的配置文件。
- BZ#746996
- 在此次更新之前,SAP Web Dispatcher 和 TREX 服务不会在 SAP 资源代理脚本中监控。在这个版本中,将 SAP Web Dispatcher 和 TREX Service 添加到为 SAP 检查的服务列表中。现在,SAP Web Dispatcher 和 TREX 服务会被监控。
- BZ#749713
- 在此次更新之前,因为正则表达式中的错误和 "clufindhostname" 命令上的错误,不会重新创建缺少的 etab 条目。因此,NFS 导出不会被自动恢复。在这个版本中,修正正则表达式,并按预期使用 "clufindhostname" 命令。现在,当从 etab 文件中删除条目时,NFS 导出会自动恢复。
- BZ#784357
- 在此次更新之前,资源代理的配置路径变量没有正确设置。因此,使用配置文件的路径错误。在这个版本中,修改配置路径变量,以便正确设置通用配置目录以防止 Samba、Apache 和其他资源代理出现问题。
- BZ#799998
- 在以前的版本中,在拒绝多个挂载前,"netfs"脚本不会识别要检查的文件系统是否是网络文件系统。因此,无法添加网络文件系统两次。这个版本修改了 "netfs" 脚本,以便它验证文件系统是否为网络文件系统,并为这些文件系统允许多个挂载。现在,允许同一网络文件系统的多个挂载。
功能增强
5.281. rgmanager
程序错误修复
- BZ#635152
- 在以前的版本中,在集群重新配置过程中,rgmanager 会错误地调用 rg_wait_threads ()函数。这可能会导致 rgmanager 中的内部死锁,这会导致集群服务变得无响应。这个不相关的调用已从代码中删除,现在在集群重新配置过程中不再会出现死锁。
- BZ#727326
- 当使用带有 "-F" 选项的 clusvcadm 命令启用服务时,rgmanager 在响应 clusvcadmn 前不会更新服务所有者信息。因此,clusvcadm 可能会打印有关运行该服务的集群节点的不正确的信息。在这个版本中,在响应 clusvcadm 前修改 rgmanager 以更新所有者信息,命令现在提供正确的信息。
- BZ#743218
- 在某些情况下,在服务及其依赖服务已重启后,可以处理"停止"事件。这强制依赖服务错误地重启。在这个版本中,如果依赖服务已启动,rgmanager 可以忽略"停止"事件,并且服务将不再必要地重启。
- BZ#744824
- 资源组管理器无法正确处理某些服务间的依赖关系。因此,如果服务依赖于同一集群节点上运行的另一个服务,则依赖服务在服务故障切换过程中变得无响应,并保持在恢复状态。在这个版本中,rgmanager 已被修改,在故障切换过程中检查服务状态,如果服务依赖于故障转移的服务,则停止该服务。然后,资源组管理器会尝试按预期在其它节点上启动这个依赖服务。
- BZ#745226
- clusvcadm 命令的 "-F" 选项允许 rgmanager 根据故障转移域规则启动服务。之前在命令的手册页中未描述这个选项。在这个版本中,在 clusvcadm (8)手册页中可以正确地记录"-F"选项。
- BZ#796272
- 在以前的版本中,如果新添加的服务无法在第一个集群节点上启动,rgmanager 可以在在该节点上更新集群配置前将服务重新定位到另一个集群节点。因此,该服务被设置为 "recovering" 状态,必须手动重新启用才能启动。在这个版本中,修改 rgmanager 来重试重新定位过程,直到节点上更新了集群配置。现在,可以按预期重新定位该服务。
- BZ#803474
- 由于一个无效的指针解引用,当集群节点上启用了中央处理模式时,rgmanager 可能会意外终止并出现分段错误。在这个版本中,指针解引用已被修正,在启用中央处理模式时 rgmanager 不再崩溃。
- BZ#807165
- 在以前的版本中,在中央处理模式中,rgmanager 无法重启依赖于失败并恢复的服务的服务。在这个版本中,在恢复失败的服务过程中,任何依赖于它的服务都会重启。
功能增强
- BZ#799505
- 这个更新引入了一项功能,使 rgmanager 使用 Corosync 的关闭进程组(CPG) API 进行节点锁定。当启用 Corosync 的冗余环协议(RRP)功能时,会自动启用此功能。corosync 的 RRP 功能被视为完全支持。但是,当与其余高可用性附加组件一起使用时,它被视为技术预览。
5.282. rhn-client-tools 和 yum-rhn-plugin
程序错误修复
- BZ#729342
- 当客户端设置为使用 安全套接字层 (SSL)协议以及服务器的 SSL 证书的验证失败时,会引发
SSLCertificateVerifyFailedError
异常,并将回溯写入/var/log/up2date
文件。在这个版本中修正了异常处理机制,以确保在这种情况下显示正确的错误消息。 - BZ#735339
- 以前的 yum-rhn-plugin 版本没有正确清理其缓存,这可能会导致后续 Yum 操作中显示各种误导消息。要防止此行为,这个更新可确保 yum-rhn-plugin 正确清理其缓存。
- BZ#744709
- 当使用 firstboot 应用程序在 RHN Classic 中注册系统时,输入不正确的凭证会导致回溯。在这个版本中,在这种情况下会显示一条 explanatory 错误消息。
- BZ#745095
- 当使用 Red Hat Network Satellite 注册虚拟主机且用户试图注册虚拟客户机时,RHN_register 实用程序不会将客户机与虚拟主机关联。因此,虚拟主机似乎没有虚拟客户机。此更新可确保 rhn_register 将客户机与受管虚拟主机正确配对。
- BZ#746983
- 当客户端被禁止服务被禁止时,尝试运行之前版本的 rhn-channel 工具会失败,并显示回溯和错误消息。在这个版本中,实用程序只显示错误消息。
- BZ#748876
- 在以前的版本中,使用到 SSL 证书的相对路径运行 rhnreg_ks 工具会导致它在配置文件中保存这个相对路径。因此,尝试从不同的目录中运行使用此配置文件的其他工具程序无法打开证书。此更新调整 rhnreg_ks 以存储绝对路径。
- BZ#751893
- Red Hat Network Satellite 的 Web 用户界面现在会如预期显示受管 Red Hat Enterprise Linux 6 客户端的 BIOS 版本。
- BZ#768045
- 安装 Red Hat Subscription Manager 时,用户决定使用 RHN Classic 注册系统,Red Hat Subscription Manager 会错误地报告系统不合规。在这个版本中,当用户使用 RHN Classic 注册系统时,rhnreg_ks 和 rhn_register 工具现在通过 D-Bus 通知 Red Hat Subscription Manager。
- BZ#771167
- 当用户试图使用 RHN Classic 注册系统并提供无效凭证时,rhn_register 工具会在注册过程结束时报告错误。这个版本会调整 rhn_register 来立即报告无效的凭证。
- BZ#781421
- 在以前的版本中,在本地化错误消息中存在 Unicode 字符会导致显示额外的回溯。在这个版本中,在将错误消息输出到标准错误前,会在 UTF-8 中对其进行编码。
- BZ#788903
- 在此次更新之前,当用户在
/etc/yum/pluginconf.d/rhnplugin.conf
配置文件中禁用了频道时,后续 yum-rhn-plugin 软件包的更新会重新启用此频道。在这个版本中,请确保此类配置更改具有持久性。 - BZ#799926
- 由于 Red Hat Subscription Manager 的 Python 模块的新布局,第一次引导应用程序不会在系统注册时跳过登录屏幕。在这个版本中修正了这个错误。
- BZ#809241
- 由于所需软件包列表中的错误,在没有安装 newt-python 软件包的系统中尝试运行 rhn-setup 工具的
ImportError
可能会失败。这个版本添加了 newt-python 作为 rhn-client-tools 软件包的依赖项。 - BZ#817567
- 在某些情况下,rhn_check 工具可能会错误地报告更新已经更新的软件包失败。为了防止这种情况,yum-rhn-plugin 已被调整,以确保已经更新的软件包被正确从计划进行更新的软件包列表中删除。
- BZ#735346
- rhn_check 工具不再显示在
do_call
关键字后面没有空格的调试消息。 - BZ#751292, BZ#759786
- 当发生 peer 或常规网络错误时,yum-rhn-plugin 现在会显示 explanatory 错误消息,不再会失败并显示回溯信息。
功能增强
错误修复
- BZ#993105
- 如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。
5.283. ricci
5.283.1. RHBA-2012:0898 - ricci 程序错误修复和安全更新
程序错误修复
- BZ#724014
- 在以前的版本中,ccs 工具无法配置 IPV6 主机。ccs 工具已更新,以支持 IPV6 协议,以便它可用于配置 IPV6 主机。
- BZ#726772
- cman 和 ccs 实用程序包含 Red Hat Enterprise Linux 6.2 的不同集群模式。在来自 ccs 的 schema 的节点上,不同的集群模式可能会导致有效的 cluster.conf 文件被 ccs 解释为无效。添加了一个新的 ccs 选项 "--getschema"。使用此选项时,如果集群模式在 ccs 和节点上的信息之间有所不同,则会使用节点上的集群模式。
- BZ#731113
- 在以前的版本中,ccs 工具不会检查 cluster.conf 文件是否无效。因此,当解析无效的 cluster.conf 文件时,ccs 可能会意外终止,后跟一个回溯信息,但没有提供问题的详细信息。在这个版本中,ccs 检查 cluster.conf 是否有效;如果文件无效,ccs 会打印有用的错误消息并正常退出。
- BZ#738008
- 在以前的版本中,如果出现错误或者 ricci 守护进程没有运行,"ccs_sync" 命令不会返回非零退出代码,即使运行带有 "-w" 选项的命令时(如果出现任何警告,则退出并失败状态)。底层源代码已被修改,带有 "-w" 选项的 "ccs_sync" 现在会在失败时返回 "1"。
- BZ#738567
- 当使用 "--checkconf" 和 "-f" 选项运行 "ccs" 命令时,ccs 会验证指定中的所有节点是否包含相同的 cluster.conf 文件。配置文件中的 XML 代码缩进,而来自 ricci 的实时配置文件中的 XML 代码不是,因此此类字符串的裸机比较始终失败。因此,ccs 不会验证本地 cluster.conf 文件中的每个节点。比较方法已被改进,"ccs --checkconf -f"现在可以正确地验证文件中的所有节点是否包含相同的 cluster.conf 文件。
- BZ#742345
- 在以前的版本中,如果用户安装了 ricci 软件包但没有安装 modcluster 软件包,则任何尝试使用 ricci 来运行集群命令都会失败。在这个版本中,用户不再被允许安装 ricci 软件包;现在作为依赖项需要 modcluster 软件包。因此,可以如预期执行集群命令。
- BZ#770637
- 在以前的版本中,当用户配置虚拟机服务时,虚拟机不会显示在 "ccs --lsservices" 命令的输出中。ccs 实用程序已被修改,以专门检查配置文件中的虚拟机服务。现在,使用 "--lsservices" 选项运行"ccs"可打印正确的输出。
- BZ#773383
- 在以前的版本中,如果用户安装了 ricci 且未设置用户密码,用户无法连接到 ricci。这可能会导致混淆,因为用户没有提示提供密码,因此不知道要求。另外,在系统日志中不会记录任何解释。在这个版本中,如果没有设置 ricci 用户密码,ricci 会在启动时将警告信息记录到 syslog。
功能增强
5.284. rpcbind
5.284.1. RHEA-2012:0974 - rpcbind 增强更新
功能增强
- BZ#726954
- rpcbind 工具没有丢弃补充组,组在从 root-group 特权降级后仍可用。现在,rpcbind 可以正确地丢弃 root 权限,在绑定到特权网络端口后以非 root 用户身份运行。
5.284.2. RHBA-2013:1453 - rpcbind 程序错误修复
错误修复
- BZ#858573
- 在以前的版本中,在不安全的模式下,启用非 root 用户设置或取消设置端口,则需要特权端口。因为只有 root 用户可以获取特权端口,因此非 root 用户无法设置或取消设置端口。要修复这个程序错误,特权端口已被删除,因此非 root 用户现在可以在回环接口上设置或取消设置端口。
5.285. rpmdevtools
错误修复
- BZ#730770
- 在此次更新之前,示例 spec 文件引用已弃用的 BuildRoot 标签。如果定义了标签,则忽略它。在这个版本中,所有示例 spec 文件中删除 BuildRoot 标签。
5.286. rpm
5.286.1. RHBA-2012:0909 - rpm 程序漏洞修复和功能增强更新
程序错误修复
- BZ#799317
- 在以前的版本中,存在 ELF 文件会阻止多架构系统中软件包的跨架构模糊处理,从而导致在应该过时的软件包被删除时造成文件冲突。在这个版本中,无论它们的内容是什么,所有匹配的软件包名称都会处理过时的情况,比如在 64 位多架构系统上删除 32 位软件包变体才能按预期工作。
- BZ#746190
- 在以前的版本中,使用 RPM 的嵌入式 Lua 解释器执行软件包 scriptlet 存在一个错误,可能会导致 RPM 的工作目录意外地改变,从而导致在事务中安装剩余的本地软件包失败,除非绝对路径被用来处理 "rpm" 或 "yum" 命令行中的软件包。在这个版本中,Lua scriptlet 执行总是保存并恢复当前工作目录,确保无论是否使用软件包绝对还是相对路径。
- BZ#785236
- 在以前的版本中,"--define"的 "-D" 快捷键选项被错误地用作"--predefine"的快捷方式,这会导致在尝试从系统配置覆盖宏时产生不正确的宏评估。"-D"快捷键选项现在等于 "--define",如预期和记录。
- BZ#768516
- 在以前的版本中,RPM 的"-last"查询格式输出可能会在多架构系统中(如 AMD64/Intel 64)被省略了软件包架构。软件包的架构现在包括在"-last"输出中,使其成为非假的,也与默认的查询输出格式一致。
- BZ#664427
- 因为源软件包中记录的构建依赖项可能会因生成源软件包的架构而有所不同,因此使用源软件包上的 yum-builddep 工具并不总是报告正确的结果。现在,RPM 的 Python 绑定已被改进,允许 yum-builddep 直接操作 spec 文件,确保使用本地系统的正确构建依赖关系信息。
- BZ#752119
- 在以前的版本中,某些多行大括号构建可能会导致自动 Perl 依赖项生成器脚本从 pe 丢失依赖项。现在,生成器已被更新以正确处理这些情况。
功能增强
- BZ#714678
- 当在带有大量文件的文件系统中构建软件包时,磁盘内节点号可能会在 RPM 的 32 位整数的硬链接跟踪中截断,从而导致软件包生成不正确,因此安装。RPM 现在使用每个软件包的虚拟编号来排除硬链接跟踪的可能性,确保无论软件包构建时物理索引节点编号如何,都可以以向后兼容的方式进行正确的操作。
- BZ#736960
- 在以前的版本中,RPM 会忽略 %pretrans 软件包 scriptlets 中的所有退出代码。这与其他 scriptlet 的语义不一致,并阻止在事务实际启动前早期中止软件包。RPM 现在像 %pre 一样对待 %pretrans 失败:完全不安装带有故障 %pretrans scriptlet 的软件包。
- BZ#761000
- Fedora 17 或更高版本的软件包需要 RPM 提供的一个特殊的 rpmlib () 依赖项来跟踪在 Fedora 17 中完成的 /usr 合并,否则无法使用 mock chroot 来为该发行版安装和构建软件包。现在,在 RPM 中增加了这个特殊跟踪依赖项,以便 Red Hat Enterprise Linux 6 用作主机来为这些较新的 Fedora 版本构建软件包。
5.287. rsync
5.287.1. RHBA-2012:0473 - rsync 程序错误修复更新
程序错误修复
- BZ#737539
- 当创建零块的稀疏文件时,"rsync --sparse"命令没有在副本事务结束时正确截断稀疏文件。因此,文件大小会大于预期。在这个版本中,底层源代码已被修改,以确保正确截断这些文件。
- BZ#804916
- 在以前的版本中,rsync 工具可能会在数据传输过程中意外终止并显示以下错误:
Inflate (token) returned -5
如果块大小等于 CHUNK_SIZE 常量的大小,会出现这种情况。第一次调用 inflate ()函数后,输出缓冲区已完全填充,因此在下次调用 inflate ()时无法获取剩余的缓冲区输出。Z_BUF_ERROR 常量现已正确处理,因此会阻止 rsync 在上述场景中终止。
5.287.2. RHBA-2013:1501 - rsync 程序错误修复更新
错误修复
- BZ#1022357
- 在以前的版本中,rsync 工具不会检查 inbuf 变量是否非空。因此,在尝试执行循环中所需的编码时,rsync 会意外终止。在这个版本中,rsync 会检查buf 中是否非空,并在上述场景中不再崩溃。
5.288. rsyslog
安全修复
- CVE-2011-4623
- rsyslog imfile 模块处理文本文件包含长行的方式中发现了一个数字截断错误,导致基于堆的缓冲区溢出。攻击者可以利用此缺陷使 rsyslogd 守护进程崩溃,或者如果他们能够将较长行写入到 rsyslogd 监视器的日志文件中,则执行具有 rsyslogd 特权的任意代码。默认情况下不启用 imfile 模块。
程序错误修复
- BZ#727380
- 几个变量被错误地重新初始化了传输层安全(TLS)传输和密钥,格式为 PKCS""8。当提供了此格式的密钥时,rsyslogd 守护进程会中止分段错误。现在,变量可以被正确重新初始化。
- BZ#756664
- 在以前的版本中,imgssapi 插件初始化不完整。因此,当配置为提供 GSSAPI 侦听器时,rsyslogd 守护进程会中止。现在,插件会被正确初始化。
- BZ#767527
- 消息中使用的 localhost 的完全限定域名(FQDN)是找到的第一个别名。这并不总是在多homed主机上生成预期的结果。在这个版本中,算法使用与主机名对应的别名。
- BZ#803550
- 因为 GnuTLS 库中的错误,gtls 模块会在每次加载时都会泄漏文件描述符。当达到文件描述符计数的限制时,不会打开新文件或网络连接。这个版本修改了 gtls 模块,以便在进程生命周期内不会卸载它。
- BZ#805424
- rsyslog 无法覆盖主机名,以在本地生成的消息设置替代主机名。现在,本地主机名可以被覆盖。
- BZ#807608
- rsyslogd init 脚本不会将锁定文件路径传给 'status' 操作。因此,锁定文件会被忽略,并返回错误的退出代码。在这个版本中,修改 init 脚本,将锁定文件传递给 'status' 操作。现在,会返回正确的退出代码。
- BZ#813079
- 当 rsyslogd 提供了不正确的 spool 文件时,数据可能会被错误地未初始化。rsyslogd 守护进程可以在分段错误时中止。在这个版本中,修改底层代码来正确重新初始化数据。
- BZ#813084
- 在以前的版本中,在某些错误情况下,删除不存在的数据可能会发生。因此,当 rsyslog 配置为使用磁盘辅助队列时,rsyslogd 可能会中止分段错误,而不指定 spool 文件。在这个版本中,错误情况会被安全处理。
- BZ#820311
- 手册页错误地表示 '-d' 选项打开调试会导致守护进程在前台运行,这被误导,因为当前行为在后台运行。现在,man page 会反映正确的行为。
- BZ#820996
- rsyslog 试图将调试消息写入标准输出,即使在后台运行。这会导致调试信息被写入其他输出。这已被修正,调试消息不再在后台运行时写入标准输出。
- BZ#822118
- 用于保存证书可分辨名称(DN)的字符串缓冲太小。未显示超过 128 个字符的 DNS。在这个版本中,放大缓冲区来处理较长的 DN。
功能增强
5.289. rusers
5.289.1. RHBA-2012:0404 - rusers 程序错误修复更新
错误修复
- BZ#697862
- 在以前的版本中,在 rstatd 和 rusers SysV init 脚本中没有指定 rpcbind 软件包的依赖项。另外,当 rstatd 和 rusersd 服务启动时,检查是否未执行网络,并返回不正确的退出代码。在这个版本中,在 rusersd 和 rstatd init 脚本中添加了 rpcbind 依赖项。另外,SysV init 脚本已被调整,以返回正确的退出代码。现在,在启动 rstatd 和 rusersd 服务时会执行检查,以查看网络是否可用并绑定到 rpcbind 是否成功。
5.290. s390utils
程序错误修复
- BZ#747937
- 在以前的版本中,当在小于 256 MB 或超过 256 GB 内存的系统中计算内存大小时,会出现 “零错误的 Illegal” division。代码已被修复,内存设备大小计算现在可以正常工作。
- BZ#769416
- 当 ttyrun 工具无法打开终端设备时,会将错误条件报告给 syslog。根据环境,多个终端设备可能不可用,因此会发出多个错误消息。这个版本引入了一个 verbose 选项,用于切换 ttyrun 发布的 syslog 信息。
- BZ#772576
- 如果发送缓冲区的长度与要发送的数据包的指定长度不同,则 HiperSockets Network Concentrator xcec-bridge 程序会发出警告。条件检查错误。在这个版本中,修正了要发送的数据包长度的代码和检查现在可以正常工作。
- BZ#783161
- 调用 zipl 工具会更改文件系统中的数据,但也写入设备节点。内置同步调用仅清空文件系统缓冲区,这不能确保设备节点上的数据 /dev/dasdX 已编写。这可能会导致在 Initial Program Load (IPL)中使用不正确的引导映射,并加载错误的内核,或导致无法引导的系统。在这个版本中,为所有可写打开的文件描述符添加了 fsync () 函数的调用。因此,所有相关数据都会被写入磁盘,并解决了问题。
- BZ#785761
- qethconf 工具搜索
IPv6
地址的确切匹配。因此,使用大写字母编写的 IPv6 地址不会被删除。因此更新会使 IPv6 搜索区分大小写,且问题不再发生。 - BZ#785762
- 向 z/VM 6.1 添加的服务修复会破坏控制程序(CP)命令的接口,用于查询网络接口(NIC),且在 z/VM 6.x 下不会自动检测到第 3 层地址。因此,通过 znetconf 工具配置网络接口会失败。这个版本解决了这个问题,用于查询虚拟网络接口的 CP 命令现在可以正常工作。
- BZ#797937
- 挂载磁盘时,cmsfs-fuse 实用程序会尝试在整个磁盘上使用 mmap 功能。对于非常大的磁盘,这可能会失败,或者虚拟内存是否有限。在这个版本中,当 mmap 系统调用失败时,对 pread 和 pwrite 命令添加了一个回退。
- BZ#800462
- 仅解析逻辑仅检测第 3 层 VSWITCHes 的
NONROUTER
和PRIROUTER
选项,但不是普通 IP VSWITCH 配置。因此,连接到普通 IP VSWITCHes 的虚拟 NIC 不会自动检测到网络接口(NIC)的第 3 层地址,虚拟 NIC 被视为第 2 层设备。因此,使用 znetconf 工具配置虚拟 NIC 会失败。在这个版本中,IP
选项被解释为第 3 层指示符,并使用 znetconf 配置虚拟 NIC 可以正常工作。 - BZ#809510
- stop 记录的 monitor 记录标头不完整。因此,停止的进程的未使用的监控记录不会被正确停止,并继续显示在 z/VM 监控流中。这个更新解决了这个问题,现在指定了一个完整的标头。
- BZ#814311
- zipl 帮助程序脚本在没有绝对路径的情况下调用外部程序。因此,当使用空 PATH 环境变量调用 zipl 环境变量时,zipl 调用的 zipl 帮助程序脚本无法执行外部程序。在这个版本中,zipl 帮助程序脚本设置 PATH 变量,以便外部程序可以按预期定位并执行。
功能增强
- BZ#632347
- 添加了 System z 的引导设备 RAM 磁盘地址自动计算。在这个版本中,替换初始 RAM 磁盘的默认地址,地址现在使用镜像大小自动计算。这可避免大型内核镜像的可能文件重叠。
- BZ#633532
- 增加了 IBM System z 网络设备配置工具的改进。在这个版本中,System z qethconf 工具在属性没有如预期更改时提供信息。
- BZ#738863
- Linux kdump 框架已移植到 System z 上的 Linux,现在集成到现有的 System z 独立转储工具和关闭操作框架中。这会导致 System z 内核转储的以下改进:
- 通过在 makedumpfile 工具中使用页面过滤功能,可以缩短转储时间和大小。
- 使用网络转储的服务器场可以转储磁盘空间共享。
- 转储设置更易于使用 Linux 发行版的现有 kdump 设置 GUI。
- BZ#738870
- 添加了 并行 访问 卷(PAV)和高性能 FICON (HPF)的增强 直接访问存储设备(DASD)统计信息。此功能增强添加了 dasdstat 工具,它提供对内核通过 debugfs 接口提供的增强统计的友好访问。它启用了改进的 PAV 和 HPF 环境的诊断来分析和调整系统中的 DASD 性能,例如,为别名设备数量提供建议,或使用 Hyper PAV 与 Base PAV 与 Base PAV。有关此增强的详情,请参考 https://www.ibm.com/developerworks/linux/linux390/documentation_dev.html。
- BZ#738873
- 添加了对 qetharp 工具的
IPv6
支持。此增强为 qetharp 工具增加了 IPv6 支持,用于检查和修改 Open Systems Adapter (OSA)卡或 HiperSockets (真实和虚拟)在第 3 层模式下操作的ARP
缓存。
5.291. samba
5.291.1. RHBA-2012:0850 - samba 程序错误修复更新
程序错误修复
- BZ#753143
- 当将 Samba 与"密码服务器"配置设置一起使用时,当该参数的指定名称是解析为多个 IP 地址的主机名时,Samba 无法正确处理返回的地址。因此,Samba 无法使用其中一个密码服务器并意外终止。在这个版本中修复了 Samba,在使用带有 "password server" 参数的主机名时,可以正确地处理多个 IP 地址。现在,在上述场景中,Samba 可以与多个 IP 地址正常工作。
- BZ#753747
- 当 Samba 配置为在 Active Directory (AD)环境中运行时,它有时会创建无效的 DNS SRV 查询。当使用空 sitename 来编写 SRV 记录搜索字符串时会出现这种情况。因此,Samba 生成的日志文件包含多个与 DNS 相关的错误消息。Samba 已被修复,总是生成正确的 DNS SRV 查询,且不再发生与 DNS 相关的错误消息。
- BZ#755347
- smbclient 工具有时无法返回预期的退出状态代码;它返回 0 而不是 1。因此,在脚本中使用 smbclient 会导致一些脚本失败。在这个版本中,应用了上游补丁,smbclient 现在会返回正确的退出状态。
- BZ#767656
- 在以前的版本中,Winbind IDMAP 接口缓存不会按 smb.conf 文件中指定过期。因此,在发出相反的查询类型前,缓存中的正和负条目不会过期。这个版本包含针对此问题的向后移植修复。因此,idmap 缓存时间和 idmap 负缓存时间指令现在可以正常工作。
- BZ#767659
- 当为没有 UID 的用户调用 "getent passwd" 时,如果 winbind 加入到域,idmap_ad 指定为后端,枚举用户会被启用,大多数用户都有 UID,并显示以下错误:
NT_STATUS_NONE_MAPPED
这个版本实现了上游补丁来更正问题。因此,如果用户无法映射,winbind不再停止,但在上述场景中继续枚举用户。 - BZ#771812
- Samba 有时生成很多调试信息,如 "Could not find child XXXX -- ignoring",它被写入 syslog。因此,虽然这些信息不是关键的,但 syslog 可能会被大量这些消息产生。Samba 已被修复,不再向 syslog 自动发出这个消息,syslog 不再由这些 samba debug 消息填充。
- BZ#788089
- pam_winbind 工具使用未记录的 PAM_RADIO_TYPE 消息,它没有记录的语义。这会导致当系统中使用了 pam_winbind 时,登录管理器 gdm 会意外终止。因此,在使用 pam_winbind 时用户无法登录。Samba 已修复为不使用 PAM_RADIO_TYPE 消息。用户现在可以使用 pam_winbind 在 GDM 中进行身份验证。
- BZ#808449
- 较新的 Windows 版本无法在 Samba 共享中正确设置访问控制列表(ACL)。用户收到"访问被拒绝"警告。因此,管理员或用户无法对 Samba 共享完全控制 ACL。这个更新解决了 Samba 中的问题,现在 ACL 可以按预期使用。
- BZ#816123
- 将系统 Kerberos 库更新到最新版本会导致 Samba 二进制文件和库突然不可用,因为 Samba 使用的是私有库符号。因此,在 Kerberos 更新后,Samba 不再可用。在这个版本中,修正了 Samba,不再使用该专用符号。现在,当 Kerberos 库已更新时,Samba 将继续操作。
5.292. sanlock
5.292.1. RHEA-2012:0996 - sanlock 增强更新
5.293. sblim-cim-client2
安全修复
- CVE-2012-2328
- 它发现,Java HashMap 实施易受可预测的哈希冲突。SBLIM 在解析 XML 输入时使用 HashMap。来自 WBEM (基于 Web 的企业管理)服务器的专门制作的 CIM-XML 消息可能会导致 SBLIM 客户端使用大量的 CPU。添加了随机化,以帮助避免冲突。
5.294. scsi-target-utils
功能增强
- BZ#747510
- 在以前的版本中,scsi-target-utils 无法准确报告某些参数,如"direct-store"后备存储的原生块大小、最低逻辑块地址和最佳传输长度。这可能会降低 iSCSI 设备的性能。这个版本添加了对 "B0 VPD" 和 "READ CAPACITY (16) " SCSI 命令的支持,以便将 iSCSI 设备的特性与底层后备存储匹配,从而提高了 iSCSI 设备的性能。
- BZ#605925
- 在这个版本中,scsi-target-utils 支持对目标发现进行身份验证。它可以使用 "/etc/tgt/targets.conf" 文件中的"incomingdiscoveryuser"和"outgoingdiscoveryuser"指令进行配置。可以在 target.conf (5)手册页中看到配置详情。
5.295. SDL
5.295.1. RHBA-2012:0446 - SDL 程序漏洞修复更新
程序错误修复
- BZ#733605
- 如果在 SDL 应用的窗口不可见时调用 SDL_VM_GrabInput ()函数(例如,窗口显示在屏幕边框外的不同工作区或外部的 SDL_GrabInput () 函数,因此当前应用程序线程没有响应,直到窗口变得可见,并且输入可能会变得 grabbed。SDL_VM_GrabInput () 函数已被调整,以立即返回,并显示 grab 失败的正确错误代码。
- BZ#678569
- 在以前的版本中,在运行流ing SIMD Extensions 3 (SSE3)优化标准 C 库时,在重叠的 rectangles 中调用 SDL_BlitSurface ()函数会导致屏幕上的 bitmap 内容被破坏。已修复内部 SDL_BlitCopyOverlap ()函数,以正确复制重叠区域之间的位映射。SDL_BlitSurface ()函数现在可以正常工作,即使标准 C 库没有安全地在重叠内存区域上实施 memcpy ()函数。
- BZ#640682
- 在窗口模式下运行 SDL 应用并使用特定的窗口管理器(如 Fluxbox)时,不会向应用报告左键事件。在这个版本中,当窗口离开时,通知的发送,父窗口并不有兴趣处理窗口重点更改。在这个版本中,即使窗口管理器处理 grab 事件,按下鼠标按钮的事件也会报告给应用程序。
- BZ#640694
- 在 SDL 应用中使用红帽类型 analog joystick 时,当用户移动红帽时,应用会意外终止并出现分段错误。定义 joystick 的模拟部分的数据结构已更新,以匹配内核传递给 SDL 库的数据结构。模拟红帽的状态现在由内核正确地传递给 SDL 库,它可由库精确解释。
- BZ#640687
- 在此次更新之前,SDL spec 文件包含两个无效的配置选项。在这个版本中,从 spec 文件中删除这些未识别的选项。spec 文件中定义的所有选项现在都由 SDL 配置脚本识别。
5.296. seabios
5.296.1. RHBA-2012:0802 - seabios 程序错误修复和安全更新
程序错误修复
- BZ#757999
- 在以前的版本中,SeaBIOS 有时会从不正确的驱动器中引导。这是因为 QEMU 硬盘优先级低于 virtio 块-设备优先级。在这个版本中,QEMU 硬盘优先级高于 virtio 块设备优先级,SeaBIOS 现在会从正确的驱动器引导。
- BZ#771946
- 在以前的版本中,在 S3 (Suspend to RAM)状态后,客户机可能会在重启后变得无响应,因为 SeaBIOS 无法公告设备关闭的操作系统。在这个版本中,处理块设备恢复的底层代码已被修复,问题不再发生。
- BZ#786142
- 在以前的版本中,Windows 客户机可以检测到 HPET (高精度事件时间)设备,尽管客户机禁用了 HPET 设备。这是因为 HPET 设备是在 DSDT 中定义的(Differentiated System Description Table)。在这个版本中,表中删除了定义,问题不再发生。
- BZ#801293
- 从某些 USB 闪存驱动器引导可能会失败,因为 SeaBIOS 不支持从 USB STALL 条件进行恢复。这个版本添加了对从 STALLs 恢复的支持。
- BZ#804933
- 对于 Windows 客户机,RTC (Real-Time Clock) wake-up 无法正常工作。在这个版本中,FADT (Fixed ACPI Description Table)的底层代码已被修复,以匹配 QEMU 行为,问题不再发生。
- BZ#808033
- 在以前的版本中,如果在客户机仍然处理以前的热插事件时设备被热插,新的热插事件将无法处理,且设备不会被检测到。在这个版本中,SeaBIOS 使用不同的事件来处理热插,问题不再发生。
- BZ#810471
- 如果客户机有超过 62 个插槽和多个 virtio 磁盘设备,则客户机引导可能会失败。这是因为 BIOS 耗尽内存,并无法初始化引导磁盘。在这个版本中,会在这些情况下分配新内存,引导会成功。
功能增强
5.297. sed
5.297.1. RHBA-2012:0955 - sed 程序漏洞修复更新
程序错误修复
5.298. selinux-policy
程序错误修复
程序错误修复
错误修复
- BZ#888381
- 在以前的版本中,quota_db 类型被创建为 openshift_var_lib_t 类型。因此,尝试在 openshift_var_lib_t 上创建配额系统失败,并显示权限错误。SELinux 策略的相关部分已被修复,配额系统现在可以按预期创建。
程序错误修复
5.298.5. RHEA-2012:1471 - selinux-policy 增强更新
功能增强
- BZ#876075
- 添加了 openshift 软件包的 SELinux 策略。
错误修复
- BZ#833053
- 当系统生成新的 SELinux 拒绝时,setroubleshootd 守护进程将执行 rpm 工具来检查相关软件包的信息。在以前的版本中,setroubleshootd 无法执行 rpm 工具,而 AVC 拒绝记录在 /var/log/audit/audit.log 文件中。在这个版本中,相关的策略已被修正,以便在上述场景中不再生成 SELinux 拒绝。
程序错误修复
- BZ#666332
- 在以前的版本中,
sshd
初始化脚本会尝试在sshd
服务启动期间重新生成新密钥,并且 ssh-keygen 命令因为ssh_host_rsa_key.pub
文件不正确的 SELinux 安全上下文而无法写入公钥。安全上下文已更新,现在sshd
服务可以正确启动。 - BZ#739886
- 由于 SELinux 策略中的错误,SELinux 错误地阻止
rndc
服务读取/proc/loadavg
文件。这个更新提供了更新的 SELinux 规则,允许rndc
读取/proc/loadavg
文件。 - BZ#746961
- 当非 root 用户(在
unconfined_t
域中)运行ssh-keygen
工具时,SELinux 策略不允许ssh-keygen
在~/.ssh
目录外创建密钥。这个更新调整了相关的 SELinux 策略,以确保在上述场景中非 root 用户可创建密钥。 - BZ#748190
- 在以前的版本中,当用户尝试使用
selinux_avcstat
Munin 插件时,这会导致 Access Vector Cache (AVC)信息写入审计日志。在这个版本中,为selinux_avcstat
提供了一个新的 SELinux 策略来修复这个程序错误。 - BZ#748971
- 由于 SELinux 策略不正确,SELinux 会阻止
openswan
工具使用标记的 IPsec 协议。这个更新提供了更新的 SELinux 规则,并允许openswan
按预期标记 IPsec。 - BZ#749311
- 在以前的版本中,任何 SELinux 策略都不支持
nagios
事件处理程序,这会破坏其功能。在这个版本中,这个支持被添加到 SELinux 策略中,nagios
事件处理程序现在可以与 SELinux 正常工作。 - BZ#749501
- 在以前的版本中,当 SELinux 在 Enforcing 模式下运行时,
google-chrome
程序无法执行 nacl_helper_bootstrap 命令。这个更新提供了一个更新的 SELinux 安全上下文和规则,允许google-chrome
执行 nacl_helper_bootstrap。 - BZ#750869
- 在以前的版本中,SELinux Multi-Level Security (MLS)策略不允许用户将 newrole 或 sudo 命令与
sssd
服务一起使用,当用户登录wuth
自定义 MLS 范围时。在这个版本中修复了相关的 SELinux 策略,允许用户使用此配置。 - BZ#751558
- 在强制模式下使用 SELinux 时,以 root 身份运行带有
unconfined.pp
策略模块的邮件
程序会导致权限被拒绝,并且生成 AVC 消息。这个更新修复了相关的 SELinux 策略规则,允许在上述场景中正确地运行邮件
程序。 - BZ#751732
- 由于 SELinux 策略中的错误,SELinux 错误地阻止
subscription-manager
服务读取/proc/2038/net/psched
文件。这个更新提供了更新的 SELinux 规则,允许subscription-manager
读取该文件。 - BZ#752418
- 在此次更新之前,
pyzor
应用被拒绝写入ABRT
套接字文件的权限。因此,会报告 AVC 信息。在这个版本中,修正了 SELinux 策略,以便在上述场景中授予pyzor
所需的权限。 - BZ#752924
- 当 SELinux 在 Enforcing 模式下运行时,smbcontrol 程序无法向自己发送信号。
因此,AVC 信息被写入审计日志。在这个版本中修复了相关的策略来支持此操作。
- BZ#718273
- 在以前的版本中,当 SELinux 在 Enforcing 模式下运行时,
网格引擎 mpi
作业没有被正确启动。提供了这些作业的新策略,网格引擎 mpi
作业现在可以正常工作。 - BZ#753184, BZ#756498
- 在以前的版本中,当启用 SELinux MLS 策略时,用户
cron
作业被设置为在cronjob_t
域中运行。因此,用户无法运行其cron
任务。相关的策略规则已被修改,用户cron
作业现在在用户域
中运行,从而解决了这个问题。 - BZ#753396
- 在运行
libvirt
命令时,如 virsh iface-start 或 virsh iface-destroy 时,SELinux 处于 Enforcing 模式和 NetworkManager 时,命令需要很长时间才能完成。在这个版本中,添加了相关的策略,libvirt
命令现在可以按预期工作。 - BZ#754157
- 当
auditd
守护进程侦听端口 60 时,SELinux 多级别安全(MLS)策略会阻止auditd
将审计事件发送到同一系统(如果也在端口 61 上运行)在这个版本中解决了相关的策略,此配置现在可以正常工作。注意在修复之前,可以使用audisp-remote
插件来执行上述场景。 - BZ#754455
- 启用 SELinux 后,
rsyslogd
守护进程无法启动,因为它之前不允许使用传输层安全(TLS)协议运行setsched
操作。在这个版本中,修正了相关的 SELinux 策略,rsyslogd
现在会如预期启动。 - BZ#755877
- 在强制模式下使用 SELinux 时,
ssh-keygen
工具无法访问各种应用程序,因此无法用来为此类应用程序生成 SSH 密钥。有了这个更新,ssh_keygen_t
SELinux 域类型已被实现为 unconfined,这样可确保ssh-keygen
工具可以正常工作。 - BZ#759403
ssh-keygen
工具无法从/var/lib/condor/
目录读取和写入。因此,使用 SELinux 模式时,向并行 universe 环境提交的 OpenMPI 作业无法生成 SSH 密钥。在这个版本中,为/var/lib/condor/
目录提供了一个新的 SELinux 策略,它允许ssh-keygen
访问这个目录。- BZ#759514
- 当在 SELinux 处于 Enforcing 模式的虚拟机上运行 KDE 会话时,当 SPICE 控制台关闭时,会话不会按预期锁定。这个更新添加了必要的 SELinux 规则,这样可确保在上述场景中正确锁定会话。
- BZ#760537
- 在以前的版本中,
/var/www/vweb1/logs/
目录被标记为httpd_log_t
,这会阻止访问附加 web 空间的部分。在这个版本中,为此目录删除了httpd_log_t
安全上下文,从而解决了这个问题。 - BZ#767195
- 在强制模式下使用 SELinux 时,
httpd
服务无法读取具有git_system_content_t
安全标签的 Git 文件。在这个版本中,更正相关的 SELinux 策略规则,以允许httpd
读取这些 Git 文件。 - BZ#767579
- 由于 SELinux 策略中的错误,如果使用了 quotacheck -c /user/home/directory 命令,则 SELinux 会错误地在文件系统上设置配额。这个更新提供了更新的 SELinux 规则,允许在上述场景中正确设置配额。
- BZ#754646
- 在以前的版本中,SELinux 会阻止
sanlock
守护进程搜索 NFS 目录。这个版本提供了sanlock_use_nfs
布尔值变量来解决这个问题。 - BZ#768065
- 运行 Postfix 电子邮件服务器、Amavis virus 扫描程序和 Red Hat Enterprise Linux 6 上的 Spamassassin 邮件过滤器时,
spamc_exec_t
和razor_exec_t
文件是别名文件,因此引用同一上下文。因此,restorecon
工具会报告这些错误标记的文件,与razor
应用程序相关。在这个版本中,razor.pp
策略文件已被删除,restorecon
不再报告这些错误标记的文件。 - BZ#769301
- 在以前的版本中,如果 SSSD (系统安全服务守护进程)使用
keyctl_join_session_keyring()
和keyctl_setperm()
功能连接到内核密钥环并在sssd
守护进程运行时安全地存储密码,SELinux 允许它。在这个版本中修复了相关的 SELinux 策略规则,允许 SSSDsys_admin
功能正确处理这些操作。 - BZ#769352
- SELinux 策略不正确的 SELinux 策略阻止
qpidd
服务启动。这个版本提供了更新的 SELinux 规则,允许qpidd
正确启动。 - BZ#769819
- 由于
/var/spool/postfix/deferred
目录的标签更改,Postfix 电子邮件服务器终止。这个版本提供了更新的 SELinux 规则,允许 Postfix 按预期运行。 - BZ#769859
- 在以前的版本中,当在禁用 SELinux 的系统中安装更新的 selinux-policy-targeted 软件包时,会返回以下出错信息:
SELinux: Could not downgrade policy file /etc/selinux/targeted/policy/policy.24, searching for an older version. SELinux: Could not open policy file -- /etc/selinux/targeted/policy/policy.24: No such file or directory load_policy: Can't load policy: No such file or directory
这个更新提供了更新的 SELinux spec 文件,该文件在上述场景中正确测试 SELinux 状态,从而防止这个程序错误。 - BZ#773641
- 当 SELinux 在 Enforcing 模式下运行时,
ssh-keygen
工具因为缺少 SELinux 策略规则而无法写入 NFS 主目录。这个更新提供了更新的 SELinux 规则,允许ssh-keygen
使用use_nfs_home_dirs
布尔值变量写入 NFS 主目录。 - BZ#782325
- 当用户试图通过 NRPE (Nagios Remote Plugin Executor)在远程系统上执行
check_disk
Munin 插件时,权限被拒绝,并生成 AVC 消息。在这个版本中修复了相关的 SELinux 策略规则,允许check_disk
读取/sys/
目录,从而解决了这个问题。 - BZ#783592
- 在以前的版本中,缺少
ipa_memcached
服务的 SELinux 策略。因此,ipa_memcached
无法在强制模式下使用 SELinux。在这个版本中,增加了对ipa_memcached
的支持,从而解决了这个问题。 - BZ#784011
- 启用 MLS SELinux 策略时,在
sysadm_t
SELinux 域中运行的管理员无法运行 rpm 命令。这个版本提供了更新的 SELinux 规则,以便管理员在上述场景中运行 rpm。 - BZ#786597
- 在以前的版本中,当 SELinux 在 Enforcing 模式下运行时,与邮件相关的 Munin 插件无法访问
/var/lib/
目录。因此,这些插件无法正常工作。这个更新提供了更新的 SELinux 规则,允许这些插件访问/var/lib/
并按预期工作。 - BZ#787271
- 如果自定义集群 MIB (Management Information Base)实现作为单独的进程运行,则强制模式下的 SELinux 会阻止
snmpd
服务通过 AgentX (Agent 可扩展)协议进行连接。这个程序错误已被解决,更新的 SELinux 策略规则现在允许运行自定义集群 MIB 含义。 - BZ#788601
- 在强制模式下使用 SELinux 时,
httpd
服务无法访问/var/lib/zarafa/
目录中的链接文件,这会导致使用 DRBD (Distributed Replicated Block Device)支持的 Zarafa groupware 出现各种问题。这个更新提供了更新的 SELinux 规则,并允许httpd
访问目录,Zarafa 现在可以正常工作。 - BZ#788658
- 在强制模式下使用 SELinux,提交至并行 universe 环境的 OpenMPI 作业在 SSH 密钥生成时失败。这是因为
ssh-keygen
工具无法访问/var/lib/condor/
目录。这个更新为/var/lib/condor/
提供了新的 SELinux 策略,它允许ssh-keygen
读取和写入这个目录,从而解决了这个问题。 - BZ#789063
- 在 Enforcing 模式中使用 SELinux 时,重启
tgtd
服务会导致当tgtd
无法读取abi_version
值时返回 SELinux AVC 拒绝信息。在这个版本中修复了相关的 SELinux 策略规则,允许tgtd
读取abi_version
。 - BZ#790980
- 如果将自定义主目录设置为 NFS 主目录,
google-chrome
应用程序将无法写入此主目录。在这个版本中,use_nfs_home_dirs
变量已被修复,google-chrome
现在可以在上述场景中写入 NFS 主目录。 - BZ#791294
- 当
qpidd
守护进程配置了 Corosync 集群时,qpidd SELinux 策略会阻止qpidd
服务连接到 AMQP (高级消息队列协议)端口。这个版本提供了更新的 SELinux 规则,允许qpidd
正确启动。 - BZ#796351
- 在以前的版本中,如果
dirsrv
程序执行 modutil -dbdir /etc/dirsrv/slapd-instname -fips 命令,在 NSS (网络安全服务)密钥/certificate 数据库中启用 FIPS 模式,SELinux 会收到 AVC 拒绝信息。这是因为NSS_Initialize()
功能试图将预链接与dirsrv_t
上下文一起使用。在这个版本中,pre-link 允许在这些情况下重新标记自己的临时文件,且不会再出现问题。 - BZ#799102
- 在强制模式下使用 SELinux,Samba 无法通过 LDAPI 连接到 dirsrv/slapd (389DS),这会导致返回 AVC 拒绝信息。另外,
dirsrv
服务因为这个问题而无法正确启动。在这个版本中,为/var/run/slapd unset
套接字提供了更新的 SELinux 上下文,这些服务现在可以按预期启动。 - BZ#799968
- SSSD 有时处理同时运行的 4,000 多个进程的高负载系统。在以前的版本中,处于 Enforcing 模式的 SELinux 会生成一个与
CAP_SYS_RESOURCE
特权相关的 AVC 消息,需要请求更高的打开 file-descriptor 限制。在这个版本中,添加了一个新的 SELinux 策略规则,以允许 SSSD 服务的CAP_SYS_RESOURCE
功能。 - BZ#801163
- 在强制模式下使用 SELinux 时,
chsh
工具不适用于通过 Kerberos 进行身份验证的服务器。SELinux 会阻止chsh
访问某些文件和目录。现在,提供了更新的 SELinux 规则,以便在上述场景中正常工作。 - BZ#802247
- 当使用 NFS 挂载目录时,重启
nfsclock
服务会生成 AVC 拒绝消息,然后报告给/var/log/audit/audit.log
日志文件。提供了更新的 SELinux 策略规则,它允许rpc.statd
二进制文件执行sm-notify
二进制文件,并重新启动nfsclock
现在可以正常工作。 - BZ#802745
- 当文件由用户主目录中的
/usr/bin/R
实用程序创建时,返回不正确的user_home_dir_t
的 SELinux 上下文类型,而不是预期的user_home_t
上下文。在这个版本中修复了相关的 SELinux 策略规则,允许/usr/bin/R
在用户主目录中创建具有正确标记的目录。 - BZ#803422
- 当使用 NFS 挂载 ext4 分区时,在这个分区上运行
xfstest
工具会失败,因为这个分区上的写入操作在这个分区上被拒绝。在这个版本中,提供了适当的 SELinux 策略规则,现在在上述场景中允许写操作。 - BZ#804024
- 在以前的版本中,安装 selinux-policy-minimum 软件包会失败,因为此策略的 scriptlet 试图访问
/etc/selinux/targeted/seusers
文件。现在,selinux-policy.spec
文件已被修改来单独存储其用户信息,并且可以正确安装 selinux-policy-minimum。 - BZ#804186
- 在以前的版本中,Postfix 电子邮件服务器无法在
~/Maildir/
设置中正常工作。为了修复这个程序错误,为/root/Maildir/
目录提供了一个新的 SELinux 上下文。 - BZ#804922
- 启用 SELinux 后,一个 Red Hat Enterprise Linux 6.2 客户端查询 NFS 服务器也运行在 Red Hat Enterprise Linux 6.2 上,以获取配额详情,从而导致客户端没有输出,并向服务器日志报告以下信息:
rpc.rquotad: Cannot open quotafile aquota.user and the associated AVC.
更新了 SELinux 策略规则,允许 NFS 客户端和服务器间的查询,从而解决了这个问题。 - BZ#805217
- 在以前的版本中,如果 SELinux 处于 Enforcing 模式且配置了
internal-sftp
子系统,则具有unconfined_t
SELinux 类型的用户无法使用sftp
实用程序进行连接。在这个版本中,SELinux 策略被修复,允许用户在上述场景中成功利用sftp
。 - BZ#807173, BZ#820057
- 由于从 Red Hat Enterprise Linux 6.3 中删除了
nfs_export
swig 布尔值,用户无法在/tmp/
目录下导出子目录,并将操作挂载到这些目录也会失败。在这个版本中,提供了适当的规则来允许用户在上述场景中执行这些操作。 - BZ#807456
- 在强制模式下使用 SELinux 时,如果
/etc/
文件中指定 NIS (网络信息服务)用户,则无法启动 cgconfig 服务。这个版本修复了相关的 SELinux 策略规则,并允许cgconfig
cgconfig
正确使用 NIS。 - BZ#808624
- 当 Dovecot LMTP (本地邮件传输协议)服务器配置为基于 Postfix 的邮件服务器的虚拟发送代理时,
sieve
脚本无法在强制模式下使用 SELinux。这个更新提供了适当的 SELinux 策略规则,允许在上述场景中正常工作sieve
脚本。 - BZ#809746
- 由于 SELinux 策略不正确,
心跳
服务无法正确启动。提供了新的 SELinux 策略规则,允许heartbeat
执行/usr/lib64/heartbeat/plugins/InterfaceMgr/generic.so
二进制文件,从而修复这个程序错误。 - BZ#812850
- 在强制模式下使用 SELinux 时,service libvirt-qmf restart 命令会导致 AVC 拒绝消息记录到
/var/log/audit/audit.log
文件中。在这个版本中修复了相关的 SELinux 策略规则,命令不再生成 AVC 信息。 - BZ#812854
- 在以前的版本中,当从
cron
任务调用时,package-cleanup
工具无法正常工作。要修复这个程序错误,/usr/bin/package-cleanup
二进制文件已使用rpm_exec_t
SELinux 策略标签标记,package-cleanup
现在可以在上述场景中按预期工作。 - BZ#813803
- 在以前的版本中,
system-config-kdump
utlity 无法在启用 SELinux 的情况下正常工作。要解决这个问题,/etc/zipl.conf
文件已使用boot_t
SELinux 安全标签标记。 - BZ#814091
- Red Hat Cluster Suite 中的隔离代理(在 fence-agents 软件包中)可以使用几种不同的方法来连接到隔离设备。使用
telnet
或ssh
在 SELinux 下正常工作,但有些代理使用 SNMP。但是,因为 SELinux 策略不正确,snmpwalk
、snmpget
和snmpset
工具无法正常工作。SELinux 策略规则已更新,允许 SNMP 工具使用fenced_t
安全类型运行,以便在/var/lib/net-snmp/
目录下创建文件,从而修复这个程序错误。 - BZ#821004
- 启用 SELinux MLS 策略后,
sysadm_r
SELinux 角色无法为其他用户创建 cron 作业。这个程序错误已被解决,sysadm_r
SELinux 角色现在属于 cron admin 角色,从而解决了这个问题。
功能增强
- BZ#727145
- 添加了
cfengine
服务的新策略,以便在使用cfengine
时使系统管理正常工作。 - BZ#747239
- 这个版本为
quota-nld
服务提供了新的 SELinux 策略。 - BZ#747993
- 这个版本为
闪存
插件提供了新的 SELinux 策略。在以前的版本中,此插件
的插件进程以 unconfined 身份运行。 - BZ#749200
- 这个版本为
matahari-qmf-sysconfigd
和matahari-qmf-sysconfig-consoled
服务提供了新的 SELinux 策略。 - BZ#760405
- 以下布尔值变量已被删除,因为它们不再起作用:
allow_nfsd_anon_write nfs_export_all_rw nfs_export_all_ro
- BZ#787413
- 在以前的版本中,与日志文件的某些操作相关的
secadm
和_r
auditadm_r
SELinux 角色之间没有隔离。这个更新引进了新的sysadm_secadm.pp
SELinux 模块,以提供角色分离。注意请注意,如果禁用了sysadm_secadm.pp
模块,sysadm_r
无法修改/var/log/
目录中的安全文件,这只有secadm_r
可以这样做。角色的基本分离如下:auditadm_r
角色可以修改/var/log/audit.log
日志文件。secadm_r
角色能够修改各种 SELinux 属性以及具有必要级别的/var/log/
目录中的文件。此角色的用户还可以更改级别或 SELinux 状态,也可以加载新模块。sysadm_r
角色(禁用sysadm_secadm
)可以修改所有非安全文件,因为sysadm_r
基于userdom_admin_user_template()
功能,其中包含以下指令:files_manage_non_security_dirs($1_t) files_manage_non_security_files($1_t)
此角色的用户无法修改/var/log/audit/audit.log
、auditd
守护进程配置文件,或更改级别或 SELinux 状态。
- BZ#795474
- 在以前的版本中,
rsync
工具无法访问 NFS 或 CIFS 主目录中的文件。提供了新的rsync_use_nfs
布尔值,为这两个文件系统提供支持。 - BZ#798534, BZ#812932, BZ#818082, BZ#818611
- 在以前的版本中,
privsep
父进程总是在sshd_t
域中运行。因此,sshd_t
域必须超过用户 SSH 进程的必要性。这个更新引进了新的 SELinux 策略规则,以支持用户 SSH 进程的权限分离,每个进程现在都按预期在用户上下文中运行。 - BZ#801015
- 为
matahari-qmf-rpcd
服务添加了新的 SELinux 策略支持。 - BZ#801408
- 在这个版本中,提供了 400 多个 man page,记录系统中所有受限制的域和用户。您可以使用如下命令来接收它们:
man httpd_selinux man staff_selinux
- BZ#807682
- 在这个版本中,增加了对 VM/Java/Sched/Local universe 的
ssh_to_job
的 SELinux 支持。 - BZ#807824
- 在这个版本中,增加了对 Cherokee Web 服务器的 SELinux 支持。
- BZ#809356
- 在这个版本中,为
libvirt-qmf
服务添加了一个新的 SELinux 策略。 - BZ#810273
- 这个版本添加了对
lvmetad
守护进程的 SELinux 支持。 - BZ#811532
- 在这个版本中,ZFS 文件系统添加了对扩展文件属性(xattr)的支持。
- BZ#821038
- 在这个版本中,为所有 OpenStack 服务添加了一个新的 SELinux 策略。
错误修复
- BZ#966996
- 在以前的版本中,mysqld_safe 脚本无法使用 shell_exec_t SELinux 安全上下文执行 shell (/bin/sh)。因此,mysql55 和 mariadb55 Software Collection 软件包无法正常工作。在这个版本中,SELinux 策略规则已被更新,这些软件包现在可以正常工作。
5.299. servicelog
5.299.1. RHBA-2012:0989 - servicelog 程序错误修复更新
错误修复
- BZ#814160
- 在此次更新之前,"servicelog_manage -help"选项返回 Null 值而不是帮助信息。另外,修复操作还没有被正确删除。在这个版本中,修改底层代码,以便返回更详细的帮助信息,并同时删除修复操作。
5.300. setroubleshoot
错误修复
- BZ#832186
- 在以前的版本中,即使显示 selinux 拒绝,SELinux Alert Browser 也不会显示警报。这是因为 sedispatch 导致,它无法正确处理审计消息,用户无法根据 SELinux 警报修复其 SELinux 问题。在这个版本中,这个问题已被解决,用户现在可以使用 setroubleshoot 修复其 SELinux 问题。
程序错误修复
5.301. setup
5.301.1. RHBA-2012:1367 - 设置程序漏洞修复更新
程序错误修复
5.301.2. RHBA-2012:0778 - 设置程序错误修复和功能增强更新
程序错误修复
- BZ#771388
- 在此次更新之前,/etc/filesystems 配置文件不包含 ext4 文件系统的行。这可能会导致各种问题;例如,使用 文件确定支持的文件系统的进程无法将 ext4 识别为有效的文件系统。在这个版本中,在 /etc/filesystems 文件中添加缺少的行。
- BZ#710185
- 在此次更新之前,/etc/services 配置文件包含一个带有互联网分配机构(IANA)保留端口 0 的条目,用于 spr-itunes 服务。但是,端口 0 保留并不代表实际的端口保留(它只确认该服务存在的 IANA)。在 /etc/services 文件中注释掉了 spr-itunes 条目,并添加了扩展注释来阐明问题。
- BZ#724007
- 在此次更新之前,/etc/group 配置文件包含不必要的补充组,特别是根组会导致一些潜在的安全风险。这些组是旧的 remnants,不再需要。为了降低以后因为 root 补充组而进行更严重的利用的风险,这些组已从默认值中删除。
功能增强
- BZ#772746
- wallaby 软件包创建了用户 ID (UID)和组 ID (GID)对,它们名为"wallaby",编号为 181。在此次更新之前,setup 软件包不会保留 UID 和 GID 对。因此,其他软件包或系统管理员可能会意外地将值分配给其他用户和组。在这个版本中,setup 软件包会保留这些 UID/GID 名称和数字,以便减少意外 UID/GID 使用风险。
- BZ#760178
- tog-pegasus-libs 软件包创建用户 ID (UID)和组 ID (GID)对,它们的名称为 "cimsrvr" 和数字 134。在此次更新之前,setup 软件包不会保留 UID 和 GID 对。因此,其他软件包或系统管理员可能会意外地将值分配给其他用户和组。在这个版本中,setup 软件包会保留这些 UID/GID 名称和数字,以便减少意外 UID/GID 使用风险。
- BZ#738294
- sanlock 软件包创建了用户 ID (UID)和组 ID (GID)对,它们名为"sanlock"和数字 179。在此次更新之前,setup 软件包不会保留 UID 和 GID 对。因此,其他软件包或系统管理员可能会意外地将值分配给其他用户和组。在这个版本中,setup 软件包会保留这些 UID/GID 名称和数字,以便减少意外 UID/GID 使用风险。
- BZ#738177
- dhcp 软件包创建用户 ID (UID)和组 ID (GID)对,名称为 "dhcpd" 和数字 177。在此次更新之前,设置软件包不会保留 UID 和 GID 对。因此,其他软件包或系统管理员可能会意外地将值分配给其他用户和组。在这个版本中,setup 软件包会保留这些 UID/GID 名称和数字,以便减少意外 UID/GID 使用风险。
- BZ#804203, BZ#804204, BZ#804205, BZ#806052
- 新的云引擎功能需要新的用户和组 - 即 aeolus, katello, elasticsearch 和 mongodb,其数字为 180, 182, 183 和 184。在此次更新之前,设置软件包不会保留 UID 和 GID 对。为防止其他软件包或系统管理员使用意外 UID/GID,因此上述 UID/GID 名称和编号现在由 setup 软件包保留。
5.302. slapi-nis
程序错误修复
- BZ#784119
- 在此次更新之前,架构兼容性插件在某些情况下可能会泄漏内存,当构建的条目中包含计算值时也会泄漏内存,即使相关值没有改变。因此,性能可能会快速降低,消耗了所有可用的内存。在这个版本中,修改底层代码,以便不再发生内存泄漏。
- BZ#800625
- 在此次更新之前,如果兼容性条目的相对可分辨名称包含转义的特殊字符,则目录服务器在处理可分辨名称时可能会意外终止。在这个版本中,修改插件,以便在生成相对可分辨名称值时转义特殊字符。
- BZ#809559
- 在此次更新之前,传递给 %link 的 padding 值被读取为字面值。因此,这些值无法使用 "%ifeq" 表达式。在这个版本中,修改底层代码,将 padding 值视为表达式,使用 "%ifeq" 表达式。
功能增强
- BZ#730434
- 在此次更新之前,插件使用平台中立的 Netscape Portable Runtime (NSPR)读写锁定 API 来管理其一些内部数据。在这个版本中,修改 slapi-nis 以使用目录服务器本身提供的锁定功能。
5.303. slf4j
5.303.1. RHBA-2012:1239 - slf4j 程序错误修复更新
错误修复
5.304. smartmontools
错误修复
- BZ#784925
- 在此次更新之前,smartmontools 无法识别某些 HP SAS (Serial Attached SCSI)驱动器返回的 SMART 数据的格式,并记录以下错误消息 "scsi 响应失败 sanity test"。在这个版本中,smartmontools 可以正确地识别数据,这个错误不再发生。
5.305. scs
5.305.1. RHSA-2012:0958 - sos 程序错误修复和功能增强更新
安全修复
- CVE-2012-2664
- sosreport 工具收集 Kickstart 配置文件(
/root/anaconda-ks.cfg
),但没有在将该文件添加到生成的调试信息存档前从其中删除 root 用户的密码。攻击者可以访问存档可能会利用此漏洞获取 root 用户的密码。/root/anaconda-ks.cfg
通常仅包含密码的哈希值,而不是纯文本密码。注意此问题会影响所有安装,而不仅仅是通过 Kickstart 安装的系统。/root/anaconda-ks.cfg
文件由所有安装类型创建。
程序错误修复
- BZ#730641
- 在以前的版本中,在 SOS 代码中错误地指定了
/proc/net/
目录的路径。因此,在生成的存档中没有从这个目录中调试特定绑定配置所需的信息。在这个版本中,修正了 SOS networking 模块,并确保/proc/net/
目录的正确规格。因此,生成的 sosreport tarballs 包含预期的/proc/net/
文件集合。 - BZ#749262
- 在以前的版本中,sosreport 工具无法从 Red Hat Network (RHN)代理服务器安装收集日志文件。问题是由过时的软件包规格导致的,它与当前软件包命名约定不匹配。因此,RHN Proxy Server 问题诊断有时需要的日志不会被自动收集。在这个版本中,修正了软件包规格,以匹配当前的软件包命名约定。因此,RHN Proxy Server 日志会被正确收集。
- BZ#751273
- 在以前的版本中,brctl 命令的输出(用于以太网网桥配置)被错误解析,并导致 sosreport 记录错误。因此,无法收集 sosreport 命令发出 Python 后端追踪,某些网桥配置信息。在这个版本中,修正了 brctl 命令输出的解析。因此,不会发出回溯追踪,并收集所有网桥配置数据。
- BZ#771393
- 在以前的版本中,SOS 使用不一致的输入清理规则。这些规则根据交互式提供用户名和问题单信息,还是从系统配置文件读取而有所变化。因此,在从配置文件读取时,SOS 无法正确地清理某些无效字符串,并在互动输入时将不同的清理规则应用到同一字符串。在这个版本中,所有名称和编号清理都在单个位置执行。因此,无论数据源是什么,名称和编号清理规则现在都会一致应用。
- BZ#782339
- 在以前的版本中,由于 SOS 版本 2.0 中引入的日志记录子系统的变化,sosreport 生成的调试输出会被限制。因此,由于那个 SOS 版本,会收集非常有限的调试日志信息。这个版本增强了 log 子系统,并重新启用所有之前禁用的日志消息。现在,在通过命令行选项请求时生成和记录详细日志消息。
- BZ#782589
- 在以前的版本中,当将文件和目录复制到报告时,sosreport 无法正确处理符号链接的目标。因此,报告目录结构中的链接可能会具有无效的目标。在这个版本中修复了处理文件复制的库例程。在这个版本中,当请求的路径包含符号链接时,始终复制符号链接目标。因此,sosreport 可以正确地处理符号链接目标,报告目录结构中的符号链接始终有效。
- BZ#810702
- 在以前的版本中,SOS 不会从
/var/log/mcelog
文件中收集机器检查事件(MCE)日志。因此,SOS 报告中有时缺少有关系统硬件状态和之前的硬件错误的重要信息。这个版本扩展了 SOS 硬件模块,以便在/var/log/mcelog
文件中存在时收集 MCE 日志。因此,在生成的 SOS 报告中提供了 MCE 日志数据。 - BZ#812395
- 在 Red Hat Enterprise Linux 6.3 中,IPA (身份、策略、审计)身份和身份验证组件已被显著更新。因此,支持这些组件所需的一组配置和日志数据也会改变。这个版本增强了 SOS IPA 模块和其他相关模块,以收集新 IPA 版本中诊断问题所需的信息。因此,所有与 IPA 诊断相关的信息都会从运行更新的 IPA 组件的适当启用的系统收集。
- BZ#814474
- 在以前的版本中,SOS 使用单个固定路径从一个目录收集所有 libvirt (虚拟化 API)日志。在某些版本中,
libvirtd.log
文件可能位于不同的目录中。因此,在这样的系统上不会收集libvirtd.log
文件。这个版本修改了 sosreport,以便它使用通配符匹配文件的这两个可能位置。现在,libvirtd.log
文件会在所有支持的版本中收集。
功能增强
- BZ#739080
- 在以前的版本中,sosreport 从 stderr (标准错误流)中丢弃了程序输出。因此,sosreport 生成的报告中不包含程序警告、诊断和其他信息。这个版本修改了 sosreport 执行外部程序的方法。因此,由执行的外部程序返回的 stderr 和 stdout (标准输出流)消息现在都包含在 sosreport 生成的报告中。
- BZ#752549
- 在以前的版本中,SOS 不支持
GlusterFS
文件系统。因此,在安装 gluster 软件包的系统中运行 sosreport 不会从系统中收集任何特定于 Gluster 的信息。在这个版本中,添加了一个新的插件,用于收集 Gluster 产品的必要日志。因此,从位于/etc/glusterd/
和/var/log/glusterfs/
目录中的文件收集信息。另外还会收集多组命令输出,以在生成的报告中记录 Gluster 子系统的当前状态。 - BZ#766583
- 由于之前的 sos 软件包更新,超过大小限制的日志文件会存储在生成的报告中的单独位置。这对用户不知道此行为会造成混淆。在这个版本中,确保将符号链接添加到标准日志文件中。因此,熟悉标准位置的用户和工具现在可以轻松查找截断的日志文件。
- BZ#789096
- 在以前的版本中,sos 软件包包含一个用于收集常规内核信息的模块。模块没有收集更新系统使用实时内核软件包(kernel-rt)公开的额外信息。在这个版本中,添加了一个新的 kernel_real-time 模块,并添加了 cgroups 数据收集。这些更改会在实时内核系统中收集更复杂的诊断数据。
5.306. spice-client
错误修复
- BZ#552539
- SPICE 客户端不会将卷多媒体密钥事件传递给客户端操作系统。因此,无法使用这些密钥更改客户机的卷。现在,客户端可以正确地利用多媒体密钥并传递给客户机系统。
- BZ#693431
- 在某些特殊的多屏幕设置中,在切换到全屏模式后,然后退出 SPICE 客户端,物理客户端屏幕会因为代码处理分辨率切换中的一个错误而关闭。在这个版本中解决了代码,问题不再发生。
- BZ#695323
- SPICE 客户端在多屏幕设置中以全屏模式正确支持 Xinerama 扩展。因此,如果用户在使用 Xinerama 时切换到全屏模式,SPICE 客户端窗口无法覆盖客户机使用的所有物理屏幕。这个版本改进了 Xinerama 支持,SPICE 客户端现在可以在全屏模式下正常工作。
- BZ#711810
- 当另一个应用程序正在访问 SPICE 客户端启动时的记录设备时,客户机中的声音记录会失败。客户端现在使用 PulseAudio 声音服务器,它允许多个应用程序同时访问记录设备。
- BZ#750030
- Red Hat Enterprise Virtualization 控制台可从 User Portal 访问,无法打开和返回的错误代码 1032。在某些非英语区域上发生,因为本地化键盘修饰符的值不被视为热键属性的法律值。在这个版本中,即使解析器未识别过,热键值也会正确解析,并在本例中返回默认值。
- BZ#791269
- USB 自动共享无法在 SPICE 会话的初始全屏上工作,并且除非用户将重点切换到不同的应用程序,否则 USB 设备仍无法访问,然后返回到 SPICE-client 窗口。这是因为底层代码中出现竞争条件。代码已被修改,问题不再发生。
- BZ#791271
- 客户端中并不总是提供 SPICE 上下文(右键)菜单。安装 USB Redirector Service 但未启动但用户切换到窗口模式的客户端上不会显示上下文菜单。SPICE 客户端已更新,上下文菜单在窗口模式中始终可用。
- BZ#804561
- 当本地用户名太长时,从 Red Hat Enterprise Virtualization 门户启动 SPICE 客户端会失败。在这个版本中,代码已被修改,它们不再限制用户名长度。
功能增强
5.307. spice-gtk
安全修复
- CVE-2012-4425
- 发现 spice-gtk setuid helper 应用程序 spice-client-glib-usb-acl-helper,不会清除它所使用的库读取的环境变量。一个本地攻击者可以在运行 helper 应用程序前设置特定的环境变量来升级其权限。
程序错误修复
- BZ#772118
- 在此次更新之前,当音频系统无法初始化时,spice-gtk 客户端可能会意外终止。这个版本会忽略音频初始化失败,以便 spice-gtk 也可用于失败的音频系统初始化。
- BZ#805641
- 在以前的版本中,在某些情况下,内存泄漏可能会发生在客户机解析改变时发生。这个版本修改了底层代码,以便更改解析不再会导致内存泄漏。
- BZ#807389
- 在更新之前,视频显示了使用 Red Hat Enterprise Linux 5.8 主机上托管的客户机时的蓝色 tint。在这个版本中,在旧的 SPICE 服务器上也使用正确的颜色转换,因此视频现在可以正确处理。
- BZ#809145
- 在此次更新之前,复制大量文本可能会导致堆栈溢出。因此,使用 spice-gtk 小部件的 SPICE 客户端可能会中止并出现分段错误。在这个版本中,在堆栈中不再分配大量数据,现在可以将大型剪贴板数据复制到服务器中。
功能增强
- BZ#758100
- 在此次更新之前,spice-gtk 小部件没有提供原生 USB 重定向。在这个版本中,为 spice-gtk 添加了 USB 重定向支持。
5.308. spice-protocol
5.308.1. RHEA-2012:0760 - spice-protocol 增强更新
- BZ#758088
- spice-protocol 软件包已升级到上游版本 0.10.1,与之前的版本相比,它提供了很多改进,包括对 USB 重定向的支持。
5.309. spice-server
程序错误修复
- BZ#741259
- 在此次更新之前,智能卡频道会在错误的位置查找错误代码。因此,错误消息包含随机代码,而不是实际的错误代码。在这个版本中,修改智能卡频道代码,以便发送正确的错误消息。
- BZ#787669
- 在此次更新之前,如果客户端提供错误的密码,服务器会拒绝连接,而不将任何信息记录到 qemu 日志。这个版本修改了 qemu-kvm,以便在客户端提供错误的密码时发送消息"Invalid password"或 "Ticket has expired"。
- BZ#787678
- 在以前的版本中,qemu 没有记录 X.509 文件。因此,没有与证书或密钥相关的输出。这个版本修改了底层代码,以便 X.509 文件的信息现在可用。
- BZ#788444
- 在此次更新之前,spice 服务器库 API 中的"struct sockaddr"代码太短,无法保存较长的 IPv6 地址。因此,报告的 IPv6 地址似乎无法正常工作或不完整。在这个版本中,修改底层代码,以使用 "struct sockaddr_storate" (现在可以拥有完整的 IPV6 地址)。
- BZ#790749
- 在此次更新之前,"SpiceChannelEventInfo"事件的默认生命周期对于 "main_dispatcher_handle_channel" 事件太短。因此,在为光标和显示频道释放了 Red HatsStream 后,可以访问空闲的内存。在这个版本中,分配 "SpiceChannelEventInfo" 事件以及分配 "RedsStream" 事件,并在 "DESTROY" 事件后取消分配它。
- BZ#813826
- 在此次更新之前,显示驱动程序可能会向包含视频帧的 spice 服务器发送位映射,但比之前发送的帧大。因此,较大的帧没有与视频流同步,它们的显示时间可能与其他帧的显示时间不同,而回放应该跳过和中断。在这个版本中,大位映射直接附加到它们包含的视频流中。现在,回放是平稳的,不再中断。
功能增强
- BZ#758091
- 在此次更新之前,无法通过网络重定向 USB 设备。在这个版本中,为 spice-server 添加了 USB 重定向支持。
5.310. spice-xpi
5.310.1. RHEA-2012:0956 - spice-xpi 增强更新
功能增强
- BZ#752090
- SPICE Firefox 扩展现在可以处理来自 Red Hat Enterprise Virtualization 门户的请求,以启用或禁用将 Ctrl+Alt+Delete 组合传递给客户端操作系统,并将这些请求传递给 SPICE 客户端。
- BZ#641828
- SPICE Firefox 扩展现在可以处理来自 Red Hat Enterprise Virtualization 门户的请求,以启用或禁用到客户机操作系统的智能卡透传,并将这些请求传递给 SPICE 客户端。
- BZ#807303
- SPICE Firefox 扩展现在可以处理来自 Red Hat Enterprise Virtualization 门户的请求,以启用或禁用到客户端操作系统的本地 USB 重定向,并将这些请求传递给 SPICE 客户端。
- BZ#747313
- SPICE Firefox 扩展现在可以处理来自 Red Hat Enterprise Virtualization 门户的请求,以启用或禁用对客户机操作系统的一些图形影响,并将这些请求传递给 SPICE 客户端。禁用这些效果可以提高 WAN 的性能。
- BZ#790416, BZ#823578
- SPICE Firefox 扩展现在可以正确编写用于 SPICE 会话的 SSL 频道名称。在此次更新之前,只为频道名称 "main" 和 "inputs" 删除前缀 "s"。改进包括从所有 SSL 频道名称中删除前缀 "s"。
- BZ#813231
- Red Hat Enterprise Linux 6.3 包括了一个改进的 SPICE 客户端,称为 remote-viewer。在这个版本中,spice-xpi 软件包被改为需要改进的客户端,而不是需要 spice-client 软件包。因此,当安装或升级 spice-xpi 时,会安装 virt-viewer 软件包(包含 remote-viewer 客户端),而不是 spice-client 软件包。可以通过 update-alternatives 机制选择 spice-xpi 使用的客户端。
- BZ#753155
- 现在,SPICE Firefox 扩展在使用 JavaScript 和 spice-xpi 运行的命令行进程(例如 spice-xpi-client)从网页调用 spice-xpi 函数时提供日志消息。每当网页调用 spice-xpi 函数时,会将 DEBUG 级别消息写入到日志中。它包括传递给 spice-xpi 的所有变量。默认情况下,日志被写入 "~/.spicec" 目录中的 "spice-xpi.log" 文件;但是,日志位置可以通过 "/etc/spice/" 目录中的 "logger.ini" 文件中的设置来更改。
5.311. squid
5.311.1. RHBA-2012:1290 - squid 程序漏洞修复更新
程序错误修复
- BZ#853053
- 由于 ConnStateData::noteMoreBodySpaceAvailable ()函数中的一个错误,squid 的子进程在遇到失败的断言时中止。已提供了一个上游补丁来解决这个问题,squid 子进程不会在上述场景中中止。
- BZ#852863
- 由于上游补丁,它重命名了 HTTP 标头控制从 "Proxy-Connection" 到 "Connection" 的持久性连接,NTLM 直通身份验证无法正常工作,从而防止登录。在这个版本中,在 squid.conf 文件中引入了新的 "http10" 选项,该文件可用于启用补丁中的更改。默认情况下,这个选项被设置为 "off"。当设置为 "on" 时,NTLM 直通身份验证可以正常工作,从而允许登录尝试成功。
- BZ#852861
- 当禁用 IPv6 协议时,squid 会尝试处理包含 IPv6 地址的 HTTP GET 请求,squid 子进程因为信号 6 而终止。这个程序错误已被解决,这些请求现在可以按预期处理。
- BZ#855330
- 因为与原始服务器成功重新验证,在存储过时的响应成为全新的情况下,旧的 "stale if hit" 逻辑不会被考虑。因此,返回不正确的警告信息。在这个版本中,squid 不再在上述场景中将元素标记为过时,从而解决了这个问题。
5.312. sssd
5.312.1. RHBA-2012:0747 - sssd 程序错误修复和功能增强更新
程序错误修复
- BZ#818642
- 如果用户或其组数据指定了非标准 LDAP 属性,则用户身份验证可能会失败,因为处理这些属性不正确。在这个版本中,这些属性会被正确处理,用户身份验证现在可以正常工作。
- BZ#773655
- 在以前的版本中,SSSD 在负载过重时无法正确处理 LDAP 身份验证请求故障切换,请求可能会失败,并显示系统错误。如果在故障转移服务处理第一个请求之前发送第二个身份验证请求,则会发生无效的 LDAP URI 值。在这个版本中,底层代码已被修改,以确保 LDAP URI 字符串保持有效,直到处理 LDAP 身份验证请求为止。
- BZ#801407
- 在重新连接时处理待处理请求的函数正在检查一个未被使用的孤立全局变量。因此,如果 SSSD 从未收到对请求的响应,则对同一信息的请求和后续请求仍会取消处理。在这个版本中,这个功能可以正确地指向对应的 hash 表,即使原始请求失败,相同的请求也会按预期处理。
- BZ#753842
- SSSD 使用 libdbus 进行进程间消息传递。在以前的版本中,当 SSSD 使用一个带有非 UTF-8 字符的用户名时,libdbus 会导致 SSSD 意外终止。使用这个 udpate,SSSD 会检查输入是否包含非 UTF-8 字符,并安全地拒绝具有此类字符的请求。
- BZ#822236
- 在为网络组加快缓存的查找过程中,SSSD 会意外禁用了 nowait 缓存查找的使用。现在,这个功能已被恢复,缓存丢失会降低请求的网络组。
- BZ#801451
- 当使用 IPA 作为 access_provider 时,SSSD 只评估 HBAC (基于主机的访问控制规则)规则,并无法评估 PAM_ACCT_MGMT 阶段中的密码过期策略。因此,使用 SSH 公钥或 GSSAPI 等替代机制登录到 FreeIPA 管理系统的用户没有评估其密码过期状态,即使其帐户已过期或禁用。在这个版本中,SSSD 会检查 IPA access_provider 中的密码过期策略,具有此类帐户的用户无法再在上述场景中登录到该系统。
- BZ#787035
- 当查找缓存的组条目时,glibc 会查询带有固定缓冲区的 SSSD。如果组没有适合缓冲区,SSSD 会返回一个错误,glibc 会返回带有放大的缓冲区。这会导致在查询大型组时出现性能问题,因为多次重试涉及重复联系 SSSD 并从缓存中读取条目。SSSD NSS 客户端现在在内存中保留组条目,直到提供足够大的缓冲区,并且现在可以更快地查找缓存的组条目。
- BZ#803937
- 在 LDAP 客户端迁移后,SSSD 在已经由 GSSAPI 加密的连接上使用启动 TLS 操作。因此,在某些情况下,sssd_be 进程直接与服务器通信,从而意外终止并转储的核心。在这个版本中,迁移过程已被修复,现在它为迁移建立一个新的 TLS 连接,客户端密码迁移更为强大。
- BZ#771706
- 在此次更新之前,SSSD 守护进程会保存 NULL 指针而不是空服务或主机组,如果 IPA 服务器包含带有这些空服务组或主机组的 HBAC 规则,则后会取消引用指针。因此,NULL pointer dereference 可能会中止 SSSD。在这个版本中,会创建一个空数组,而不是使用 NULL pointer。现在,SSSD 会如预期处理空服务组或主机组。
- BZ#742052
- 在此次更新之前,如果使用 RFC2307bis 模式,SSSD 会针对每个 LDAP 组成员执行单个 LDAP 搜索操作。因此,组查找可能需要很长时间,特别是对于具有大型组的环境。在这个版本中,利用"取消引用"功能,允许在一个大型搜索操作中下载所有成员。现在,组查找需要较少的时间。
- BZ#735827
- POSIX 标准要求用户和组名称区分大小写,但用户和组名称在 Windows 和大多数 LDAP 服务器上都是区分大小写的。在 Windows 中匹配的名称比较在 Red Hat Enterprise Linux 中不匹配。这个版本引入了一个新的选项 "case_sensitive",该选项允许以区分大小写的方式处理名称。默认情况下,这个选项被设置为 "true",维护 POSIX 标准设置。
- BZ#735405
- 在此次更新之前,如果一个用户传递给 SSSD,SSSD 守护进程会向 /var/log/secure 日志输出警告信息,在处理 SSSD 登录时,如本地用户。因此,/var/log/secure 日志会填充冗余错误消息。在这个版本中,pam_sss.so 模块接受选项"quiet",用于阻止未知用户消息。有关未知用户的错误消息不再出现在 /var/log/secure 中。
- BZ#766904
- 在以前的版本中,SSSD 在启动时只读取其配置,调试日志的详细程度只能在启动时设置。因此,在尝试跟踪间歇性错误时,用户必须为延长周期启用 noisy 调试日志。重启更改 debug 级别可能需要一些时间,直到它被撤销为止。在这个版本中,在 SSSD 中添加了一个新的命令行工具,以更改实时 SSSD 进程的调试级别。用户现在可以在不重启 SSSD 的情况下更改 SSSD 进程的调试详细程度。
- BZ#785879
- 在此次更新之前,即使不需要配置选项,也会根据需要定义配置选项。另外,在更改某些选项时,配置解析的脚本不会将旧树与新树合并,而是创建新树并删除旧树。因此,配置文件可能会显著更改,注释和空白行会消失,在更新带有脚本的配置文件时,会添加新的选项来解析配置。在这个版本中,减少了所需选项列表,并修改配置解析脚本,以便合并旧的和新树。使用 python 脚本处理后,配置文件现在与原始文件对应。
- BZ#785881
- 在此次更新之前,身份管理供应商使用 keytabs 通过构建预期的主体,然后尝试使用这个主体来针对身份管理服务器进行身份验证。如果构建的主体不在 keytab 中,则整个操作失败,后端无法连接到身份管理服务器。在这个版本中,修改相应的方法来列出使用的 keytab 中的所有主体,并选择最方便的主体。当前的实现使用更灵活的算法在 keytab 中查找合适的主体。
- BZ#785888
- 在此次更新之前,NSS 响应程序使用负缓存来避免重复询问供应商不存在的实体。netgroups 的查询过程无法高效地用于负缓存。在某些情况下,即使不存在的组,也可以返回到客户端。在这个版本中,NSS 响应程序使用特殊标记,表示当对网络组查找使用负缓存时在缓存中找到组。如果缓存中不存在,netgroup 查询不再返回空的 netgroups。
- BZ#785902
- 在此次更新之前,用户实体的 SSSD 缓存存储功能不会检查 loginShell 属性中的空字符串。如果检查遇到此类属性,存储过程会完全失败。当使用代理供应商且使用的 NSS 模块返回一个空的 loginShell 时,更新缓存中的用户记录会失败。在这个版本中,确保代理供应商不会将空字符串传递给函数。
- BZ#791208
- 在此次更新之前,SSSD 预期启用了 POSIX 的 Active Directory 组中的所有用户都是启用了 POSIX 的用户。如果启用了 POSIX 的组成员缺少 POSIX username 属性,SSSD 会在查找该组时返回错误。在这个版本中,忽略非 POSIX 组成员。SSSD 现在返回所有启用 POSIX 的组成员,并静默忽略非 POSIX 成员。
- BZ#795562
- 在此次更新之前,SSSD 服务器列表中的服务器状态会在 30 秒后重置,以允许重试。如果服务器列表的完整循环用时超过 30 秒,则循环将再次启动。使用大型服务器故障转移列表的 SSSD 部署可能会无限期循环。在这个版本中,SSSD 只循环故障切换列表一次。如果 SSSD 在不成功的情况下尝试故障列表中的所有服务器,则操作始终失败。
- BZ#798774
- 在此次更新之前,SSSD 使用扩展 FQDN 和 DNS SRV 来查找故障转移服务器的 DNS SRV 记录。在注册了 FreeIPA 的机器上,在某些情况下,客户端主机名可能与 IPA 域名不匹配。这些客户端无法发现故障转移服务器。当 id_provider 设置为 IPA 时,dns_discovery_domain 会自动设置为 ipa_domain 的值。freeipa 客户端可以自动检测故障转移服务器,即使它们的主机名不是 FreeIPA 域的一部分。
- BZ#799929
- 在此次更新之前,SSSD 仅限于在其 sssd_nss 和 sssd_pam 响应程序进程中使用 1024 个文件描述符。在具有许多用户查找和/或身份验证的非常忙碌的系统上,SSSD 可能会耗尽描述符,并停止响应请求,直到它重启为止。在这个版本中,SSSD 限制增加到 4096 个描述符。用户不应遇到上述资源耗尽。
- BZ#773660
- 在此次更新之前,SSSD 只将 Kerberos 身份验证中的错误记录到自己的调试日志中。现在,除了调试日志外,Kerberos 身份验证过程中发生的错误也会发送到 syslog。
- BZ#772297
- 在此次更新之前,在 SSSD 缓存中存储 netgroups 的功能不会检查 sysdb 中包含的属性,而不是检查来自服务器的 LDAP 响应。如果 netgroup 已被 SSSD 缓存,并且以丢失所有 triples 的方式在服务器上更改,则这个更改没有在缓存中投射。要避免这个问题,请检查保存 netgroup 时 LDAP 响应中缺少的属性。
- BZ#801533
- 在此次更新之前,SSSD 使用错误的计数器,并在 initgroups 操作过程中解析复杂组结构时访问随机内存。随机内存访问终止了 sssd_be 进程。SSSD 现在使用正确的组计数器并正确处理嵌套组结构。
- BZ#771702
- 如果 SSSD 在离线模式下运行,并且请求 Kerberos 密码的配置也使用 KDC 服务器更改密码,SSSD 会在无限循环中发出密码更改请求。具体来说,"sssd_be"进程无限循环,偶尔甚至意外终止。在离线模式下运行时,已修复"sssd_be"进程,使其不会调用密码更改请求。当 SSSD 离线时请求密码更改操作时,操作会正常退出。
- BZ#805034
- 当 LDAP 条目更改了其属性并再次保存到 SSSD 缓存中时,SSSD 可能会访问未定义的变量值。这会导致 SSSD 崩溃。在这个版本中,变量被初始化为一个已知的默认值,SSSD 在更新缓存的条目时不再崩溃。
- BZ#805108
- 由于编程错误,只能在出错时退出循环。当与启用了"knownhostproxy"的系统的连接关闭时,循环不会被退出,并导致 "sss_ssh_knownhostsproxy" 变得无响应。在这个版本中解决了这个程序错误,以便在连接关闭时退出循环,"sss_ssh_knownhostsproxy"不再挂起。
- BZ#768935
- SSSD 配置解析器中的一个错误会导致在删除旧 SSSD 配置域并保存新的 SSSD 配置域时,解析器库会意外终止。因此,使用配置解析器(如 "authconfig")的应用程序会崩溃。在这个版本中修复了 SSSD 配置解析器,使其不再崩溃。
- BZ#814269
- 如果与 LDAP 服务器的通信丢弃数据包,则 OpenLDAP 客户端库(由 SSSD 使用)无法正确超时。因此,SSSD 变得无响应,永远不会响应请求。在这个版本中,为 SSSD 添加了一个计时器,以确保在合理的时间后连接被超时 ; SSSD 不再挂起。
- BZ#759186
- 当 SSSD 服务在检查其存在时退出时,SSSD 可能会访问无效的内存,从而导致崩溃。在这个版本中,当 SSSD 服务退出时,所有待处理的检查都会被取消,SSSD 不再崩溃。
- BZ#746181
- 当将新组添加到 SSSD 缓存中时,不会检查数据库中是否存在具有相同 GID 的另一个组。在这个版本中,在向缓存添加新组时,会删除缓存中已存在的相同 GID 的任何组。
功能增强
- BZ#761582
ldap_sasl_minssf
选项已添加到 SSSD 配置中。这个选项可以用来指定加密 SSSD 的最小级别(或 SSSD 使用的 LDAP 库)应该在与服务器通信时使用。- BZ#739312
- 在 SSSD 配置中添加了新的选项
ldap_chpass_update_last_change
。如果启用了这个选项,SSSD 会尝试将 shadowLastChange LDAP 属性更改为当前时间。请注意,这仅当使用 LDAP 密码策略时(通常由 LDAP 服务器处理),即 LDAP 扩展操作用于更改密码。另请注意,属性必须可由更改密码的用户写入。 - BZ#742509
- sss_cache 工具已添加到 SSSD 软件包中。此工具允许您使缓存的对象过期,它会在请求后马上触发在线续订,并可以从服务器检索它们。
- BZ#742510
- SSSD 有一个可配置的选项,用于为用户、组、网络组和服务设置缓存超时。但是,有些部署对不同的 nsswitch 映射有不同的缓存需要。在这个版本中,SSSD 提供了用来单独配置每个缓存条目的超时的新选项:
entry_cache_user_timeout entry_cache_group_timeout entry_cache_netgroup_timeout entry_cache_service_timeout
用户现在可以基于每个条目定义其缓存超时。有关这些选项的详情,请参考 sssd.conf (5)手册页。 - BZ#753763
- SSSD 更改了 "/etc/sssd/sssd.conf" 文件中的
debug_level
选项的行为。如需更多信息,请参阅 Red Hat Enterprise Linux 6.3 发行注记。 - BZ#744197
- SSSD 现在包含可配置的空闲超时,之后它会断开与 LDAP 服务器的连接,直到收到下一个请求。因此,SSSD 现在是 LDAP 服务器的资源密集型客户端。
- BZ#805924
- SSSD 依赖于它可以从 RootDSE 检索的一些信息来确定服务器的功能。有些服务器不会通过未加密的非验证的 LDAP 绑定提供 RootDSE (违反 LDAP 标准)。在这样的服务器上,SSSD 以稍微降级的模式运行,无法利用 LDAP 服务器的任何增强功能。在这个版本中,SSSD 会进行第二次尝试,在成功完成绑定尝试后检索 RootDSE。SSSD 现在可以利用没有向非验证用户公开 RootDSE 的服务器上的增强功能。
- BZ#728212
- OpenLDAP 服务器有时会报告分页控制可用,即使它被禁用。因此,SSSD 以前尝试使用分页控制功能,且无法执行依赖于此功能的查找,如查找组成员。在这个版本中,在 SSSD 中添加了一个新的选项
ldap_disable_paging
,允许用户手动禁用此类服务器上的分页控制。 - BZ#736150
- 在 SSSD 中为每个条目类型搜索多个基础的功能。
- BZ#761570
- 在这个版本中,增加了对自动挂载映射缓存的支持,作为技术预览。缓存自动挂载映射允许客户端计算机执行挂载操作,即使 LDAP 服务器无法访问。此外,该功能还提高了客户端的性能并降低 LDAP 服务器上的流量。
- BZ#755506
- 要启用
pam_check_host_attr
的行为,用户现在可以设置ldap_access_order = host
和ldap_user_authorized_host
选项来根据 LDAP 中存在此属性启用 access-control。 - BZ#766876
- srchost HBAC 规则的评估可能不可靠,并在登录时造成严重性能问题。在这个版本中,SSSD 默认忽略 HBAC 处理中的 srchost 规则。要启用评估,将新添加的
ipa_hbac_support_srchost
选项设置为true
。 - BZ#753876
- SSSD 现在支持查询 LDAP 和代理供应商的服务映射,用户可以提供并缓存其服务映射。
- BZ#766930
- 在这个版本中,为 SSSD 添加了
override_homedir
选项,它允许用户为主目录属性定义每个客户端覆盖值。 - BZ#785905
- 在此次更新之前,SSSD 调试信息会降级到 wallclock 秒。在调试性能问题时,用户需要在时间戳中实现更高的精度。在这个版本中,SSSD 添加 "debug_microseconds" 选项,以便在调试消息中启用微秒级精度。SSSD 的用户现在有选项在 debug 日志消息中启用 microsecond 精度。
- BZ#785907
- 在 SSSD 配置中添加了新的选项 krb5_canonicalize。当设置为 true 时,它会在 krb5 请求中设置标记,主机和用户主体被规范,并由服务器返回 SSSD。请注意,这个功能需要 Kerberos 版本 1.7 或更高版本。
5.312.2. RHBA-2013:0677 - sssd 程序漏洞修复更新
程序错误修复
- BZ#847969
- 当启用了 ldap_chpass_update_last_change 选项时,shadowLastChange 属性包含秒数,而不是 days。因此,当使用 shadowLastChange 时,系统会提示您更新其过期密码,则 shadowLastChange 不会被更新。然后,用户会继续获得错误,直到它们被锁定到系统之外。在这个版本中,天数存储在 shadowLastChange 属性中,用户可以按预期更改其过期密码。
- BZ#867012
- Kerberos 选项在 krb5 实用程序和具有不同 codepath 的 IPA 供应商中单独加载。代码已在 krb5 中修复,但没有在 IPA 提供程序中修复。因此,当 IPA 用作身份验证提供程序时,Kerberos 票据不会被续订。在这个版本中,Kerberos 选项使用通用 API 加载,并在上述场景中按预期续订 Kerberos 票据。
- BZ#881460
- 当 SSSD 在没有 sudo 支持的情况下构建时,ldap_sudo_search_base 值没有被设置,并且 namingContexts LDAP 属性包含零长度字符串。因此,SSSD 会尝试使用这个字符串设置 ldap_sudo_search_base,并失败。因此,SSSD 无法与 LDAP 服务器建立连接并切换到离线模式。在这个版本中,SSSD 会认为零长度 namingContexts 值与没有值可用的方式相同,从而防止这个程序错误。
5.313. strace
错误修复
- BZ#849052
- 在以前的版本中,strace 工具使用进程启动代码中的 magic breakpoint 来检测和控制进程启动。因此,在某些情况下,%ebx 注册可能会损坏 libc_fork () 函数中的 clone syscall,这可能会导致应用程序在 strace 控制下意外终止并出现分段错误。在这个版本中,将 strace 更改为使用 TRACE{FORK,VFORK,CLONE} ptrace 功能,它提供更干净、更易出错的接口来监控和控制进程在追踪时启动,从而防止了这个错误。
5.314. subscription-manager
程序错误修复
程序错误修复
- BZ#830267
- 在此次更新之前,当 LANG 设置为 ja_JP 时,Subscription 列表在 Firstboot 的 Confirm Subscriptions 页面中为空。这是因为 rhn_review_gui 屏幕和 rshm_confirm_subs 屏幕在日语中具有相同的翻译名称。这个程序错误已被解决,Confirm Subscriptions 页面现在可以在上述情况下正确显示订阅列表。
- BZ#830269
- 当从 Firstboot 中的 Subscription 列表返回时,而不是定向到 Entitlement Platform Registration 页面,当 LANG 设置为 ja_JP 时会显示 Set Up Software Updates 页面。这是因为 rhn_review_gui 屏幕和 rshm_confirm_subs 屏幕在日语中具有相同的翻译名称。这个 bug 已被修复,在上述场景中,从订阅列表页面返回可以正常工作。
程序错误修复
- BZ#830267
- 在此次更新之前,当 LANG 设置为 ja_JP 时,Subscription 列表在 Firstboot 的 Confirm Subscriptions 页面中为空。这是因为 rhn_review_gui 屏幕和 rshm_confirm_subs 屏幕在日语中具有相同的翻译名称。这个程序错误已被解决,Confirm Subscriptions 页面现在可以在上述情况下正确显示订阅列表。
- BZ#830269
- 当从 Firstboot 中的 Subscription 列表返回时,而不是定向到 Entitlement Platform Registration 页面,当 LANG 设置为 ja_JP 时会显示 Set Up Software Updates 页面。这是因为 rhn_review_gui 屏幕和 rshm_confirm_subs 屏幕在日语中具有相同的翻译名称。这个 bug 已被修复,在上述场景中,从订阅列表页面返回可以正常工作。
错误修复
- BZ#829426
- 以前由 yum 插件提供的消息不足。yum 插件已被改进来显示用户的详细信息和警告消息(例如,没有使用订阅时,订阅已过期或未激活)。
功能增强
- BZ#768419
- 用户界面使用通用搜索,且不关联任何工作流。在这个版本中,UI 被重构为专注于服务级别。用户选择服务级别后,其余功能将使用该服务级别来简化工作流,使 UI 更直观。
- BZ#767620
- 以前,订阅管理器假设用户只从订阅服务请求内容(通过 redhat.repo)。希望使用自己的源(和仓库)的用户需要手动禁用由 Subscription Manager 提供的仓库。在这个版本中,添加了一个新的配置选项,该选项会禁用创建仓库文件。这个选项 "manage_repos=0" 可以在 "/etc/rhsm/rhsm.conf" 文件中配置。用户现在可以使用 subscription-manager 进行订阅管理,而不能使用内容访问功能。
- BZ#749433
- 这个版本提供了一个将 RHN Classic 客户迁移到基于证书的 RHN 的新工具:"rhn-migrate-classic-to-rhsm"。有关此工具的更多信息,请参阅 Red Hat Enterprise Linux 6 部署指南中的"将系统从 RHN Classic 迁移到基于证书的 Red Hat 网络"。
- BZ#782433
- 要针对客户门户网站注册,用户必须提供用户名和密码凭证,然后可以记录或保存在历史记录集合中,并可能导致安全问题。随着订阅资产管理器的引入,用户现在可以使用激活码替换用户名/密码凭证。
程序错误修复
5.315. Subversion 和 neon
程序错误修复
- BZ#749494
- 在某些类型的合并操作期间,"svn"命令不必要的访问父目录,这可能会被服务器上的授权策略拒绝。SVN 客户端已被修复,不需要此类访问。
- BZ#751321
- 当在 /etc/httpd/conf.d/subversion.conf 文件中配置 "AuthzForceUsernameCase less" 指令时,"mod_authz_svn"模块可能会崩溃,并带有分段错误。在这个版本中,使用 "AuthzForceUsernameCase" 指令时不再发生分段错误。
- BZ#798636
- 由于 neon HTTP 库中的一个错误,在 SVN 客户端上禁用 Server Name Indication (SNI)支持。在这个版本中,升级 neon 库,SNI 现在可以正常工作。
5.316. sudo
5.316.1. RHSA-2012:1081 - Moderate: sudo 安全更新
安全修复
- CVE-2012-2337
- sudo 中的网络匹配代码处理用户规范配置指令中列出的多个 IP 网络的方式中发现了一个安全漏洞。有权在特定主机上使用 sudo 运行命令的用户,可以利用此缺陷绕过预期的限制,并在任何网络规格不匹配的主机上运行这些命令。
5.316.2. RHBA-2012:1142 - sudo 程序错误修复更新
错误修复
- BZ#840872
- 由于回归问题,sudo shell 中命令的挂起和恢复操作无法正常工作。因此,sudo shell 可能会变得无响应。现在,提供了一个补丁来解决这个问题,在 sudo shell 中可以暂停并恢复命令。
5.316.3. RHBA-2012:0905 - sudo 程序错误修复更新
程序错误修复
- BZ#604297
- 在以前的版本中,"-c"检查使用非常严格的策略,"visudo -s"将未使用的别名视为错误。这个版本修改了此行为,"visudo -s"只警告未使用的别名。
- BZ#667120
- 在以前的版本中,sudo 中的内核转储在代码中被禁用。管理员无法控制内核转储。在这个版本中,修改代码,以便不再禁用内核转储。现在,管理员可以使用 /proc/sys/fs/suid_dumpable 文件控制 sudo 中的内核转储,它是一个 SUID 二进制文件。
- BZ#697775
- 在以前的版本中,在操作文件时,"sudoedit"使用错误的 SELinux 上下文。如果 sudoers 规则指定了允许的 sudoedit 的 SELinux 上下文,则在 SELinux 处于 enforcing 模式时无法编辑文件。在这个版本中,修改代码以允许转换到正确的 SELinux 上下文。现在,可以使用正确的 SELinux 上下文编辑该文件。
- BZ#751680
- 在以前的版本中,sudo 中的别名检查代码会导致假的负和正面。在语法上声明了正确的 sudoers 文件来错误,且不会检测到未使用的别名。这个版本修改了检查代码,以消除假的正数和负数。
- BZ#760843
- 在以前的版本中,如果 nscld.conf 文件包含 sudo 特定的配置指令,则无法启动 nslcd 服务。在配置了 LDAP sudoers 源时,nslcd 守护进程无法运行。在这个版本中,使用单独的 sudo-ldap 配置文件来配置 LDAP sudoers 源。
- BZ#769701
- 在以前的版本中,如果在 select ()调用前马上收到 SIGCHLD 信号,sudo 可能会错误地处理信号,而 sudo 进程在收到 SIGCHLD 信号后变得无响应。在这个版本中,修改底层代码以提高信号处理。
- BZ#797511
- 在以前的版本中,getgrouplist () 函数检查调用者的组成员资格,而不是指定用户的成员。作为 Consequence,sudo 列出的权限授予了调用用户的任何组的权限是尝试查看所有允许的和禁止的命令,这两个命令都为调用"-l"选项的用户以及"-U"选项指定的用户。在这个版本中,修改 getgrouplist ()函数,以正确地检查预期用户的组成员资格。
- BZ#806095
- 在以前的版本中,sudo 在错误的地方使用 "sudo -s" 或 "sudo -" 命令中的非复用字符,并干扰授权过程。一些有效的命令没有被允许。现在,在执行命令前,非复用字符立即进行转义,不再干扰授权过程。
- BZ#810147
- 在以前的版本中,sudo 工具解析指定组错误地作为用户别名的 Runas 别名。因此,别名似乎被忽略。在这个版本中,修改代码来解释这些别名,Runas 组别名会如预期满足。
- BZ#810326
- 在以前的版本中,sudo word wrapping 功能会导致输出嵌套在终端宽度边界上,即使在输出到其他命令的输出中也是如此。这个版本修改了底层代码,以检测输出是否为管道,并禁用本例中的单词 wrapping 功能。
- BZ#810372
- 在以前的版本中,在连接到轻量级目录访问协议(LDAP)服务器时不会使用 "tls_checkpeer" 选项。无法禁用 "tls_checkpeer" 选项。这个版本修改了底层代码,以便现在可以禁用该选项。
5.316.4. RHBA-2013:0619 - sudo 程序错误修复更新
错误修复
- BZ#891593
- 在以前的版本中,sudo 工具直接执行命令并替换 sudo 进程。但是,在之前的更新中,sudo 中的命令内部执行方法已更改,sudo 现在作为子进程运行命令。这个行为的变化会导致自定义脚本出现问题。在这个版本中,添加了 cmnd_no_wait 选项,恢复旧行为,并在 sudo 进程中直接执行命令,从而修复这个程序错误。
5.317. sysfsutils
5.317.1. RHBA-2012:1453 - sysfsutils 程序错误修复更新
错误修复
- BZ#671554
- 在此次更新之前,sysfs 目录不会如预期关闭。因此,libsysfs 库可能会在频繁打开和关闭 sysfs 目录的长时间运行程序中泄漏内存。这个版本会修改底层代码来按预期关闭 sysfs 目录。
5.318. syslinux
5.318.1. RHBA-2012:0894 - syslinux 程序错误修复更新
程序错误修复
5.319. sysstat
程序错误修复
- BZ#690562
- 在此次更新之前,cifsiostat 工具没有在 CIFS 文件系统上报告正确打开的文件数。应用了补丁以确保 cifsiostat 实用程序在 CIFS 文件系统上输出正确打开的文件数。
- BZ#694759
- 在此次更新之前,"iostat -n"命令不会列出带有过度长名称的 NFS 共享。底层源代码已被修改,以确保命令列出所有可用的 NFS 共享。
- BZ#771594
- 在以前的版本中,如果设置为高值,则 nr_requests 可能溢出。因此,"iostat"和 "sar -d" 命令会从 /proc/diskstats 文件中报告溢出的值,而不是正确的值。底层源代码已被修改,以确保"iostat"和"sar -d"命令会输出正确的信息。
- BZ#801453
- 在以前的版本中,即使脚本成功完成,sa2 脚本也会返回一个错误代码。底层源代码已被修改,因此 sa2 脚本现在在成功完成时返回正确的代码。
- BZ#801702
- 如果设备次要号码大于 256,运行带有"-p"选项的"sar"命令将无法使用 "pretty-print" 设备名称。设备名称被错误地显示为 "nodev" 或 "dev-[major number]-[minor number]"。在这个版本中,IOC_MAXNIMOR 常量的值已被增加,次要号码大于 256 的设备现在可以在"sar"输出中正确显示。
功能增强
- BZ#674648
- 在以前的版本中,在 64 位 PowerPC 构架中,mpstat 工具显示所有处理器,包括具有零活动的忙碌处理器和空闲的处理器。这个版本为 mpstat 工具"-P ON" 引入了一个新的选项。如果使用这个选项,mpstat 仅列出在线处理器。
- BZ#693398
- 有了这个更新,SADC_OPTIONS 配置变量已从位于 /etc/init.d/ 目录中的 sysstat 初始化脚本移到 /etc/sysconfig/ 目录中的 sysstat 配置文件。另外,在 sadc 手册页中添加了一个有关 -S 选项的备注。
- BZ#766431
- 在以前的版本中,如果符号链接被指定为输入参数,iostat 工具不会显示目标设备信息。在这个版本中,增加了对符号链接的支持,作为 iostat 实用程序中的输入参数。
5.320. system-config-date-docs
错误修复
- BZ#691572
- 在此次更新之前,帮助文档包含过时的屏幕截图,文本没有正确反映用户界面元素。这个版本包含更新的屏幕截图,并正确记录用户界面。
5.321. system-config-kdump
程序错误修复
- BZ#590057
- 在以前的版本中,system-config-kdump 工具无法正确处理 kexec 服务状态。因此,system-config-kdump 服务可能会在启动时失败。在这个版本中,同步 system-config-kdump 和 kdump 服务激活。现在,服务会如预期启动、停止或重启。
- BZ#609487
- 在以前的版本中,system-config-kdump 工具使用同步 dbus 命令。这个版本使用异步 dbus 命令。现在,system-config-kdump 工具会等待在后台运行的进程。
- BZ#626787
- 在以前的版本中,system-config-kdump 使用 file-chooser 按钮并通过文本框输入来指定 kdump 的路径,这可能会导致混淆。这个版本只使用文本框输入,并告知用户复制的 kdump 的位置。
- BZ#629483
- 在以前的版本中,"About"对话框使用不正确的版本号。在这个版本中,修改对话框,现在显示正确的版本号。
- BZ#632999
- 在以前的版本中,不是 POT 文件中的所有字符串都标记为本地化。因此,无法转换几个对话框。此更新标记源文件中缺少字符串,使 POT 文件完成。
- BZ#642751
- 在以前的版本中,如果 kdump.conf 文件包含 "core_collector cp" 命令,带有错误消息 "Core collector must begin with makedumpfile multiplied,且无法关闭"对话框。在这个版本中,修改底层代码,因此对话框只显示一次。
- BZ#653450
- 在以前的版本中,几个 system-config-kdump 信息包含错误打印。在这个版本中,修改字符串和所有信息都正确。
- BZ#676777
- 在以前的版本中,system-config-kdump 工具没有被构建来接受多个值。因此,扩展的 crashkernel 语法没有被正确处理。这个版本修改了底层代码,以便 system-config-kdump 现在可以读取扩展的语法,但始终以基本语法写入。
- BZ#740155
- 在以前的版本中,当 /proc/iomem 文件中的值无法在 64 位 PowerPC 平台上读取时,system-config-kdump 工具会错误地显示错误消息。在这个版本中,只会显示信息信息。
- BZ#754059
- 在以前的版本中,system-config-kdump 工具使用错误的格式来保存目标类型 nfs。在这个版本中,nfs 网络目标会被正确保存。
- BZ#813337
- 在以前的版本中,system-config-kdump 工具无法在 IBM S/390 系统上配置 zipl。这个更新会修改 zipl 帮助程序脚本,以便可以正确地更新所有配置。
- BZ#821410
- 在以前的版本中,错误消息 "module" 对象没有属性 "show_call_call_error_message" 包含错误打印。在这个版本中,删除了第二个"call"。
- BZ#819814
- 在以前的版本中,system-config-kdump 工具包含没有完全转换的各种区域。在这个版本中,为支持的语言添加了缺少的翻译。
功能增强
5.322. system-config-keyboard
功能增强
- BZ#771389
- 在此更新之前,Red Hat Enterprise Virtualization Hypervisor 从 system-config-keyboard 软件包中拉取了太多依赖项,以支持非US 键盘的键盘选择功能。在这个版本中,添加了包含核心 python 库的 system-config-keyboard-base 软件包。
5.323. system-config-language
错误修复
- BZ#819811
- 在非英语区域中使用 system-config-language 时,GUI 中的某些消息不会被翻译。因此,非英语用户会看到未转换的信息。在这个版本中,所有消息字符串都已翻译。
5.324. system-config-lvm
程序错误修复
- BZ#791153
- system-config-lvm 工具错误地在"Unitialized Entities"组中显示所有 LVM 设备。这可能会使用户可以错误地尝试重新初始化逻辑卷的用户。这个更新修改 system-config-lvm,只有在逻辑卷确实未初始化时,才会将 LVM 设备显示为"Unitialized Entities"。
- BZ#708029
- system-config-lvm 实用程序使用 fdisk 作为分区操作的后端。fdisk 工具不支持可扩展固件接口(EFI) GUID 分区表(GPT),因此试图在 EFI GPT 上初始化物理分区会失败。但是,system-config-lvm 之前无法正确处理这种情况,操作会失败且没有错误消息。在这个版本中,修改底层代码,使 system-config-lvm 现在在这种情况下提供了一个有效的错误消息。
- BZ#726830
- system-config-lvm 工具没有正确处理物理分区,格式为 "*p[0-9]",例如 "loop0p0"。因此,当尝试初始化此类分区时,system-config-lvm 会意外终止。这个版本修改了底层代码,以便 system-config-lvm 不再会在这种情况下崩溃。但是,system-config-lvm 仍然无法处理这样的分区名称,因此无法初始化这些分区。
- BZ#815921
- system-config-lvm 工具使用 dmsetup 工具从设备映射器多路径获取信息。dmsetup 的输出由脚本解析,但将 device-mapper-multipath 更新至版本 1.02.74,此输出已更改。因此,当与系统中的 Device-Mapper 多路径一起使用时,system-config-lvm 会意外终止。在这个版本中,修改 system-config-lvm 以使用用户指定的输出,该输出在不同的版本间不会改变。system-config-lvm 工具现在可以正常工作。
5.325. system-config-printer
程序错误修复
5.326. system-config-users
程序错误修复
5.327. systemtap
5.327.1. RHBA-2012:1337 - systemtap 程序错误修复更新
错误修复
- BZ#859832
- 在以前的 systemtap 版本中,nfsd tapset 中的 nfsd.open probe-alias 被称为 "access" 参数,稍后被重命名为内核中 "may_flags"。因此,发生语义错误,然后 stap 命令无法执行。在这个版本中,nfsd.open probe-alias 检查两个名称下都用于设置 "access" 脚本级变量,而 stap 现在可以在上述场景中按预期工作。
- BZ#751478
- systemtap 软件包已升级到上游版本 1.7,它提供很多程序错误修复和增强。
程序错误修复
- BZ#588359
- SystemTap 无法为 PowerPC 和 IBM System z 平台完全实现回溯追踪,并且后端追踪并不总是信息。现在,对 PowerPC 和 IBM System z 后端的支持有所改进。
- BZ#639338
- SystemTap 支持代码中的自定义功能 "deref ()" 和 "store_deref ()" 无法正确处理 IBM System z 平台的内存访问,一些 SystemTap 测试可能会失败。现在,SystemTap 运行时使用这些功能的内核版本。
- BZ#738365
- usymbols.exp 测试没有正确广播它访问的数据结构的一些参数,然后在 PowerPC 和 IBM System z 平台上失败。这个版本修改了测试,以便在 PowerPC 和 IBM System z 平台上成功运行。
- BZ#752170
- SystemTap 转换器没有通过包含某些类型操作对象位置信息的用户空间标记解析代码。现在,SystemTap 转换器了解额外的 x86_64 地址模式。
- BZ#752568
- 编译服务器需要很长时间才能将脚本转换为检测并将其发送回来。现在,详细选项提供有关编译器服务器进度的信息,以验证编译器服务器是否按预期工作。
- BZ#754567
- systemtap-client 脚本功能已折叠到 systemtap 软件包中,消除了 systemtap-client 软件包。因此,只使用客户端的 systemtap 安装不可用。这个更新提供了 systemtap-client 软件包,以允许只使用客户端的 systemtap 安装。
- BZ#790091
- stap-serverd 守护进程在 stap-server User ID 下运行时硬编码了一些 rlimit 值。如果超过 rlimit 值,守护进程会失败。现在,stap-serverd 是指存储在 ~/stap-server/.systemtap/rc 中的配置信息。
- BZ#791243
- 对于某些内核版本,没有正确设置 tcp.sendmsg 探测别名变量 sock。在探测 tcp.sendmsg 时使用 sock 变量的脚本没有编译。现在,sock 变量的 tcp.sendmsg 别名初始化处理内核结构中的这些变化。
- BZ#812871
- nd_syscall 测试使用几个应用了第六个参数的探测。因此,如果功能位于堆栈中,这些探测可能会在不支持访问第六个参数的 IBM System z 平台上失败。现在,IBM System z 运行时的访问代码已被改进,以允许访问堆栈中的参数。
- BZ#813323
- 如果只有 stapusr 组成员资格的用户尝试从 /lib/modules/'uname -r'/systemtap 目录中运行未签名的预编译脚本,则 SystemTap 不会运行预先编译的脚本。现在,SystemTap 提高了 systemtap 目录中预编译脚本的权限。
功能增强
- BZ#798754
- 在这个版本中,添加了 enospc.stp 脚本,以便在文件系统满时获取直接信息。
5.328. tar
5.328.1. RHBA-2012:1372 - tar 程序漏洞修复更新
错误修复
- BZ#841308
- 在此次更新之前,当使用选项"-sparse"和"--posix"选项创建此存档时,tar 无法匹配并从存档中提取给定文件名。在这个版本中,修改底层代码以匹配并按预期提取给定名称。
5.328.2. RHBA-2012:0849 - tar 程序错误修复和功能增强更新
程序错误修复
- BZ#653433
- 在此次更新之前,tar 可能会以分段错误和返回的代码 139 终止。当 tar 用于根目录的增量备份时,如果使用了 "--listed-incremental" 选项(短选项 "-g")),因为目录名称解析不正确。现在,根目录名称会被正确解决,在这种情况下备份过程会成功。
- BZ#656834
- 如果使用"--posix"和"-sparse"选项(PAX 模式)运行,tar 工具会错误地归档稀疏文件(大约 100 个字符)。此类文件以误导名称存储在 tar 存档中,因为没有为文件名分配足够空间。后续解包软件包会导致混淆的输出文件名。在这个版本中,在这种情况下为文件名分配更多空间,问题不再发生。
- BZ#698212
- 如果使用"--remove-files"选项运行 tar,且归档目录包含文件以及指向该文件的符号链接,则文件将被删除,但不会备份。归档进程终止并显示错误。在这个版本中,该文件在此场景中按预期归档。
- BZ#726723
- tar 解包进程可能会进入无限循环,并在使用 "--keep-old-files" 选项运行时消耗大量 CPU 资源。当解包带有符号链接和符号链接目标的归档时,会出现这种情况。在这个版本中,代码已被修改,以便在这种情况下正确处理符号链接。
- BZ#768724
- tar 工具使用 glibc fnmatch ()函数来匹配文件名。但是,当归档文件名包含默认区域设置不支持的字符时,函数无法与文件名匹配。因此,该文件不会被解包。在这个版本中,tar 使用 gnulib fnmatch (),文件名与预期匹配。
- BZ#782628
- 如果使用"-remove-files"选项运行 tar,则在激活附加模式时无法删除存档文件( -r 选项)。在这个版本中,带有 "--remove-files" 选项的 tar 现在会调用在归档后删除文件的功能,选项可以正常工作。
- BZ#688567
- 当使用 "--update" 和 "-directory" 选项运行时,tar 工具无法更新目标归档,返回 "Cannot stat: No such file or directory" 错误消息,且目录内容没有被归档。有了这个更新,带有这两个选项的 tar 命令现在可以正常工作。
- BZ#799252
- 当使用"--keep-old-files"选项提取存档时,tar 会静默跳过现有的文件。在这个版本中,tar 会返回错误代码 2 以及在这种情况下的警告。此外,还添加了"--skip-old-files"选项,以允许前面的"--keep-old-files"行为而不返回已存在的文件的错误。
- BZ#807728
- 当使用 "--list" (-r)选项运行时,tar 会返回 "tar: write error" 消息,即使执行成功也是如此。如果命令使用带有管道的重定向,并且重定向无法处理整个 tar 命令输出,则会出现这种情况。在这个版本中,在这种情况下不再返回假的消息。
功能增强
- BZ#760665
- 当归档包含 0 块的稀疏文件时,归档过程会遇到严重的性能问题,因为 tar 对不存在的数据扫描稀疏文件。在这个版本中,stat ()调用检测到包含 0 块的稀疏文件,对于此类文件现在,归档过程会更快。
5.329. tboot
5.329.1. RHBA-2012:0771 - tboot 程序错误修复更新
程序错误修复
5.330. tcpdump
5.330.1. RHBA-2012:0414 - tcpdump 程序漏洞修复更新
错误修复
- BZ#684005
- 在以前的版本中,tcpslice 工具的"start-time"命令行参数被错误地解析。因此,实用程序在每次使用命令行参数时都会生成错误消息。在这个版本中,"start-time"命令行参数会被正确解析,只有在以不正确的格式定义了"start-time"时,才会显示错误消息。
5.331. telnet
5.331.1. RHBA-2012:1312 - telnet 程序漏洞修复更新
错误修复
- BZ#860012
- 在此次更新之前,telnetd 守护进程不会重复使用之前在 /var/run/utmp 文件中创建的条目。因此,/var/run/utmp 会增加并包含空条目,最终导致各种其他问题。在这个版本中,telnetd 已被修复,以便重复使用 /var/run/utmp 中的条目,的行为与其他使用该文件的程序一样,从而防止这个程序错误。
5.332. thunderbird
安全修复
- CVE-2012-3982,CVE-2012-3988,CVE-2012-3990,CVE-2012-3995,CVE-2012-4179,CVE-2012-4180,CVE-2012-4181,CVE-2012-4182,CVE-2012-4183,CVE-2012-4185,CVE-2012-4186,CVE-2012-4187, CVE-2012-4182,CVE-2012-4182,CVE-
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2012-3986,CVE-2012-3991
- Thunderbird 中的两个漏洞可能会允许恶意内容绕过预期的限制,这可能会导致信息泄露或 Thunderbird 执行任意代码。请注意,信息披露问题可能会与其他漏洞结合使用,以实现任意代码执行。
- CVE-2012-1956,CVE-2012-3992,CVE-2012-3994
- 在 Thunderbird 中的位置对象实现中发现了多个漏洞。恶意内容可用于执行跨站点脚本攻击、脚本注入或欺骗攻击。
- CVE-2012-3993,CVE-2012-4184
- 在 Chrome Object Wrappers 的实施方式中发现了两个漏洞。恶意内容可用于执行跨站点脚本攻击,或导致 Thunderbird 执行任意代码。
安全修复
- CVE-2012-4193
- 在 Thunderbird 处理安全包装程序的方式中发现了一个安全漏洞。恶意内容可能会导致 Thunderbird 使用运行 Thunderbird 的用户的权限执行任意代码。
安全修复
- CVE-2012-4194,CVE-2012-4195,CVE-2012-4196
- 在 Thunderbird 中的位置对象实现中发现了多个漏洞。恶意内容可用于执行跨站点脚本攻击、绕过同一原始策略,或者导致 Thunderbird 执行任意代码。
安全修复
- CVE-2012-1948,CVE-2012-1951,CVE-2012-1952,CVE-2012-1953,CVE-2012-1954,CVE-2012-1958,CVE-2012-1962,CVE-2012-1967
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2012-1959
- 恶意内容可能会绕过相同的安全包装程序(SCSW),并使用 chrome 特权执行任意代码。
- CVE-2012-1955
- 在名为 history.forward 和 history.back 的方式中存在一个缺陷,攻击者可以把一个恶意的 URL 纳入一个恶意的 URL,可能会欺骗用户查看可信内容。
- CVE-2012-1957
- Thunderbird 用来解析源(如 RSS)的解析器实用程序类中的一个缺陷,攻击者可以利用运行 Thunderbird 的用户的特权执行任意 JavaScript。此问题可能影响其他 Thunderbird 组件,或者假定类返回清理输入的附加组件。
- CVE-2012-1961
- Thunderbird 处理 X-Frame-Options 标头的方式存在缺陷,允许恶意内容执行 clickjacking 攻击。
- CVE-2012-1963
- Thunderbird 生成内容安全策略(CSP)报告的方式中的一个缺陷,允许恶意内容来窃取一个受害者的 OAuth 2.0 访问令牌和 OpenID 凭证。
- CVE-2012-1964
- Thunderbird 处理证书警告的方式中存在一个缺陷,允许中间人攻击者创建精心设计的警告,从而可能会欺骗用户接受任意证书。
安全修复
- CVE-2013-0744,CVE-2013-0746,CVE-2013-0750,CVE-2013-0753,CVE-2013-0754,CVE-2013-0762,CVE-2013-0766,CVE-2013-0767,CVE-2013-0769
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-0758
- 在实现 Chrome Object Wrappers 的方式中发现了一个安全漏洞。恶意内容可用于导致 Thunderbird 通过 Thunderbird 中安装的插件来执行任意代码。
- CVE-2013-0759
- Thunderbird 显示 URL 值的方式中存在一个缺陷,允许恶意内容或用户执行恶意攻击。
- CVE-2013-0748
- 在 Thunderbird 中实现特定 JavaScript 功能的方式中发现了一个信息披露漏洞。攻击者可以利用此漏洞绕过地址空间布局随机化(ASLR)和其他安全限制。
安全修复
- CVE-2012-4214,CVE-2012-4215,CVE-2012-4216,CVE-2012-5829,CVE-2012-5830,CVE-2012-5833,CVE-2012-5835,CVE-2012-5839, CVE-2012-5840 ,CVE-2012-5840,CVE-2012-5842
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2012-4202
- 在 Thunderbird 处理 GIF (图形交换格式)镜像的方式中发现了一个缓冲区溢出缺陷。包含恶意 GIF 镜像的内容可能会导致 Thunderbird 崩溃,或者可能使用运行 Thunderbird 的用户的特权执行任意代码。
- CVE-2012-4207
- 在 Thunderbird 解码 HZ-GB-2312 字符编码的方式中发现了一个安全漏洞。恶意内容可能会导致 Thunderbird 使用不同内容的权限运行 JavaScript 代码。
- CVE-2012-4209
- 在 Thunderbird 中的 location 对象实现中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来允许通过插件加载限制的内容。
- CVE-2012-5841
- 在实施跨原始打包程序的方式中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来执行跨站点脚本攻击。
- CVE-2012-4201
- 在 Thunderbird 中的 evalInSandbox 实现中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来执行跨站点脚本攻击。
安全修复
- CVE-2012-1970,CVE-2012-1972,CVE-2012-1973,CVE-2012-1974,CVE-2012-1975,CVE-2012-1976,CVE-2012-3956,CVE-2012-3957,CVE-2012-3958,CVE-2012-3959, CVE-2012-1976 , CVE-2012-3956 , CVE-2012-1973 , CVE-2012-1974 , CVE-CVE-2012-3960,CVE-2012-3961,CVE-2012-3962,CVE-2012-3963,CVE-2012-3964
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2012-3969,CVE-2012-3970
- 包含恶意可扩展向量图形(SVG)镜像文件的内容可能会导致 Thunderbird 崩溃,或者可能使用运行 Thunderbird 的用户的权限执行任意代码。
- CVE-2012-3967,CVE-2012-3968
- Thunderbird 使用 WebGL 呈现某些镜像的方式发现了两个漏洞。恶意内容可能会导致 Thunderbird 崩溃,或者在某些情况下,可能会执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2012-3966
- 在 Icon Format (ICO)文件中 Thunderbird 解码嵌入式位映射镜像的方式中发现了一个安全漏洞。包含恶意 ICO 文件的内容可能会导致 Thunderbird 在某些情况下崩溃,或者在某些情况下可能会执行具有运行 Thunderbird 用户特权的任意代码。
- CVE-2012-3980
- 在 Thunderbird 错误控制台处理"eval"命令的方式中发现了一个安全漏洞。在查看恶意内容时,在错误控制台中运行"评估"可能会导致 Thunderbird 使用运行 Thunderbird 的用户的特权执行任意代码。
- CVE-2012-3972
- 在 Thunderbird 使用 XSLT 的格式编号功能(Extensable Stylesheet Language Transformations)的方式中发现了一个越界内存读取缺陷。恶意内容可能会导致信息泄漏,或导致 Thunderbird 崩溃。
- CVE-2012-3978
- 在 Thunderbird 中的 location 对象实现中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来允许加载受限的内容。
安全修复
- CVE-2013-0775, CVE-2013-0780,CVE-2013-0782,CVE-2013-0783
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-0776
- 它发现,在取消代理服务器的身份验证提示后,地址条继续显示请求的站点地址。攻击者可以利用此漏洞通过欺骗用户查看可信内容来对网络进行攻击。
5.333. tog-pegasus
程序错误修复
- BZ#796191
- 在以前的版本中,通过 Single Chunk Memory Objects (SCMO)实现,嵌入式实例中的空字符串值会在嵌入的 CIMInstance 转换为 SCMOInstance 转换过程中转换为 null 值。这是因为使用 _setString ()函数,如果字符串为空,则将字符串 size 设为 0。这会破坏现有提供程序的功能。向后移植上游补丁使用 _SetBinary () 函数,该函数已在设置普通的 SCMOInstance 的字符串值时使用。
- BZ#799040
- 在以前的版本中,tog-pegasus 软件包不提供通用 "cim-server",该软件包可能需要不需要将 CIM 服务器作为依赖项进行特定实施的软件包。在这个版本中,tog-pegasus 软件包提供了一个通用的 "cim-server",此类软件包可能需要。
5.334. tomcat6
5.334.1. RHBA-2013:0137 - tomcat6 程序错误修复更新
错误修复
- BZ#852868
- 当 Web 应用程序在编译 JSP 时使用自己的类加载程序时,可能会出现 Tomcat WebappClassLoader 中的死锁。在这个版本中,同步程序错误和外部类加载程序不再干扰 WebappClassLoader。
5.334.2. RHBA-2012:0945 - tomcat6 程序错误修复和安全更新
程序错误修复
- BZ#697968
- 在以前的版本中,在某些情况下,如果将 "LANG=fr_FR" 或 "LANG=fr_FR.UTF-8" 设置为环境变量,或者在 64 位 PowerPC 系统上"/etc/sysconfig/tomcat6"中,Tomcat 可能无法正确启动。在这个版本中,当 LANG 设置为 "fr_FR" 或 "fr_FR.UTF-8" 时,Tomcat 可以正常工作。
- BZ#701759
- "/usr/sbin/tomcat6"打包程序脚本使用到"catalina.out"文件的硬编码路径,如果 Tomcat 使用 "tomcat" 以外的目录运行,则这可能会造成问题(如 logging init 脚本输出),如果 Tomcat 使用 "tomcat" 以外的用户运行,并且 CATALINA_BASE 设置为默认目录以外的目录。在这个版本中,wrapper 脚本会将输出重定向到 ${CATALINA_BASE}/logs/catalina.out,适用于所有"start"、"start-security"和"stop"操作。
- BZ#748813
- 将 URL 类与 setChunkedStreamingMode ()函数结合使用会导致空指针异常错误,并且返回 HTTP 响应状态代码 405。应用了补丁,它会在处理前添加对表单数据的检查。如果请求的正文长度为零,则会在不进一步处理的情况下返回 null。因此,在上述场景中不再发生错误。
- BZ#783567
- 由于回归,当 JavaServer Pages (JSP)标签不允许使用 JSP Expression Language (EL)表达式值(如 struts 2 标签)时,另一个属性被传递一个特定值(如反斜杠),解析器会重写以下例外:
According to TLD or attribute directive in tag file, attribute value does not accept any expressions
JSP 解析使用指令属性 "deferredSyntaxAllowedAsLiteral",它决定延迟语句是否被视为文字。默认值为 false。如果为 true,则不会将 "#" 符号视为一个转义。这个版本应用了上游补丁,问题不再发生。
功能增强
- BZ#782400
- 在这个版本中,对 redhat-lsb 的 tomcat6 依赖项已被删除。Red Hat Enterprise Linux tomcat6 努力使 Linux 标准基本(LSB)兼容 systemv init 脚本。但是,自 2011 年以来,合规二进制文件列表中不存在 Java。由于 Tomcat 在 Java 虚拟机(JVM)中运行,因此除初始化脚本合规性外,还有一些操作。redhat-lsb 依赖项可以在极小的风险的情况下移除。
5.335. trace-cmd
5.335.1. RHEA-2012:0976 - trace-cmd 增强更新
功能增强
- BZ#632061
- 在这个版本中,增加了对"-i"选项的支持,可用于忽略事件。默认情况下,如果一个事件被列出但不能被系统中的 trace-cmd 工具找到,则工具会退出。这个选项允许 trace-cmd 执行,即使在命令行中列出事件,但无法在系统中找到。
5.336. tsclient
5.336.1. RHBA-2012:0382 - tsclient 程序错误修复更新
错误修复
- BZ#734826
- 当使用 tsclient 工具打开 X 显示管理器控制协议(XDMCP)连接时,tsclient 可能会意外终止并出现分段错误。现在,一个补丁已被应用于解决这个问题,因此 XDMCP 连接现在可以为配置的主机正确启动。
5.337. tuned
5.337.1. RHBA-2012:0924 - tuned bug 修复和功能增强更新
程序错误修复
功能增强
5.338. tzdata
5.338.1. RHEA-2012:1488 - tzdata 增强更新
这个更新的软件包在区信息数据库中添加以下时间更改:
错误修复
- BZ#871993,871791,871994,871995
- 2012 年 10 月 24 日,Jordanian Cabinet 重新订阅了 2012-10-14 指令,从夏天节省时间(DST)切换到 2012-10-26 上的标准时间。相反,Jordan 将保留在 2012-2013 Jordanian winter 的本地 DST (ITC +3)上。Cuba (计划在 2012-11-12 上移回标准时间)切换到 2012-11-04 上的标准时间。
- BZ#871993,871791,871994,871995
- 在巴西,北地区州 Tocantins 将观察 2012-2013 年的 DST。这是 Tocantins 自 2003 年起首次观察到 DST 时。相反,Bahia 是 Northeast Region 状态,不会在 2012-2013 年观察 DST。与 Tocantins 一样,Bahia 在 2003 年停止观察 DST。Bahia 在 2011 年 10 月 16 日重新引入 DST.2012 年 10 月 17 日,Bahia Governor Jaques Wagner 宣布 DST 不会观察到 2012 年 10 月,显示大多数 Bahia 居民的公共调查相反。
- BZ#871993,871791,871994,871995
- 从 2013 年开始,以色列有新的 DST 规则。DST 现在于 3 月在星期五的星期五从 02:00 开始。DST 现在于 10 月 1 日下午 02:00 结束,除非当天也是(Rosh Hashanah)的第二天(Rosh Hashanah)。在这种情况下,DST 于稍后的一天结束,于 10 月 2 日星期一下午 02:00 结束。The Palestinian tertories (计划在 2012 年 9 月 28 日变为标准时间)切换到 2012-09-21 的标准时间。虽然 Western Samoa 在 DST 中观察了两个连续的季节(2010-2011 和 2011-2012),但根据可预见的将来模式,没有官方指示 DST 继续指示。2012 年 9 月 4 日,商业、行业和实验室的 Samoan Ministry 宣布 Samoa 将于 2012 年 9 月 30 日至 2012 年 9 月 30 日观察 DST,到 2012 年 4 月 7 日为止。
5.338.2. RHEA-2012:1101 - tzdata 增强更新
功能增强
5.338.3. RHEA-2013:0182 - tzdata 增强更新
功能增强
5.338.4. RHEA-2012:1338 - tzdata 增强更新
功能增强
5.338.5. RHEA-2013:0674 - tzdata 增强更新
功能增强
- BZ#921173, BZ#921174, BZ#919628, BZ#921176
- tzdata 的时区规则已被修改以反映以下更改:Paraguay 的 Daylight Saving Time (DST)将于 3 月 24 日结束,而不是 4 月 14 日。Haiti 将于 2013 年使用美国夏天节省规则。Morocco 在 Ramadan 期间不会观察 DST。因此,Morocco 预计将在 9 月 9 日切换到西欧时间(WET),并在 8 月恢复到西欧夏时(WEST)。另外,tzdata 软件包现在为几个新时区提供规则: Asia/Khandyga、Asia/Ust-Nera 和 Europe/Busingen。
5.338.6. RHEA-2013:1432 - tzdata 增强更新
功能增强
5.338.7. RHEA-2013:0880 - tzdata 增强更新
功能增强
5.338.8. RHEA-2013:1025 - tzdata 增强更新
功能增强
5.338.9. RHEA-2013:0615 - tzdata 增强更新
功能增强
5.339. udev
5.339.1. RHBA-2012:1007 - udev 程序错误修复更新
错误修复
- BZ#829703
- 由于 binutils 链接器中的一个错误,libudev 库会丢失 ExecShield (GNU_RELRO)部分,并且不再受到 Exec Shield 安全机制的保护。这个更新提供了一个补丁,可确保 libudev 库再次包含 ExecShield (GNU_RELRO)部分。
5.339.2. RHBA-2012:0906 - udev 程序错误修复和功能增强更新
程序错误修复
- BZ#784648
- 在以前的版本中,如果函数在 udevd 守护进程处理设备节点的 uevent 之前调用,libudev 的函数 udev_device_get_devnode ()会返回 NULL。在这个版本中,udev_device_get_devnode ()函数现在返回内核提供的 devnode。
- BZ#735410
- 在以前的版本中,位于 /etc/init.d/ 目录中的 udev-post 非服务脚本总是在状态请求中返回失败代码。这个程序错误已被解决,udev-post 服务现在返回有关它是否已运行的信息。
- BZ#628762
- 在以前的版本中,udev (7)手册页没有提到 "nowatch" 选项。在这个版本中,"nowatch"选项可以在 udev (7) man page 中正确记录。
5.340. unixODBC
5.340.1. RHBA-2012:1509 - unixODBC 程序错误修复更新
错误修复
- BZ#876488
- 当 isql 实用程序以批处理模式运行时(由"-b"命令行选项激活),在收到任何 SQL 查询时,ql 会意外终止,并带有分段错误。这个程序错误已被解决,在上述场景中是ql 不再崩溃。
5.341. Upstart
程序错误修复
- BZ#771736
- 在以前的版本中,PACKAGE_BUGREPORT 变量指向 Ubuntu 邮件列表。因此,邮件列表出现在多个手册页中,而不需要。在这个版本中,PACKAGE_BUGREPORT 变量的值被修改为 "https://launchpad.net/upstart/+bugs",用户现在会被定向到该网站,而不是 Ubuntu 邮件列表。
- BZ#798551
- 以前的 upstart 版本没有挂载 proc 和 sys 文件系统。这是由 initscripts 保证的,在某些情况下可能会导致竞争条件问题。在这个版本中,upstart 用于在启动任何其他操作前挂载 proc 和 sys 文件系统。
功能增强
5.342. usbredir
5.342.1. RHBA-2012:1435 - usbredir 程序错误修复更新
错误修复
- BZ#858776
- 由于 libusbredirhost 库中的一个错误,处理批量传输的超时无法正常工作。因此,USB ACM 串行端口设备的流量(如 PSTN modems 和 SmartCard readers)无法正确重定向。在这个版本中,这些设备在 usb-host 端没有设置超时,流量重定向可以正常工作。
5.343. util-linux-ng
错误修复
- BZ#864367
- 当使用 telnetd 守护进程登录到服务器时,login 工具无法正确更新 /var/run/utmp 文件。因此,/var/run/utmp 中用于之前的会话的行不会被重复使用,从而不必要地增大文件。已提供了一个补丁来解决这个问题,登录工具现在总是如预期更新 /var/run/utmp。
程序错误修复
- BZ#588419
- 控制台登录超时值设为 60 秒。这可能会导致在带有有问题的 DNS (域名服务)的系统上名称查找过程中超时。在这个版本中,超时值长于 180 秒,以便登录过程可以在以下情况下完成名称查找。
- BZ#740163
- 对于类似以下内容的未分区设备,"fdisk -l"和"sfdisk -l"命令会返回混淆的警告:
Disk /dev/mapper/[volume name] doesn't contain a valid partition table
在这个版本中,命令会忽略未分区的设备,问题不再发生。 - BZ#785142
- 在以前的版本中,在安装 uuidd 软件包后,uuidd 守护进程不会被默认启用。在这个版本中,底层代码已被修改,并在安装后启用了 uuidd 守护进程,并在重启后由初始化脚本启动。
- BZ#797888
- 在以前的版本中,如果在 /etc/csh.login 文件中的 csh shell 调用,script 命令无法正常工作。脚本创建的子进程继承了来自 csh 的 SIGTERM 忽略属性,且无法使用信号终止。在这个版本中,脚本会重置 SIGTERM 设置,以便 shell 使用默认的 SIGTERM 行为启动,其子项会按预期接受信号。
5.344. valgrind
错误修复
- BZ#757728
- 在此次更新之前,"memalign"和"posix_memalign"替换只能处理最大 1 MB 的对齐。因此,在 valgrind 中运行 qemu-kvm 可能会导致错误匹配。这个版本修改了底层代码,以便 memalign 和 posix_memalign 替换现在可以处理到 4 MB 的对齐。
功能增强
- BZ#739143
- 在这个版本中,valgrind 已被更新,提供对 IBM POWER7 系列和 VPN-1 Power VSX 硬件的完整支持,并支持 Decimal Floating Point (DFP)。
5.345. vim
5.345.1. RHBA-2012:0454 - vim 程序漏洞修复更新
程序错误修复
- BZ#594997
- 在以前的版本中,当使用将 locale 设置为 Simplified Chinese (zh_CN)的 VimExplorer 文件管理器时,netrw.vim 脚本会在文件名前面插入一个不需要的"e"字符。底层代码已被修改,现在可以在没有不需要的字符的情况下正确显示文件名。
- BZ#634902
- 编辑新 spec 文件时使用的 spec 文件模板包含过时的信息。在这个版本中,spec 文件模板会被更新为遵循最新的 spec 文件指南。
- BZ#652610
- 当在根目录的子目录中使用文件 explorer 时,"vim .."命令只显示根目录的内容的一部分。现在,一个补丁已被应用于解决这个问题,"vim .."命令现在在上述场景中正确列出根目录的内容。
- BZ#663753
- 由于 filetype 插件中有一个拼写错误,vim 实用程序可以显示带有不正确的语法高亮显示的 httpd 配置文件。在这个版本中,修正了 filetype 插件中的错误,现在显示 httpd 配置文件并带有正确的语法高亮显示。
5.346. vino
5.346.1. RHSA-2013:0169 - Moderate: vino 安全更新
安全修复
- CVE-2012-4429
- 发现,Vino 会将运行 Vino 的系统上的所有剪贴板活动传输到所有连接到端口 5900 的客户端,即使用户没有通过身份验证。在运行 Vino 的系统上可以访问端口 5900 的远程攻击者,可以利用此漏洞在不进行身份验证的情况下读取剪贴板数据。
- CVE-2011-0904, CVE-2011-0905
- 在 Vino 处理的客户端帧缓冲请求特定编码中的 Vino 处理的客户端帧缓冲请求的方式中发现两个越界内存读取缺陷。已验证的客户端可以使用这些漏洞向 Vino 发送特殊设计的请求,从而导致其崩溃。
- CVE-2011-1164
- 在某些情况下,vino-preferences 对话框错误地表示 Vino 只能从本地网络访问。这可能会使用户理解来自外部网络的连接(即使在允许时也是如此)。在这个版本中,vino-preferences 不再显示连接和可访问的信息。
- CVE-2011-1165
- 当 Vino 首选项中启用了"Configure 网络来接受连接"选项时,没有警告: Universal Plug and Play (UPnP)用于打开用户网络路由器上的端口。在这个版本中,更改了选项的描述,以避免在没有用户同意的情况下更改 UPnP 路由器配置更改的风险。
5.347. vios-proxy
5.347.1. RHBA-2012:0755 - vios-proxy 程序错误修复更新
错误修复
- BZ#743723
- 在以前的版本中,软件包不包含 vios-proxy-host 和 vios-proxy-guest 守护进程的手册页。在这个版本中,这些手册页可用。
5.348. virtio-win
5.348.1. RHBA-2012:1083 - virtio-win 程序错误修复更新
程序错误修复
程序错误修复
- BZ#492777
- 在以前的版本中,如果 Microsoft Windows 客户机机器发送比 256 (环大小)更多的 tx 片段,NetKVM 驱动程序会丢弃数据包。为防止此问题,在 NetKVM 驱动程序中实现了间接环支持。
- BZ#759361
- 在以前的版本中,用户无法使用 NetKVMConfig 工具更新 Windows Registry 中的 rx 和 tx 参数。虽然实用程序报告参数已被更改,但 Windows Device Manager 中不会显示更改。这是因为 NetKVMConfig 参数错误地更改了处理程序,因此 NetKVMConfig 现在可以按预期工作,用户可以更新 rx 和 tx 参数。
- BZ#753723
- 在以前的版本中,块驱动程序(viostor)不支持从 QEMU 获取 virtio 块设备的序列号。因此,Windows 客户机机器上无法使用序列号。在这个版本中,在 find 适配器阶段从 miniport 检索了 virtio 块设备的序列号。
- BZ#752743
- 在此次更新之前,块驱动程序(viostor)驱动程序不会拒绝对只读卷的写入请求。尝试格式化只读卷会导致客户机停止并显示 EIO 错误。在这个版本中,如果目标卷具有 read-only 标志,则客户机不会停止,并且写入请求会出错。现在,viostor 驱动程序会拒绝对只读卷的格式化或写入。
- BZ#751952
- 在以前的版本中,如果 Microsoft Windows Device Manager 中的 "Fix IP checksum on LSO" 选项被禁用,用户无法使用 winscp 工具将数据从客户机机器传输到主机机器。要防止这个问题,无法再禁用 "Fix IP checksum on LSO"。
- BZ#803950
- 如果客户机机器进入 S3 (暂停到 RAM)或 S4 (暂停到磁盘)时,可能会导致 balloon 驱动程序中的一个错误(也称为 Blue Screen of Death 或 BSoD)。balloon 驱动程序中的错误已被修复,在这些情况下不再发生 stop 错误。
- BZ#810694
- 在以前的版本中,错误的 flush 请求处理可能会导致块驱动程序(viostor)的竞争条件。在负载过重时,通常使用 "cache=writeback" 选项,flush 处理程序是异步执行的,而不会与剩余的请求处理逻辑进行同步。在这个版本中,执行 flush 请求与 virtio Interrupt Service Routine (ISR)同步,在这种情况下不再发生竞争条件。
- BZ#771390
- viostor 工具没有检查传入缓冲区的大小。通过绕过文件系统堆栈,应用程序可以直接向 viostor 驱动程序发送大于最大传输大小的缓冲区。现在,如果缓冲区大小大于最大传输大小,则这个缓冲区大小会减少。viostor 驱动程序现在可以正确处理带有任何大小缓冲的请求。
功能增强
5.349. virt-manager
程序错误修复
- BZ#741937, BZ#769192
- 在此次更新之前,virt-manager 工具在将客户机从 IDE 的磁盘总线从 IDE 改为 virtio 时不会更改所有必需的 XML 元素,反之亦然。因此,virt-manager 可以创建 libvirt 接受的无效 XML 元素,但然后客户机无法引导。这个版本修改了底层代码,以更改所有必需的 XML 元素,客户机现在会如预期启动。
- BZ#742055
- 在以前的版本中,在某些情况下,virt-manager 工具可能会从 libvirt 接收错误,如果 virt-manager 在域关闭时尝试读取域的信息。因此,用户界面(UI)中的 libvirt 连接被错误地关闭。这个版本修改了底层代码,以便在这种情况下预期错误,而不是关闭 libvirt 连接。
- BZ#747490
- 在以前的版本中,glib 集成无法正常工作。因此,在传输大量数据时,虚拟机的串行控制台可能会停止。这个版本修改了底层代码,以便在不停止的情况下传输大量数据。
- BZ#750225
- 在此次更新之前,图形扩展不适用于 virt-manager 工具中的 SPICE 图形。在这个版本中,修改底层代码,将 UI 扩展选择元素连接到 spice 后端。
- BZ#803600
- 在此次更新之前,如果用户因为删除存储卷时快速删除多个存储卷,virt-manager 工具可能会与分段错误关闭。在这个版本中,修改了 virt-manager 线程,以便快速成功删除存储卷。
- BZ#811316
- 在此次更新之前,virt-manager 工具无法正确清理某些内部状态。因此,关闭和重新打开客户机的图形窗口不会重新打开图形控制台。这个版本修改了底层代码,以确保正确重新打开图形控制台连接。
- BZ#816279
- 在此次更新之前,virt-manager 工具没有正确使用虚拟机配置中的图形侦听地址属性,并且始终尝试使用 SSH 隧道连接到客户机。如果将 "listen=" 设置为显式接口地址时,这可能会破坏图形控制台连接。这个版本修改了底层代码,以确保 virt-manager 现在可以正确地连接到这些地址。
功能增强
- BZ#716673
- 在此次更新之前,用于新创建的虚拟机的磁盘镜像的默认磁盘镜像磁盘镜像格式是"原始",且无法更改。在这个版本中,添加了新的 "qcow2" 选项。
5.350. virt-top 和 ocaml-libvirt
错误修复
- BZ#737728
- "virt-top -1"命令的输出(显示物理 CPU 使用率)不包含 libvirt 的所有所需信息,以便提供准确的物理 CPU 用量核算。在这个版本中,底层源代码已被修改来解决这个问题,"virt-top -1"输出现在会显示准确的统计信息。
5.351. virt-v2v
5.351.1. RHBA-2012:1468 - virt-v2v 程序错误修复更新
错误修复
- BZ#872496
- 在以前的版本中,当使用 virt-v2v 工具将虚拟机(VM)从外部虚拟机监控程序(如 Xen 或 VMware)转换为 Red Hat Enterprise Virtualization,它会错误地设置该虚拟机所有磁盘的 vm_snapshot_id 标识符。因此,从 Red Hat Enterprise Virtualization 一端在此虚拟机上执行大量任务时会造成各种问题。在这个版本中,在上述场景中为每个磁盘生成唯一标识符,从而防止这个错误。
程序错误修复
- BZ#737600
- 在以前的版本中,转换的 Microsoft Windows XP 客户机可能会在引导时意外终止,并带有 STOP 错误(也称为 Death 的 Blue Screen 或 BSoD)。如果客户机配置了 CPU 或芯片组驱动程序,当 CPU 或芯片组不存在时,可能会触发错误。这仅在转换 Physical-to-Virtual 或 P2V 机器时发生。在这个版本中,与某些服务相关的 registry 键会在转换过程中删除问题。现在,转换的客户机在转换过程后按预期引导。
- BZ#767262
- 当将物理到虚拟(P2V)或虚拟(V2V)机器转换为在 Red Hat Enterprise Virtualization 系统上运行时,virt-v2v 在试图写入目标导出存储域时会失败,并显示写错误。如果目标系统没有将标准 UID 和 GID 用于目标 Red Hat Enterprise Virtualization 导出存储域的所有权,会出现这种情况。有了这个更新,virt-v2v 会检查本地系统的 UID "vdsm" 和 GID "kvm"。如果存在,这些值被视为写入 Red Hat Enterprise Virtualization 导出存储域所需的值,并在上述场景中成功转换。
- BZ#751293
- 运行 virt-v2v 工具和
/var/lib/virt-v2v/
目录没有包含virt-v2v.db
以外的任何文件时,转换会失败,并显示类似如下的错误消息:/transfer0w34SV: umount: /sysroot/transfer0w34SV: not mounted at /usr/share/perl5/vendor_perl/Sys/VirtConvert/GuestfsHandle.pm line 193. at /usr/share/perl5/vendor_perl/Sys/VirtConvert/Config.pm line 262
当本地没有软件可在转换过程中安装到客户机时,底层源代码已被修改来正确处理情况,从而确保转换成功。 - BZ#737855
- 当在 fstab 或 GRUB 设备映射文件中使用引用
/dev/xvdX
设备转换 Xen HVM 客户机时,这些文件中的/dev/xvdX
设备不会被更新。在这个版本中,virt-v2v 和 virt-p2v 工具会在转换过程中查看名为/dev/xvdX
和/dev/hdX
的设备的 Xen HVM 客户机配置文件。两者都被视为相同,并且被转换为/dev/vdX
。现在,在转换过程中可以正确地更新对 fstab 中的 Xen 半虚拟化块设备和 Xen HVM 客户机的设备映射的引用。 - BZ#696779
- 在以前的版本中,virt-v2v 工具无条件地将所有转换的客户机标记为 Server 类型工作负载。这会导致在 Red Hat Enterprise Virtualization Manager 中无法正确显示桌面类型的工作负载客户机。此更新添加了一个新的命令行选项--
vmtype
,它会强制转换过程将新创建的 Red Hat Enterprise Virtualization 虚拟机标记为Desktop
或Server
。如果省略了,virt-v2v 会尝试确定正确的类型。 - BZ#787734
- 新的 VMware 工具被分成多个软件包。在以前的版本中,当转换这样的客户机时,VMware Tools 软件包不会在转换过程中删除。这可能导致转换的客户机中显示警告,或者导致客户机无法正常工作。已更新转换过程,以识别新的 VMware 工具软件包并删除它们。现在,在转换过程中可以正确地删除 VMware Tools 软件包。
- BZ#786115
- 当尝试转换通过 SSH 连接访问的客户机,且目标主机配置了 SSH 登录横幅时,转换过程可能会变得无响应。在这个版本中,SSH 登录横幅会被忽略,转换过程可以如预期完成。
功能增强
5.352. virt-viewer
程序错误修复
- BZ#749759
- SPICE 客户端无法提前确定 SPICE 服务器是否需要密码进行身份验证。因此,SPICE 客户端会尝试建立连接,如果它收到身份验证错误,客户端会关闭连接,提示用户输入密码,然后重新连接到 SPICE 服务器。在以前的版本中,当连接到服务器使用 SSH 隧道时,SPICE 客户端无法执行重新连接步骤。有了这个更新,在从用户获取密码后,允许 SPICE 客户端请求新的 SSH 隧道连接到 SPICE 服务器。现在,用户可以在使用 SSH 隧道时连接到密码保护的 SPICE 服务器。
- BZ#784922
- virt-viewer 工具已被修改,启用对最新版本的 spice-gtk 软件包中引入的 USB 重定向的支持。用户现在可以使用
SPICE
协议将本地 USB 设备连接到远程虚拟机。 - BZ#811191
- 在以前的版本中,virt-viewer 手册页没有描述--
attach
, or-a
, 选项。有了这个更新,virt-viewer 手册页解释了 libvirt 可以用来将 virt-viewer 直接连接到本地显示,而不是在使用上述其中一个选项时进行 TCP/UNIX 套接字连接。 - BZ#749723
- 在设置用户密码时运行 guest 时,virt-viewer 应用程序将要求进行身份验证。但是,由于信号处理不正确,如果用户取消对话框,则返回以下出错信息:
Unable to authenticate with remote desktop server at localhost:5900: Unable to collect credentials.Retry connection again?
底层源代码已被修改,以确保正确处理信号。现在,如果 virt-viewer 收到关于被取消会话的信号,virt-viewer 将会断开连接,并在没有错误消息的情况下退出。 - BZ#813375
- 在以前的版本中,URI 解析代码没有预期主机组件两边的方括号
[
和]
的 URI。因此,无法连接到包含原始 IPv6 地址的远程 libvirt 服务器(如qemu+ssh://root@[2001::xxxx:1]/system
)。在这个版本中,URI 解析已被修复,以考虑 IPv6 地址语法,因此现在可以使用原始 IPv6 地址连接到远程 libvirt 服务器。 - BZ#810544
- 在 32 位 Intel 构架中,算术错误导致所需窗口大小的不准确计算。在全屏模式中附加了窗口底部的一对一形栏,从而导致客户机显示不必要地扩展。扩展代码已被修改,以舍入到最接近的整数,而不是截断,以避免依赖于浮动点计算的精度。在 32 位 Intel 构架上,如果客户机显示很小,则窗口的大小会调整为不需要进行扩展。
- BZ#819436
- 由于竞争条件,在关闭 virt-viewer 应用程序时,可以在命令行中显示以下消息:
Segmentation fault (core dumped)
底层源代码已被修改,以防止发生竞争条件,virt-viewer 现在可以安全地退出,且无错误消息。 - BZ#816550
- 当使用多个 monitor (例如重启后)重新连接 guest 时,virt-viewer 为额外的 monitor 创建新窗口,而旧窗口仍然存在。这是因为
GtkWindow
对象没有释放。在这个版本中,修改 virt-viewer 可确保在显示关闭时关闭窗口。 - BZ#816280
- 有了这个更新,对话框的 按钮标签已更改为 。
5.353. virt-who
程序错误修复
- BZ#746163
- 当 libvirtd 守护进程被停止时,virt-who 工具不再收到有关客户机状态的信息,并显示客户机 UUID 的不准确列表。在这个版本中,轮询用于检查与 libvirtd 守护进程的连接,以及 UUID 列表不准确的时间。
- BZ#813299
- 在以前的版本中,virt-who 工具无法连接到 libvirt 守护进程,因为处理 virt-who 守护进程的分叉的代码中存在回归。在这个版本中,在 virt-who 守护进程分叉后,会打开 libvirtd 守护进程的连接,从而解决了这个问题。
- BZ#801657
- 在这个版本中,在 virt-who specfile 中缺少 python-suds 依赖项。缺少的依赖项导致 virt-who 守护进程无法启动。
- BZ#806225
- virt-who 守护进程在启动时不使用双分叉。因此,守护进程无法正确从终端分离。在这个版本中,virt-who 使用双分叉,并可从终端正确分离自己。
- BZ#815279
- 在以前的版本中,virt-who 工具无法处理 libvirtd 守护进程发送的所有事件。如果收到了一个未识别的事件,virt-who 会在日志中记录一个 IndexError,并返回回溯错误。在这个版本中,virt-who 处理所有错误事件(即使未知),不再返回回溯错误。
5.354. vsftpd
5.354.1. RHBA-2013:0263 - vsftpd 程序错误修复更新
错误修复
- BZ#910371
- vsftpd 守护进程支持提供一组命令"proxy ftp-command"的 FTP 客户端。这些命令提供了通过 FTP 客户端将数据从一个服务器传输到另一台服务器的功能。在以前的版本中,vsftpd 版本无法建立到使用 "proxy get [file]" 命令打开的另一个服务器的数据连接,并将数据连接请求发送到客户端。在这个版本中,vsftpd 版本可以使用 "proxy get [file]" 命令建立到另一个 FTP 服务器的数据连接。
5.354.2. RHBA-2012:0790 - vsftpd 程序错误修复更新
程序错误修复
- BZ#701300
- 在此次更新之前,配置文件指定了错误的默认日志文件。因此,logrotate 脚本无法找到,因此轮转 vsftpd 日志文件,这会导致不必要的大型 vsftpd 日志。在这个版本中,/var/log/xferlog 指定为 /etc/vsftpd/vsftpd.conf 中的默认日志文件,它会在 vsftpd 日志文件上启用日志轮转。
- BZ#708657
- 在此次更新之前,RLIMIT_AS 值(100 MB)不足。因此,LDAP 无法使用 vsftpd 对系统进行身份验证。在这个版本中,初始 RLIMIT_AS 值增加到 200 MB,vsftpd 现在可用于 LDAP 身份验证。
- BZ#717411
- 在此次更新之前,如果文件传输协议(FTP)客户端中阻止了 ftp-data 端口,则 vsftpd 无法正确处理文件传输失败。因此,vsftpd 可能会变得无响应。在这个版本中,修改底层代码,以便 vsftp 守护进程报告 FTP 客户端失败,数据传输现在会如预期终止。
- BZ#745133
- 在此次更新之前,vsftpd.conf 文件的 man page 包含 "max_per_ip" 和 "max_clients" 选项不正确的默认值。在这个版本中,为这两个选项引入了正确的默认值。
- BZ#752954
- 在此次更新之前,无法禁用 DNS 反向查找功能。在这个版本中,添加了 "reverse_lookup_enable" 参数,该参数允许启用或禁用 DNS 反向查找功能。
- BZ#765757
- 在此次更新之前,当禁用 "chmod_enable" 选项时,vsftpd 也列出了 CHMOD 命令。在这个版本中,修改 help 文件,在禁用命令时 vsftpd 不再列出 CHMOD 命令。
- BZ#785061
- 在此次更新之前,如果列出文件包含具有更高用户或组 ID 的文件,则列出文件可能会导致溢出错误,然后 "signed int" 数据类型的最大值为 2147483647。因此,FTP 连接被终止。这个版本修改 vsftpd,以支持 "unsigned int" 数据类型最大值以上的 UID 和 GID。现在,在上述场景中,目录内容会如预期列出。
- BZ#785084
- 在此次更新之前,ls 命令不支持作为 FTP 连接中的通配符字符的方括号。此更新改进了 vsftpd 和方括号中的通配符字符支持,现在可以使用 ls 命令在正则表达式中使用。
- BZ#785642
- 在以前的版本中,在更新之前,vsftpd 中的"listen ()"功能可能会在负载过重时失败。因此,套接字会被阻断。这个版本关闭失败的套接字,并创建一个新的套接字来相互侦听。
5.355. wget
5.355.1. RHBA-2012:1353 - wget 程序错误修复更新
程序错误修复
- BZ#754168
- 在此次更新之前,wget 软件包包含到 wget 上游项目的冗余 URL。在这个版本中,修改规格文件来列出正确的 http://www.gnu.org/software/wget/。
- BZ#814208
- 在此次更新之前,当 http 服务器没有回答 SSL 握手时,wget 工具以前无法象与 "-T, --timeout" 选项设置一样工作。wget 源代码已被修补,以确保在正确使用 --timeout 选项时 wget 会中止连接。
- BZ#714893
- 在此次更新之前,wget 工具源代码缺少检查 HTTP 响应解析函数返回值。在某些情况下,当 HTTP 响应标头被不正确的(fuzzed)时,解析功能会返回错误。因为没有检查返回的值,因此会导致分段失败。在这个版本中,添加了在 wget 源代码中 HTTP 响应解析功能返回值的检查。现在,当 HTTP 响应标头是不正确的(fuzzed),并且解析功能返回错误时,会抛出以下出错信息并重试请求。
2012-10-01 10:13:44 ERROR -1: Malformed status line.
5.356. wordnet
5.356.1. RHBA-2012:0932 - wordnet 程序错误修复更新
错误修复
- BZ#658043
- 在此次更新之前,WordNet 在同一主机上尝试为 32 位和 64 位构架安装 wordnet 软件包时遇到文件冲突。因此,安装第二个软件包会失败。在这个版本中,从软件包中删除冲突的辅助文件。现在,WordNet 是多架构安全。
5.357. wpa_supplicant
错误修复
- BZ#855255
- 在以前的版本中,supplicant 会尝试 roam 稍有更强大的接入点,从而增加了断开连接的机会。这个程序错误已被解决,当当前信号显著降低时,supplicant 只会尝试 roam 访问点。
功能增强
- BZ#855273
- 对 Opportunistic Key Caching (OKC) (也称为 Proactive Key Caching (PKC))的支持已被添加到 WPA Supplicant 中,以便于同一网络中的接入点之间更快、容易出错。
错误修复
- BZ#752032
- 由于 wpa_supplicant 代码中的一个错误,Linux 内核的 nl80211 API 报告的一些无线设备的 Wi-Fi 信号级别没有被正确处理。因此,NetworkManager 小程序没有指示未连接的网络的信号强度。在这个版本中,代码已被修正,NetworkManager 小程序现在指示使用 nl80211 API 的驱动程序的信号强度。
5.358. xfig
5.358.1. RHBA-2012:0985 - xfig 程序错误修复更新
错误修复
- BZ#806689
- 安全勘误 RHSA-2012:0095 改变了 ghostscript 处理相对路径的方式。因此,因为 Xfig 依赖于原始 ghostscript 行为,所以它无法打开封装的 postscript 文件,并返回执行堆栈,结尾有以下错误:
Current allocation mode is local Last OS error: 2 GPL Ghostscript 8.70: Unrecoverable error, exit code 1 EPS object read OK, but no preview bitmap found/generated
Xfig 被修改为在执行 ghostscript 二进制文件时使用绝对路径。在这个版本中,Xfig 打开封装的 postscript 文件,并如预期在其他图表中包含它们。
5.359. xfsprogs
5.359.1. RHBA-2012:0883 - xfsprogs 程序错误修复更新
程序错误修复
- BZ#730886
- 在此次更新之前,某些文件名可能会导致 xfs_metadump 工具在生成模糊名称时挂起。这个版本修改了底层代码,以便 xfs_metadump 现在可以正常工作。
- BZ#738279
- 在此次更新之前,在 mkfs 的一些文件系统大小时,分配组群大小(agsize)被错误地计算。因此,如果分配组群中的文件系统块超过最大限制,则创建文件系统可能会失败。这个版本修改了计算方法,以便一个gblocks 不再超过最大值。
- BZ#749434
- 在此次更新之前,xfs_quota 工具失败,并显示错误消息 "xfs_quota: cannot initialise path table: No such file or directory" (如果 mtab 中遇到无效的 xfs 条目)。这个版本修改了 xfs_quota 工具,以便 xfs_quota 工具现在可以按预期运行。
- BZ#749435
- 在此次更新之前,xfs_quota 工具报告项目配额值按预期两倍。这个版本修改了 xfs_quota 工具,以便它现在报告正确的值。
5.360. xinetd
5.360.1. RHBA-2012:1162 - xinetd 程序错误修复更新
错误修复
- BZ#841916
- 由于 service.c 源文件中文件描述符数组的处理不正确,因此当 xinetd 负载过重时,一些描述符仍保持打开状态。另外,系统日志会填充大量磁盘空间,但随着时间的推移会占用大量磁盘空间。这个 bug 已在代码中解决,xinetd 现在可以正确地处理文件描述符,不再填充系统日志。
5.360.2. RHBA-2012:0409 - xinetd 程序漏洞修复更新
程序错误修复
- BZ#694820
- 在某些情况下,当一个意外的信号到达时,xinetd 守护进程可能会变得无响应(例如,在尝试获取已获取已获取锁定以写入其日志文件时)。在这个版本中,守护进程可以正确地处理意外信号,在这些情况下不再挂起。
- BZ#697783
- 在以前的版本中,xinetd 代码中的一个 bug 可能会导致 time_t 变量崩溃,从而导致以下编译器警告:
warning: dereferencing type-punned pointer will break strict-aliasing rules
一个补丁已被应用于解决这个问题,因此不再会出现警告。 - BZ#697788
- 在以前的版本中,xinetd 守护进程会忽略服务配置文件的"端口"行,因此无法将某些 RPC 服务绑定到特定端口。底层源代码已被修改,以确保 xinetd 遵循"端口"行,以便现在正确处理端口号。
- BZ#711787
- 使用 realloc ()函数不正确可能会导致内存崩溃。这会导致 xinetd 守护进程在配置了大量服务时意外终止。realloc ()函数已被删除,这样可确保在此场景中不再发生内存崩溃,即使配置大量服务时,KurnetS 守护进程也会成功启动。
5.361. xmlrpc-c
5.361.1. RHBA-2012:0954 - xmlrpc-c 程序错误修复更新
程序错误修复
5.362. xorg-x11-drv-ati 和 mesa
错误修复
- BZ#821873
- 在以前的版本中,Metsa 无法识别集成到 Intel E3-family 处理器中的 Intel HD Graphics 芯片组。因此,这些芯片组提供有限的显示分辨率,其图形性能较低。在这个版本中,增加了对这些芯片组的支持。因此,芯片组可以被 Mesa 识别,并如预期执行。
功能增强
5.363. xorg-x11-drv-intel
程序错误修复
- BZ#692776
- 在 Lenovo ThinkPad T500 笔记本电脑上,显示可能会在以镜像模式与外部显示一起使用时保持空白。因此,会出现以下信息:
Could not switch the monitor configuration Could not set the configuration for CRT63
在这个版本中,底层源代码已被修改,以便在打开 lid 时显示会如预期打开。 - BZ#711452
- 在 Lenovo ThinkPad 系列笔记本电脑上,系统并不总是从挂起状态中恢复。这依赖于监控配置,可能会在各种情况下发生,例如如果笔记本电脑只启用了外部显示,并且稍后恢复没有外部显示。在这个版本中,无论 monitor 配置是什么,系统都会正确恢复。
功能增强
- BZ#821521
- 另外,这个更新还添加了对 Intel Core i5 和 i7 处理器的加速渲染支持。
5.364. xorg-x11-drv-mga
功能增强
- BZ#657580
- 添加了对基于 G200 的图形芯片组的 RANDR 1.2 支持。它允许动态重新配置显示设置,以匹配当前插入的监控器。这对服务器来说尤其重要,因为它们通常不附加 monitor,稍后将其附加到运行时。
5.365. xorg-x11-drv-qxl
安全修复
- CVE-2013-0241
- 在主机的 qemu-kvm qxl 驱动程序和客户机的 X.Org qxl 驱动程序终止时,发现了一个安全漏洞。用户可以启动到客户机的 SPICE 连接可使用此缺陷使客户机临时不可用,或者(如果 sysctl kernel.softlockup_panic 变量设为 guest 中的"1",则使客户机崩溃)。
5.366. xorg-x11-drv-wacom
程序错误修复
功能增强
5.367. xorg-x11-server
安全修复
- CVE-2011-4028
- X.Org 服务器处理锁定文件的方式中发现了一个安全漏洞。有权访问系统控制台的本地用户可能会使用此缺陷来确定用户无法访问目录中的文件。
- CVE-2011-4029
- 在 X.Org 服务器管理的临时锁定文件的方式中发现了一个竞争条件。本地攻击者可以利用此漏洞执行符号链接攻击,从而使它们能够全局读取任意文件,从而导致敏感信息披露。
程序错误修复
- BZ#651934, BZ#722860
- 在此次更新之前,KDE 显示管理器(KDM)可以将无效的 24bpp pixmap 格式传递给 X 服务器。因此,X 服务器可能会意外终止。在这个版本中,修改底层代码以传递正确的格式。
- BZ#732467
- 在此次更新之前,如果 X 服务器被配置为 xorg.conf 文件中的多个"设备"部分,则绝对输入设备(如图形平板电脑的 stylus)可能会变得无响应。在这个版本中,更改了屏幕跨行为,以便始终在所有屏幕中映射绝对设备。
- BZ#748704
- 在此次更新之前,误导消息 "Session active, not inhibited, screen idle.如果您看到此测试,您的显示服务器将中断,您应通知您的经销商。"可以在恢复系统或重新启用显示后显示,并包括到外部网页的 URL。在这个版本中,删除了这个消息。
- BZ#757792
- 在此次更新之前,Xephyr 服务器的错误输入处理代码会在屏幕跨事件中禁用屏幕。焦点仅位于鼠标所在的屏幕,只有在 Xephyr 嵌套 X 服务器是在多屏幕设置中配置时更新此屏幕。在这个版本中,删除了这个代码和 Xephyr,可以正确地更新多屏幕设置中的页面。
- BZ#805377
- 在此次更新之前,原始事件不包含相对的 axis 值。因此,依赖相对值的客户端的行为与预期一样。在这个版本中,将值设置为原始驱动程序值,而不是已经转换的值。现在,原始事件会如预期包含相对 axis 值。
5.368. xulrunner
安全修复
- CVE-2012-4193
- XULRunner 处理安全包装器的方式中发现了一个安全漏洞。包含恶意内容的网页可能会导致与 XULRunner (如 Mozilla Firefox)链接的应用程序执行运行应用的用户具有任意代码。
5.369. yaboot
5.369.1. RHBA-2012:0791 - yaboot 程序错误修复更新
程序错误修复
5.370. yum
5.370.1. RHBA-2012:0857 - yum 程序错误修复和功能增强更新
程序错误修复
- BZ#742363
- anacron 调度程序启动 yum-cron 实用程序,其默认 niceness 值为 10。因此,Yum RPM 事务以非常低的优先级运行。另外,任何更新的服务都会继承这个 niceness 值。此更新添加了"reset_nice"配置选项,它允许 Yum 在运行 RPM 事务前将 niceness 值重置为 0。设置此选项后,Yum RPM 事务运行和更新的服务将如预期使用 niceness 值 0 重启。
- BZ#735234
- 当依赖项解析失败时,yum 执行 RPMDB 检查来检测和报告现有的 RPMDB 问题。在以前的版本中,如果引发 PackageSackError 异常,yum 会意外终止。现在,当引发 PackageSackError 且跳过剩余的 RPMDB 检查时,应用现在会返回消息"Yum 检查失败"。
- BZ#809392
- 如果使用历史记录校验和进行回滚,yum history rollback 命令可能会返回回溯。这是因为 _conv_pkg_state ()函数中的关键字参数处理不正确。现在,历史记录校验和参数已被正确处理。
- BZ#711358
- 当 yum 在不再存在的目录中启动时,它会以回溯形式终止。yum 工具现在检查当前工作目录是否存在;如果不是这种情况,它会更改为根目录,并且继续按预期执行。
- BZ#804120
- 如果使用 --sec-severity 选项参数运行"yum upgrade"命令,命令执行可能会进入无限循环。代码已被修复,选项可以按预期工作。
- BZ#770117
- 如果 yum 代理服务器的用户名和密码包含任意字符"@"、"":" 或 "%",则在代理服务器 URL 中没有正确引用它们,并且这些值被 HTTP 客户端错误解译。因此,yum 无法连接到代理服务器。在这个版本中,添加了正确的引用,包含字符的用户名和密码会被正确解决。
- BZ#809373
- yum 历史记录中的 Yum 事务根据其事务处理的顺序排列。但是,这可能是误导。事务现在根据其 ID 排序。
- BZ#769864
- 如果其中一个仓库有 "skip_if_unavailable=1" 设置且不可用,"yum makecache"命令可能会失败。现在,这些仓库会如预期跳过。
- BZ#798215
- Yum 工具可能会意外终止,并显示类似如下的回溯:
_init__.py:2000:downloadPkgs:UnicodeEncodeError: 'ascii' codec can't encode character
这是因为 Yum 无法处理在软件包下载过程中生成的 UTF-8 字符的本地化错误消息。错误消息中的 UTF-8 字符现在可以正确处理,本地化的错误信息会如预期显示。 - BZ#735333
- 失败时,"yum clean"命令会返回一个不正确的错误代码,输出包含表示 yum 成功执行了 clean 操作的消息。yum 工具现在只返回错误消息和正确的错误代码。
- BZ#817491
- 如果"yum provides"命令是通过空字符串参数调用的,则 yum 以回溯形式终止。命令现在返回一个错误消息和命令用法信息。
功能增强
5.371. yum-utils
程序错误修复
- BZ#701096
- 在以前的版本中,如果软件包没有下载,reposync 工具会错误地设置退出代码 "0"。在这个版本中,修改底层代码,如果软件包没有正确签名或无法下载,reposync 现在会设置退出代码 "1"。
- BZ#711767
- 在此次更新之前,yumdownloader 工具尝试从提供该特定软件包的所有仓库中下载软件包。因此,首次下载一条信息后,会显示该文件已存在的信息。这个版本修改了 yumdownloader,以避免重复下载尝试。
- BZ#737597
- 在此次更新之前,yum-debug-restore 工具只识别安装了最新版本的软件包。因此,旧的内核软件包不会被恢复。这个版本添加了对 "installonly" 软件包的支持,因此恢复了整个安装的内核软件包集合。
- BZ#782338
- 在此次更新之前,package-cleanup 工具的手册页没有提到"--count"选项的更改语义。在这个版本中,修改 man page 以便 "--count" 选项可以被正确记录。
功能增强
- BZ#684925
- 在此次更新之前,yum 无法列出依赖项以及满足这些依赖项的存储库中已安装的软件包。在这个版本中,添加了 "show-changed-rco" 命令,以提供安装或旧文件中对 Requires、Conflicts 和 Obsoletes 数据的更改的紧凑描述。
- BZ#710579
- 在此次更新之前,repodiff 工具只根据软件包名称进行比较。在这个版本中,在 repodiff 工具中添加了 "--compare-arch" 选项,以比较架构。
- BZ#769775
- 在以前的版本中,package-cleanup 工具无法正确处理 kernel-PAE 和 kernel-xen 软件包。这个版本添加了对 kernel-PAE 和 kernel-xen 软件包的支持。
5.372. zsh
5.372.1. RHBA-2012:0937 - zsh 程序错误修复和功能增强更新
错误修复
- BZ#657300
- 在此次更新之前,zsh shell 试图在 ksh 模式下运行时在"-n"选项中执行数学表达式。因此,在运行语法时 zsh 会发出错误。在这个版本中,修改源代码,以便在使用 "-n" 选项时像任何其他命令一样处理数学表达式。
功能增强
- BZ#612685
- 在此次更新之前,无法在"$PATH"中列出其位置的脚本,无法使用 zsh shell 运行。在这个版本中,用户可以在直接调用 zsh 时,使用 "-o pathscript" 选项从 "$PATH" 选项调用脚本来搜索路径。
5.373. rhnlib
5.373.1. RHBA-2013:1212 - rhnlib 程序错误修复更新
错误修复
- BZ#993086
- 如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。
5.374. rhn-client-tools
错误修复
- BZ#993080
- 如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。
功能增强
- BZ#993073
- 虽然 Satellite 5.3.0 现在能够通过 API 调用获取 CPU 数量,但无法从注册的系统获取套接字数量。在这个版本中,添加了一个功能,用于通过 API 调用从 Satellite 获取受管系统中的物理 CPU 插槽数量。