第 7 章 更新的软件包
7.1. 389-ds-base
轻量级目录访问协议
(LDAP)服务器和命令行工具。
安全修复
- CVE-2012-4450
- 在执行 LDAP 修改相对可分辨名称(modrdn)操作后,389 目录服务器 强制执行 ACL 的方式中发现了一个安全漏洞。使用 modrdn 移动树部分后,在服务器重启前,在移动(Distinguished Name)上定义的 ACL 不会被正确强制执行。这样,LDAP 用户可以访问应受定义的 ACL 限制的信息。
程序错误修复
- BZ#742054
- 在以前的版本中,389 目录服务器 不支持 Simple Authentication and Security Layer (SASL) PLAIN 机制。这个机制已添加到支持的 SASL 机制列表中。
- BZ#742381
- 由于
cn=config
后缀下的某些更改,当属性值被删除,然后在同一修改操作中添加回来时,返回53 错误
。因此,无法重置配置。在这个版本中,如果属性添加到同一修改操作中,并且重置配置文件,则允许删除操作成功。 - BZ#757836
- 在以前的版本中,
logconv.pl
脚本使用等于 0 (conn=0
)的连接号作为重启点,这会导致脚本返回不正确的重启统计信息。底层源代码已被修改,389 Directory Server 现在被配置为使用与 1 (conn=1
)相同的连接号作为重启点。 - BZ#803873
Windows Sync
功能使用搜索过滤器中的名称来执行内部搜索来查找条目。括号 “(” 和 “)” 是LDAP
协议中的特殊字符,因此必须转义。但是,尝试同步 Active Directory (AD)服务器名称中包含括号的条目会失败并显示错误。在这个版本中,389 目录服务器 可以正确地转义括号和同步现在可以正常工作。- BZ#818762
- 当在目录服务器中有一个条目(DS)时,其用户名、组名称或两者与 AD 中的条目相同,并且 AD 中的条目同时超出
Windows Sync
功能的范围,则 DS 条目已被删除。在这个版本中,为 Windows Sync agreement 条目添加了新的winSyncMoveAction
DS 属性,它允许用户指定超出范围的 AD 条目的行为。该值可设置为:默认情况下,值设为- 无,这意味着超出范围的 AD 条目与相应的 DS 条目都不做;
删除
,这意味着超出范围的 AD 条目会删除对应的 DS 条目;- 不同步,这意味着超出范围的 AD 条目与相应的 DS 条目不同步,并对任一条目所做的更改不会同步。
none
,这将修复此错误。 - BZ#830334
- 由于对错误代码的解释不正确,目录服务器认为无效的链配置设置作为
磁盘完整
错误,并意外关闭。这个程序错误已通过使用正确的错误代码解决,目录服务器现在不再因为配置设置的无效链而终止。 - BZ#830335
- 在以前的版本中,从副本中恢复
ldif
文件,它有一些旧的更改还没有看到,可能会导致这些更新不会复制到其他副本。有了这个更新,389 目录服务器 检查 更改序列号 (CSN),并允许复制旧的更新。因此,所有副本都会保持同步。 - BZ#830336
- 当目录服务器处于大量读写负载时,处理更新请求时,以下错误信息或其他类似的
DB_LOCK_DEADLOCK
错误消息会出现在错误日志中:entryrdn-index - _entryrdn_put_data: Adding the parent link (XXX) failed: DB_LOCK_DEADLOCK: Locker killed to resolve a deadlock (-30994)
这些错误在这样的情形中很常见,不需要在错误日志中报告它们。在这个版本中,389 目录服务器
确保这些错误被正确处理,且不会在错误日志中记录这些消息。 - BZ#830337
- 当目录服务器配置为使用多 master 复制和
Entry USN
插件时,delete 操作不会复制到其他 master。这个版本修改Entry USN
插件,以防止它将 delete 操作改为 delete tombstone 操作,并在登录到更改日志前删除操作,以重播到其他服务器。因此,delete 操作会如预期复制到所有服务器。 - BZ#830338
- 在以前的版本中,389 目录服务器 没有刷新其 Kerberos 缓存。因此,如果为已经对目录服务器进行身份验证的主机发出了新的 Kerberos 票据,则这个服务器将被拒绝,直到重启为止。在这个版本中,在身份验证失败后,Kerberos 缓存会被清除,在上述场景中 389 目录服务器 可以正常工作。
- BZ#830343
- 将
Managed Entry
插件与其他插件结合使用,如分布式数字分配
(DNA)、成员
和Auto Member
会导致删除受管 Entry
插件条目的操作出现问题。manager
条目已被删除,但受管条目
没有。改进了死锁重试处理,以便在同一数据库操作过程中同时删除这两个条目。 - BZ#830344
- 在以前的版本中,错误日志中记录的复制错误可能包含不正确的信息。在这个版本中,复制错误已修改为在诊断和修复问题时更有用。
- BZ#830346
- 启用目录服务器中的审计日志记录时,LDAP ADD 操作会被忽略,且不会记录。在这个版本中,删除了审计日志代码中导致 ADD 操作被忽略的回归,LDAP ADD 操作现在可以按预期记录到审计日志中。
- BZ#830348
- 由于复制停止代码中代码较长的睡眠间隔,所以具有大量复制协议的 389 目录服务器 需要大量时间关闭。这个睡眠间隔已减少,以加快系统终止的速度。
- BZ#830349
- 在以前的版本中,在 SASL 映射定义中,使用包含 & “;” 字符的复合搜索过滤器会失败,因为 “&” amp; 字符被转义。底层源代码已被修改并使用包含 “&” amp; 字符的过滤器进行搜索。
- BZ#830353
- 当 389 目录服务器 使用
Managed Entry
插件或DNA
插件时,valgrind
工具会报告内存错误和泄漏。在这个版本中,应用了补丁来防止这些问题,现在可以正确使用和删除内存。 - BZ#832560
- 当配置复制并发生冲突时,在某些情况下,错误检查没有发现这种冲突,因为另一个 master 已被删除
to-be-deleted
属性。因此,冲突会终止服务器。这个版本改进了错误检查,以防止复制冲突使服务器崩溃。 - BZ#833202
- 在以前的版本中,因为死锁,在重试失败的事务时,缓存中的内部条目会被释放。这个行为会导致目录服务器出现问题,这个服务器可能会在更新负载过重时终止。在这个版本中,缓存的内部条目不再释放,目录服务器不会在上述场景中崩溃。
- BZ#833218
- 由于死锁处理不正确,数据库会报告错误,而不是重试事务。因此,在负载过重时,目录服务器在尝试写入数据库时会遇到死锁错误。死锁处理已被修复,389 Directory Server 可以正常工作。
- BZ#834047
- 内部访问控制禁止删除新添加的或修改的密码。如果该用户具有修改权限,则允许用户删除任何密码。
- BZ#834054
- 某些操作(除
LDAP Modify
操作)可能会导致 389 目录服务器 修改内部属性。例如,BIND
操作可能会导致更新密码失败计数器。在这些情况下,389 目录服务器 更新只能在显式LDAP 修改
操作期间更新的属性,如modifyTimestamp
属性。在这个版本中,添加了一个新的内部标志,用于跳过修改操作以外的这些属性的更新。 - BZ#834056
- 由于
Auto Memmber
插件中有一个无效的配置设置,目录服务器在某些情况下会变得无响应。在这个版本中,配置文件会被验证,不允许无效的配置,服务器不再挂起。 - BZ#834057
- 在使用 SNMP 监控时,389 目录服务器 在启动时终止,因为
ldap
-agent.confldap
- BZ#834064
- 在以前的版本中,在 pre-operation 阶段递增
dnaNextValue
计数器。因此,如果操作失败,计数器仍然递增。这个 bug 已被修复,如果操作失败,则dnaNextValue
计数器不会递增。 - BZ#834065
- 当在没有 LDAP BIND 凭证的情况下添加复制协议时,复制过程会失败,并显示多个错误。在这个版本中,389 目录服务器 验证复制配置,并确保提供了所有必要的凭证。因此,在尝试使用 无效凭证复制前,389 目录服务器会拒绝无效的复制配置。
- BZ#834075
- 在以前的版本中,
logconv.pl
脚本没有获取正确的搜索基础,因此搜索统计无效。创建了一个新的哈希,用于存储搜索操作中的连接和操作号。现在,logconv.pl
会获取正确的搜索基础,不再生成不正确的统计信息。 - BZ#838706
- 使用
referential Integrity
插件时,重命名用户 DN 不会在用户的组中重命名用户的 DN,除非该大小完全匹配。在这个版本中,执行不区分大小写的比较或 DN 规范化,以便在重命名用户时更新成员属性。 - BZ#840153
- 在以前的版本中,
属性唯一
插件与非规范化值进行比较。因此,使用这个插件并在包含其中一个属性的条目上执行LDAP RENAME
操作,该插件针对唯一性进行了测试,这会导致LDAP RENAME
操作失败,并显示以下错误:Constraint Violation - Another entry with the same attribute value already exists.
在这个版本中,属性的唯一性
可确保在以相同方式规范化的值之间执行比较,在这种情况下,LDAP RENAME
可以正常工作。 - BZ#841600
- 当将 referential Integrity 插件与大于 0 的延迟时间搭配使用时,
LDAP RENAME
操作是在带有由Referential
插件范围下的一个或多个组条目指定的Integrity
用户条目中
执行的,则组条目 DN 中的用户条目 DN 不会改变。底层源代码已被修改,在上述场景中
LDAP RENAME
操作可以正常工作。 - BZ#842437
- 在以前的版本中,在某些
MODIFY
操作时,DNA
插件可能会泄漏内存。在这个版本中,会应用一个补丁来修复这个错误,且修改会按预期释放,且没有内存泄漏。 - BZ#842438
- 为提高性能,如果可能,条目缓存大小应该更大,然后主数据库大小。在以前的版本中,389 Directory Server 不会警告用户条目缓存的大小太小。因此,用户无法注意到条目缓存的大小太小,它们应该放大。在这个版本中,检查配置的条目缓存大小和主数据库大小,如果条目缓存太小,则会在错误日志中记录警告。
- BZ#842440
- 在以前的版本中,
Memberof
插件代码执行冗余 DN 规范化,因此会减慢系统的速度。底层源代码已被修改,以消除冗余 DN 规范化。 - BZ#842441
- 在以前的版本中,目录服务器可能会禁止使用
ldapmodify
操作对nsds5ReplicaStripAttrs
属性所做的更改。因此,只能在服务器关闭时在dse.ldif
文件中手动设置属性。在这个版本中,用户可以使用ldapmodify
操作设置nsds5ReplicaStripAttrs
属性。 - BZ#850683
- 在以前的版本中,389 Directory Server 不会检查
nsds5ReplicaEnabled
功能的属性值,这会导致禁用此功能。在这个版本中,389 目录服务器 检查nsds5ReplicaEnabled
的属性值是否有效,并在其没有时报告错误。 - BZ#852088
- 当将多主机复制或数据库链与
TLS/SSL
协议搭配使用时,使用基于客户端证书的验证的服务器无法连接,且连接错误出现在错误日志中。在这个版本中,内部 TLS/SSL 和证书设置会被正确执行,服务器之间的通信可以正常工作。 - BZ#852202
- 在以前的版本中,复制代码中有一个竞争条件。当两个或者多个供应商同时更新大量加载的消费者时,消费者可能会在某些情况下,切换到总更新模式、擦除数据库以及中止复制并显示错误。底层源代码已被修改以防止竞争条件。现在,连接可以防止多个线程和多个供应商的访问。
- BZ#852839
- 由于使用未初始化的变量,在某些情况下,大量加载的服务器处理多个同时删除操作可能会意外终止。这个更新提供了一个补丁,用于正确初始化变量,目录服务器在这些情况下不再崩溃。
- BZ#855438
- 由于不正确的尝试将
cleanallruv
任务发送到 Windows WinSync 复制协议,因此该任务变得无响应。在这个版本中,WinSync 复制协议会被忽略,druv 任务不会在上述场景中挂起。 - BZ#856657
- 在以前的版本中,
dirsrv
init 脚本总是返回 0,即使一个或多个定义的实例都无法启动。在这个版本中,一个改进底层源代码和dirsrv
的补丁在任何定义的实例失败时不再返回 0。 - BZ#858580
- schema reload 任务在 schema 目录中重新加载 schema 文件。同时,
Directory 服务器
具有多个内部模式,它们不存储在 schema 目录中。这些架构在执行 schema reload 任务后会丢失。因此,添加posixAccount
类会失败。在这个版本中,内部模式在散列表中存储,并使用外部模式重新加载。因此,添加posixAccount
成功。 - BZ#863576
- 当取消一个 Simple Paged Result 请求时, 389 Directory Server 会尝试获取连接锁定两次,因为连接锁定不会自我重新考虑,389 目录服务器正在等待锁定,并停止服务器。这个更新提供了一个补丁,可在上述场景中消除第二个锁定和 389 目录服务器 可以正常工作。
- BZ#864594
- 在以前的版本中,匿名资源限制应用到
目录管理器
。但是,目录管理器不应有任何限制。在这个版本中,Aonymous Resource Limits 不再应用到目录管理器。 - BZ#868841
- 即使 AD 中的条目不包含 POSIX 帐户条目的所有必要属性,该条目也会作为 POSIX 条目同步到 DS。因此,“因为缺少属性” 错误,同步会失败。在这个版本中,如果条目没有所有必需的属性,则 POSIX 帐户相关属性将被丢弃,该条目会作为普通条目同步。因此,同步可以成功。
- BZ#868853
- 启用复制级别日志记录时,
Windows Sync
功能会输出它检测到的 Windows 或 AD 版本。在以前的版本中,如果这个功能检测到 Windows Server 2003 或更高版本,它会输出以下信息:detected win2k3 peer
对于具有较新版本的 Windows 的用户(如 Windows Server 2008),此消息可能会造成混淆。这个版本修改了信息,现在会输出以下信息:detected win2k3 or later peer
- BZ#870158
- 当目录服务器负载过重时,使用
Entry USN
功能删除条目会导致错误处理 tombstone 条目索引。因此,服务器可能会变得无响应。这个更新修复了 389 目录服务器,以正确处理 tombstone 索引,因此服务器在这种情况下不再挂起。 - BZ#870162
- 在以前的版本中,如果 operation to abandon 存在,则 abandon 请求会被检查。当搜索操作已经完成并且操作对象被释放后,简单页面结果请求可能会因为此检查而失败。这个版本修改了 389 目录服务器 来跳过操作存在检查,以便始终成功中止 Simple Paged Results 请求。
- BZ#875862
- 在以前的版本中,
DNA
插件会尝试为dnaMagicRegen
属性解引用 NULL pointer 值。因此,如果启用了DNA
,且没有在其配置中指定dnamagicregen
值,并且添加了一个触发 DNA 值生成的属性,服务器可能会意外终止。这个版本改进了 389 目录服务器,在尝试解引用这个值前检查空dnamagicregen
值。因此,如果没有指定dnamagicregen
属性,389 目录服务器 不再崩溃。 - BZ#876694
- 在以前的版本中,要检查是否存在新的高级条目的代码,只有在目录管理器请求操作时才会返回 “No such object” 错误。因此,如果普通非 root 用户尝试使用
modrdn
操作将条目移到不存在的父项,服务器会意外终止。在这个版本中,提供了一个补丁来删除 Operator 条件,因此即使请求者是普通用户,即使请求者是普通用户,modrdn
操作也会成功对不存在的父用户失败。“” - BZ#876727
- a if 过滤器包含一个范围搜索,搜索会为每个
idl_fetch
属性检索一个 ID,并使用idl_union()
函数将其合并到 ID 列表中。这个过程很慢,特别是在范围搜索结果大小较大时。在这个版本中,389 目录服务器 使用nsslapd-rangelookthroughlimit
开关而不是创建一个完整的 ID 列表来切换到ALLID
模式。因此,范围搜索需要较少的时间。 - BZ#889083
- 在以前的版本中,如果在没有插件 interference 的情况下添加或创建了条目,
nsslapd-plugin-track-binddn
功能会使用原始绑定 DN 填充internalModifiersname
和internalCreatorsname
属性的值,而不是修改或添加条目的实际插件的名称。这个行为是不需要的;因此,nsslapd-plugin-track-binddn
已被修改来显示执行这些操作的实际插件的名称。 - BZ#891930
- 在以前的 389-ds-base 软件包版本中,当值范围被处理导致返回以下错误消息时,会尝试向
DNA
插件添加新条目:ipa: ERROR: Operations error: Allocation of a new value for range cn=posix ids,cn=distributed numeric assignment plugin,cn=plugins,cn=config failed! Unable to proceed.
这个消息缺少 389-ds-base 软件包的最新版本中缺少所有附加信息。在这个版本中,应用补丁来为返回的错误消息提供附加信息。 - BZ#896256
- 在以前的版本中,升级 389-ds-base 软件包会影响配置文件。因此,默认会恢复到自定义配置文件。这个版本提供了一个补丁,以确保在升级过程中保留配置文件中的自定义更改。
功能增强
- BZ#746642
- 此更新允许
PAM Pass-through
插件通过身份验证过程传递给不同的 PAM 堆栈,具体取决于用户条目的域成员资格或其中的一些属性。用户现在可以使用来自正确 AD 服务器的凭证和帐户数据登录到红帽目录服务器。 - BZ#768084
- 此增强改进了
自动成员
插件,以检查现有条目,并在添加了这些条目时写入更改。 - BZ#782975
- 在以前的版本中,某些 BIND 可能会导致带有
modifiersname
或modifystimestamp
属性的条目才会更新。这个行为会导致不必要的复制流量。此增强引入了新的复制功能
,以减少 BINDs 导致的复制流量。 - BZ#830331
- 此功能增强添加了新的
Disk Monitoring
插件。当磁盘分区填满时,Disk Monitoring
会返回警告。 - BZ#830340
- 在以前的版本中,需要执行两个任务来清理整个复制环境、清理任务和发行任务。在这个版本中,这些任务包含在
Cleanallruv
功能中。 - BZ#830347
- 在以前的版本中,
Paged Results
搜索只允许在每个连接执行一个请求。如果用户使用一个连接,则不支持多个 Paged Results 请求。在这个版本中,增加了对多个 Paged Results 请求的支持。 - BZ#830355
- 在这个版本中,Database Replica Update Vector (RUV)中的过时的元素可以使用
CLEANRUV
操作删除,这会在单个供应商或 master 上删除它们。 - BZ#833222
- 此功能增强改进了
memberOf
插件,可在多个后端或后缀间工作。 - BZ#834046
- 在这个版本中,
Directory 服务器
模式已使用nsTLS1
属性更新,以便更轻松地TLS/SSL
配置。 - BZ#834049
- 在这个版本中,
Directory 服务器
模式已被更新,以包含DNA
插件属性。 - BZ#834052
- 此功能增强改进了
访问控制功能,
以控制 Directory Manager 帐户。 - BZ#834053
- 此功能增强增加了在不更改 operation
modifiersname
属性的情况下执行内部修改操作的功能。 - BZ#834058
- 在这个版本中,
logconv.pl
脚本已使用getopts()
功能进行了改进。 - BZ#834060
- 在以前的版本中,当达到的最大尝试次数时,不会触发密码锁定进程,但时间后会触发。这个行为与其他供应商的 LDAP 服务器不一致。此增强添加了新的选项,允许用户指定密码锁定行为。
- BZ#834061
- 在以前的版本中,DS 不包括
SO_KEEPALIVE
设置,连接无法正确关闭。此增强实现了 DS 连接的SO_KEEPALIVE
设置。 - BZ#834063
- 在这个版本中,添加了新的
passwordTrackUpdateTime
属性。此属性记录上次更改密码时的时间戳。 - BZ#834074
- 此增强将新的
nsds5ReplicaEnabled
属性添加到复制协议中。如果复制协议被禁用,它似乎已被删除,但可轻松重新启用和恢复。 - BZ#847868
- 在以前的版本中,
Windows Sync
插件不支持 RFC 2307 和 2307bis 类型 POSIX 模式,它支持 Windows Active Directory (AD)。在这些情况下,用户必须手动同步 AD 和 DS 之间的数据,这可能会返回错误。此增强更改了 POSIX 属性以防止这些后果。注意请注意,对于初始版本,在向 DS 添加新用户和组条目时,POSIX 属性不会与 AD 同步。向 AD 添加新用户和组条目到 DS 同步,并通过修改属性同步这两个条目。 - BZ#852087
- 此功能增强改进了
目录服务器
模式,以允许为nsslapd-readonly
属性设置访问控制。
安全修复
- CVE-2013-4283
- 发现 389 目录服务器没有正确地处理某些带有虚假名称(DN)的 MOD 操作。一个远程的未经身份验证的攻击者可以使用此缺陷导致 389 目录服务器崩溃。
7.2. abrt、libreport 和 btparser
libreport
库提供了一个 API,用于向不同的错误目标(如 Bugzilla、ftp 和 trac)报告应用程序的不同问题。
程序错误修复
- BZ#799909
- 当用户尝试使用 abrt-cli 程序删除不存在的问题目录时,brt-cli 会发出混淆的错误消息,如下例所示:
# abrt-cli rm sdfsdf 'sdfsdf' does not exist Can't connect to '/var/run/abrt/abrt.socket': Connection refused
在这个版本中,brt-cli 被修改为只显示一条信息,通知此类问题目录不存在。 - BZ#808721, BZ#814594
- 当多个内核在短时间内发生时,ABRT 只保存第一个 oops,因为随后的 oopses 主要是第一个问题的结果。但是,ABRT 错误地对已处理的 oopses 进行排序,以便保存的最后 oops 而不是第一个 oops。在这个版本中,ABRT 被修改为以正确顺序处理多个内核 oopses,以便 ABRT 现在可以按预期保存第一个 oops。
- BZ#810309
- 由于配置不正确,ABRT 尝试使用 abrt-bodhi 命令(Red Hat Enterprise Linux 中不可用),同时分析回溯追踪。因此,用户可以在问题回溯中看到以下出错信息:
/bin/sh: line 6: abrt-bodhi: command not found
但是,错误消息对问题报告进程没有影响。在这个版本中,修正了 ABRT 配置,以便从分析器事件中删除 abrt-bodhi 命令,并且不再发生错误消息。 - BZ#811901
- 在以前的版本中,ABRT 预期系统上始终存在 dbus-send 命令。但是,ABRT 不依赖于相关的 dbus 软件包,因此无法保证在系统中安装该命令。因此,当处理使用 dbus-send 命令且未安装 dbus 软件包的事件时,ABRT 向系统日志发出以下出错信息:
abrtd: /bin/sh: dbus-send: command not found
在这个版本中,ABRT 已被修改,在尝试调用此命令前验证 dbus-send 是否存在。上述错误消息不再发生在系统日志中。 - BZ#813283
- 在以前的版本中,当使用不存在的问题目录运行 report-gtk 命令时,ABRT GUI 会尝试处理问题目录。因此,终端会大量,带有 GTK 错误消息。在这个版本中,ABRT GUI 已修改为不再处理不存在的问题目录。GUI 现在只打印一条信息,告知已处理的目录不存在并安全退出。
- BZ#817051
- 即使执行不需要问题目录的操作,如向现有错误报告添加附件,也必须从问题目录中执行报告工具。当从不是问题目录的目录中运行时,报告工具会失败并显示以下错误消息:
'.' is not a problem directory
在这个版本中,如果指定了 "-t" 选项,则报告工具已被修改为不需要问题目录。现在,报告工具可用于更新现有错误报告,而无需在问题目录中运行。 - BZ#815339, BZ#828673
- 由于默认 libreport 配置中的错误,ABRT 会尝试运行 reporter-bugzilla 命令,默认没有安装它。这会导致在问题报告过程中出现以下警告信息:
/bin/sh: line 4: reporter-bugzilla: command not found
但是,报告过程不受这个警告信息的影响。在这个版本中,libreport 的默认配置已被默认配置被默认配置中的 ABRT 调用,reporter-bugzilla 不再被 ABRT 调用。上述警告信息在报告过程中不再显示。 - BZ#820475
- 在以前的版本中,abrt-ccpp 初始化脚本不会发出任何状态消息,以便服务 abrt-ccpp status 命令不会显示任何输出。在这个版本中,修正了 abrt-ccpp 初始化脚本,以便在 abrt-ccpp 服务正在运行 "abrt-ccpp hook is installed" 信息时。如果 abrt-ccpp 停止,则会出现 "abrt-ccpp hook is not installed" 信息。
- BZ#826745
- 某些 ABRT 库之前使用错误链接器参数构建,在这些库上运行预链接时,库会返回错误消息,但库包含"未定义的非弱符号"。在这个版本中,相关的 makefile 已被修正,上述错误不会在 prelink 阶段发生。
- BZ#826924
- ABRT 在检测到问题时运行 sosreport 工具。但是,如果检测到的问题是由 sosreport 导致的,ABRT 可以在无限循环中运行 sosreport。因此,在大量系统资源消耗时,brtd 变得无响应。在这个版本中,修改了 ABRT,忽略在 20 秒时间段内发生的同一组件中的 consequent 崩溃。如果 sosreport 崩溃,则 abrtd 守护进程不再挂起。
- BZ#847227
- ABRT 之前,将捕获的 vmcore 文件从 /var/crash/ 目录中的默认位置移到 /var/spool/abrt/ 目录中。这会影响预期 /var/crash/ 目录中存在 vmcore 文件的各种工具的功能。在这个版本中,修改 ABRT 以使用 CopyVMcore 配置选项来指定是否复制或移动核心文件。默认情况下,ABRT 不再从 /var/crash/ 目录中移动 vmcore,但会复制它。
- BZ#847291
- 当使用 /var/spool/abrt/ 目录的磁盘空间达到指定的磁盘空间配额时,ABRT 查找并删除最大的问题目录。但是,当 /var/spool/abrt/ 中的最大目录不是问题目录时,ABRT 之前无法处理的情况。在搜索要删除的最大目录时,ABRT 无法删除此目录并进入无限循环。在这个版本中,在决定需要删除哪个问题目录时修改 ABRT 以排除未知目录。在这种情况下,abrtd 守护进程不再挂起。
- BZ#856960
- 当为集中式崩溃集合配置时,ABRT 之前将日志凭据以纯文本形式打印到专用系统上的 /var/log/messages 日志文件,同时上传崩溃报告。这是一个安全风险,因此 ABRT 已修改为不再在日志消息中打印 libreport-plugin-reportuploader 插件凭证。
- BZ#873815
- 在处理大量问题时,inotify 处理代码可能会不同步,从而导致无法读取 inotify 事件。最终,在尝试读取 inotify 事件时,brtd 变得无响应。如果发生这种情况,并且 Python 应用程序试图与 ABRT 通信,则brtd 和 Python 应用会进入死锁情况。守护进程忙碌尝试读取传入的 inotify 事件,而 Python 脚本正在等待来自brtd 的响应,这会导致应用程序变得无响应。在这个版本中,ABRT 异常处理程序会在用于brtd 和 Python 脚本之间的通信以及 inotify 处理代码之间设定超时。abrtd 守护进程和 Python 应用程序不再挂起,但负载过重,inotify 处理代码仍然可以同步,这会导致停止接受新的问题。如果brtd 停止接受新问题,则必须重新启动它才能再次正常工作。
7.3. alsa-utils
功能增强
- BZ#814832
- alsa-utils 软件包已被改进,以便与 GNOME 卷控制小程序和声音首选项用户界面更好地工作。
7.4. amanda
错误修复
- BZ#752096
- 在以前的版本中,运行 AMANDA 所需的 amandad 守护进程位于 amanda-client 软件包中,但安装 amanda-server 软件包时不需要此软件包。因此,AMANDA 无法正常工作。amanda-client 软件包已添加到 amanda-server 依赖项中,AMANDA 现在可以正常工作。
7.5. anaconda
程序错误修复
- BZ#803883
- 由于多路径输出解析代码中的一个错误,当在带有 JBOD 的 IBM Power 系统上安装 Red Hat Enterprise Linux 6 时(Joined Body Of Disks - 多个附加到同一 SAS 控制器的硬盘驱动器)时,Anaconda 可以将这些硬盘驱动器检测为多路径设备。这会导致硬盘驱动器的分区失败,从而导致系统的安装失败。在这个版本中,解析代码和系统被正确安装。
- BZ#848741
- 当使用 ks:
bd:<bios disk>:/ks.cfg
命令行选项引导时,Anaconda 安装程序不会等待 BIOS 存储设备初始化。因此,无法找到 BIOS 存储设备,安装可能会失败。要解决这个问题,使用 ks:bd:<bios disk>:/ks.cfg 引导时,BIOS 设备的延迟算法已添加到使用ks:bd:<bios disk>:/ks.cfg
时使用的代码路径中。因此,Anaconda 会尝试等待 BIOS 设备初始化。 - BZ#828650
- 文件系统从 ext2 迁移到 ext3 无法正常工作,因为 Anaconda 没有使用新的 ext3 文件系统类型修改
/etc/fstab
文件。因此,在安装后,文件系统被挂载为 ext2 文件系统。有了这个更新,Anaconda 可以正确地在/etc/fstab
中设置迁移的文件系统类型。因此,文件系统在安装后会如预期挂载。 - BZ#886150
- 当使用包含分区方案的 kickstart 文件安装 Red Hat Enterprise Linux 6.4 Beta 时,LVM 会错误地从逻辑卷和卷组名称中删除短划线。这会导致名称格式不正确。在这个版本中解决了上述功能,在安装过程中正确格式化逻辑卷和卷组名称。
- BZ#819486
- 使用 IPv6 在 z/VM 客户机上安装 Red Hat Enterprise Linux 6.3 ( Alpha 和 Beta)使用户能够 SSH 到系统,并继续语言选择屏幕。但是,在这一步后,安装将停止并关闭 SSH 会话。在这个版本中,在 Red Hat Enterprise Linux 6.4 中,z/VM 客户机上的 IPv6 安装可以成功安装。
- BZ#824963
- 在不支持的硬件上进行 kickstart 安装会导致一个对话框,要求确认,然后再继续安装过程。因此,在没有用户输入的情况下无法在不支持的硬件上执行 kickstart 安装。要修复这个程序错误,添加了一个新的 unsupported_hardware kickstart 命令,它会在在没有用户输入的情况下在不支持的硬件中安装系统时跳过交互式对话框警告。
- BZ#811197
- 当
/boot
分区位于 RAID 设备上时,返回不一致的信息,因为它不支持在这样的设备上有这个分区。这些不同消息令人困惑。要修复这个错误,错误消息已被修正,且不会相互重复。 - BZ#834689
- 安装环境中缺少包含 Microsoft 半虚拟化驱动程序的内核模块。要修复这个程序错误,在安装环境中添加了带有 Microsoft PV 的内核模块。因此,为 Microsoft 虚拟化提供了更好的支持。
- BZ#837835
- 安装环境中不包含 VMware PV 驱动程序的模块。在这个版本中,添加了带有 VMware PV 驱动程序的模块,以提供更好的虚拟化支持。
- BZ#809641
udev
设备管理器没有用于解析 kickstart raid --onpart 磁盘引用。因此,无法正确使用/dev/disk/by-id/
路径。在这个版本中,udev_resolve_devspec()
功能用于解析-onpart
命令选项。因此,raid --onpart 命令现在可以按预期使用/dev/disk/by-id/
路径。- BZ#809640
- Anaconda 安装程序没有使用
udev
设备管理器来解析/dev/disk/by-id/
名称。这意味着 kickstart 安装方法无法用于/dev/disk/by-id/
名称。要解决这个问题,Anaconda 现在使用udev
解析/dev/disk/by-id/
名称。因此,使用/dev/disk/by-id/
名称的 kickstart 安装可以正常工作。 - BZ#804557
- 当在安装了 Red Hat Enterprise Linux 的机器上使用文本模式安装系统时,当使用按钮返回时区对话框后,会出现一个回溯错误。在这个版本中,在返回升级对话框时会重新扫描磁盘,从而防止这个错误。
- BZ#840723
- 名为
modprobe
工具的 Anaconda 安装程序没有启用黑名单的-b
参数。因此,模块没有列入黑名单。要修复此程序错误,所需的参数已添加到 modprobe 调用中。因此,模块会如预期列入黑名单。 - BZ#851249
- 每当使用
fips=1
参数时,Anaconda 安装程序会在命令行中附加boot=
参数。在这个版本中,只有在使用fips=1
参数且/boot
位于独立分区时,Anaconda 才会附加boot=
参数。 - BZ#828029
- 在这个版本中,Korean 版本的警告信息中存在一个拼写错误,用于警告 root 密码的用户非常简单。
- BZ#681224
- Anaconda 安装程序没有根据存储库元数据中的校验和验证软件包校验和。Yum 实用程序可以安装与存储库元数据校验和不匹配的软件包。因此,在没有返回错误的情况下无法安装不正确的软件包。在这个版本中,增加了对仓库元数据中的校验和验证软件包 checksum。
- BZ#656315
- 安装程序文本 UI (用户界面)的 IPv6 配置选项使用描述建议误导含义。因此,描述可能会错误地认为具有 DHCPv6 的用户配置为使用 Dynamic IPv6 配置 (DHCPv6),该配置单独使用 DHCPv6,而无需使用 SLAAC 自动配置。要修复此错误,第一个选项(
自动邻居发现
)已重命名为Automatic
;它是(SLAAC)自动配置,可选择使用基于 RA 服务器配置的 DHCPv6 服务器。第二个选项(动态 IP 配置(DHCPv6)
)被重命名为Automatic,仅 DHCP
,它描述了更准确地使用的实际配置。这些描述现在与 Network Manager 使用的版本相同。因此,现在第三个选项(自动、仅 DHCP
)完全使用 DHCPv6 服务器。 - BZ#836321
- Red Hat Enterprise Linux 6.3 中 fcoe-utils 软件包的命令行界面已更改,但安装程序无法正确适应这个更改。因此,FCoE 启动器无法登录到远程存储,然后无法用于安装。要修复此程序错误,fipvlan 命令参数已被修复,可正确使用 new
-f
选项。现在,安装程序可以正确地登录到 FCoE 远程存储,并可用于安装目的。 - BZ#823690
- 没有大小数据的存储库会导致 divide-by-zero 错误。因此,安装会失败。在这个版本中,没有大小数据的存储库不会导致按零的错误信息,安装可以成功。
- BZ#848818
- 对-
hibernation
选项的支持只添加到 part 命令中。因此,--hibernation
无法用于 logvol 命令。为修复此错误,在 logvol 命令中添加了对-hibernation
的支持。因此,--hibernation
现在可以用于 logvol 命令。 - BZ#784001
linksleep
选项仅用于使用值 link 对ksdevice=
引导参数应用。因此,当提供包含设备名称或 MAC 地址的值时,linksleep
引导参数不会生效。在不等待链接的情况下,根据
linksleep
boot 参数的要求,安装程序可能会失败。要解决这个问题,linksleep
引导参数已添加到指定了 to-be-activated 设备的代码路径中。因此,在提供ksdevice
引导参数时,也会满足linksleep
boot 参数,其中提供了包含设备名称或 MAC 地址的值。- BZ#747278
- Anaconda 安装程序没有检查逻辑卷管理器(LVM)卷组名称或逻辑卷名称长度。因此,创建磁盘分区时出错。要修复这个程序错误,LVM 卷组名称长度已被截断为 32 个字符,逻辑卷名称已被截断为 16 个字符。因此,安装可以成功完成。
- BZ#746925
- 在以前的版本中,在升级系统时 Anaconda 无法启用附加组件存储库。因此,附加组件存储库中的软件包不会被升级。在这个版本中,当系统升级时,Anaconda 可以启用附加软件仓库,且来自附加组件仓库中的软件包会如预期升级。
功能增强
- BZ#668065
- 有了这个更新,可以使用
vlanid=boot
and--vlanid=kickstart
选项允许用户为指定的网络设备设置虚拟 LAN ID (802.1q 标签)。通过指定其中一个选项,可以通过 VLAN 进行安装。 - BZ#838736
- 在这个版本中,用户可以在 kickstart 配置文件中选择 LUKS 加密类型。
- BZ#662007
绑定引导
,--
选项现在可用于将绑定配置为安装过程的一部分。有关如何配置绑定的更多信息,请参阅 Red Hat Enterprise Linux 6 安装指南的以下部分: Kickstart 选项 部分和 引导选项 章节。bondslaves
and--bondopts kickstart- BZ#813998
- 当使用 kickstart 文件安装 Red Hat Enterprise Linux 6.4 时,带有新的
fcoe kickstart
选项,用户现在可以指定,除了由增强磁盘驱动器(EDD)服务发现的设备外,还应自动激活通过以太网的光纤通道(FCoE)设备。如需更多信息,请参阅 Red Hat Enterprise Linux 6 安装指南 中的 Kickstart 选项部分。 - BZ#838742
- RPM 签名现在使用 sha256sum 程序而不是 md5sum 工具生成。在这个版本中,sha256sum 命令行工具包含在 Anaconda 中,并在安装过程中在 shell 中提供。
7.6. authconfig
程序错误修复
- BZ#862195
- 在此次更新之前,authconfig 工具使用旧语法在 smb.conf 文件中配置 idmap 映射,使用 "--smbidmapuid" 和 "--smbidmapgid" 命令行选项。因此,Samba 3.6 会忽略配置。这个更新调整 authconfig,以使用 idmap 范围配置的新语法,以便 Samba 3.6 能够读取它。
- BZ#874527
- 在此次更新之前,当使用选项 "--enablesssd" 或 "--enablesssdauth" 时,authconfig 工具可以编写一个不完整的 sssd.conf 文件。因此,sssd 守护进程没有启动。有了这个更新,authconfig 不再尝试在没有完整信息的情况下创建 sssd.conf 文件,sssd 守护进程现在可以按预期启动。
7.7. autofs
程序错误修复
- BZ#585059
- 当自动挂载守护进程管理大量挂载点时,卸载所有活跃挂载点可能需要的时间比预期的时间更长。如果守护进程无法在 45 秒内退出,则 autofs 初始化脚本会超时并返回假的关闭失败。要解决这个问题,init 脚本重启行为已被修改。如果初始化脚本无法停止守护进程,脚本会通过发送 SIGKILL 信号来终止守护进程,这允许 autofs 正确重启。
- BZ#819703
- 与代码匹配的自动挂载接口只能检测 IPv4 接口。因此,在使用 IPv6 时挂载点挂载不正确的挂载类型。要解决这个问题,已修改自动挂载接口匹配代码,以使用 ioctl ()签名的 getifaddrs ()函数。自动挂载接口匹配代码现在可以正确地识别 IPv6 接口,同时 IPv4 和 IPv6 挂载现在可以按预期挂载。
- BZ#827024, BZ#846852, BZ#847873
- 在以前的版本中,在使用内部主机映射时,automount 可能会意外终止分段错误。这是因为 autofs 和 libtirpc 库之间存在函数名称冲突。两个实用程序都调用相同名称的调试日志功能,但使用不同的调用签名。在这个版本中,通过重新定义 autofs 中的内部调试日志功能应用一系列补丁来解决这个问题。另外,解决了与 autofs RPC 功能相关的其他几个程序错误。当使用内部主机映射且系统上安装了 libtirpc 库时,automount 守护进程不再崩溃。
- BZ#834641
- 由于 get_nfs_info ()函数中的错误放置了端口 test,autofs 会在挂载 NFSv4 文件系统时尝试联系 portmap 服务。因此,如果服务器上禁用了 portmap 服务,则 automount 无法挂载 NFSv4 文件系统,并显示以下错误消息:
mount(nfs): no hosts available
在这个版本中,端口检查已移到代码中的正确位置,以便自动挂载在挂载 NFSv4 文件系统时不再联系服务器的端口映射程序。在这种情况下,NFSv4 文件系统会如预期挂载。 - BZ#836422
- 在以前的版本中,在卸载映射中的所有条目前,无法刷新 autofs 内部主机映射。因此,用户无法访问新导出的 NFS 共享,任何尝试访问此类共享都会失败,并显示 "No such file or directory" 错误消息。在这个版本中,可以通过向自动挂载守护进程发送 HUP 信号来更新服务器导出列表。这会导致 automount 请求服务器导出,以便可以更新主机映射和相关自动挂载。现在可以按预期访问新导出的 NFS 共享。
- BZ#845512
- 在以前的版本中,autofs 初始化脚本显示的使用情况信息不包含"usage"命令条目。在这个版本中,修正了 init 脚本,因此它现在可以按预期显示所有可与 autofs 服务搭配使用的命令。
- BZ#856296
- 当停止 autofs 服务时,autofs 无法正确处理在 autofs 主映射条目中对应的映射条目后出现的空映射条目的情况。因此,automount 会尝试卸载不存在的自动点,并变得无响应。在这个版本中,修改 autofs 以正确处理 null 映射条目,因此不再尝试卸载不存在的自动挂载点。autofs 服务现在可以按预期正常停止。
- BZ#860184
- 在以前的版本中,autofs init 脚本不允许非特权用户运行任何命令。但是,需要让非 root 用户检查 autofs 的状态,例如监控。因此,这个更新会修改 autofs 初始化脚本,以允许非特权用户执行 service autofs status 命令。
- BZ#865311
- 以前版本的 autofs 在 auto.master (5) man page 和 autofs.sysconfig 和 autofs.conf 配置文件中包含几个拼写错误和误导信息。在这个版本中修正了这些 bug,包括 MOUNT_NFS_DEFAULT_PROTOCOL 和 MOUNT_WAIT 选项的描述。
- BZ#868973
- 当尝试从无法访问的 NFSv4 服务器挂载 NFSv4 共享时,autofs 不会关闭 IPv6 UDP 套接字。这最终可能会导致出现自由文件描述符和自动挂载失败。这个更新修改了 autofs 以按预期关闭 IPv6 UDP 套接字,并且 automount 不再因为上述场景中打开的文件而失败。
- BZ#892846
- 当将 autofs 与 LDAP 搭配使用时,用于执行基本 DN 搜索的代码允许同时发生执行相同功能的两个线程之间的竞争。因此,autofs 可能会尝试访问已释放的内存,并意外终止并出现分段错误。在这个版本中,用于执行基本 DN 搜索的代码已移到 mutex 保护的功能中,这可防止争用发生。现在,仅在刷新映射查找模块的设置时才执行基本 DN 搜索。
功能增强
- BZ#846870
- 在这个版本中,修改 autofs 以允许为 autofs 主映射映射中的单个直接映射条目配置单独的超时值。
- BZ#859947
- 有了这个更新,auto.master (5)手册页已被更新,以记录 FORMAT 选项部分中的"-t、--timeout"选项。
- BZ#866338
- auto.master (5)手册页已更新,以便在与直接挂载映射一起使用时清除"nobind"选项的描述。
- BZ#866396
- autofs.spec 文件已被修改,以更新 autofs sss 接口库的构建依赖项。这个程序库现在需要 libsss_autofs 软件包,而不是 sssd。
- BZ#822733
- 这个版本改进了 autofs 的调试日志记录。在设置了 debug logging 时,automount 现在会报告它是否需要读取挂载映射。
错误修复
- BZ#921147
- 在以前的版本中,当有两个几乎同时挂载请求时,通过 autofs 挂载的 NFS 挂载有时会失败。这会导致主机被探测到的严重错误,autofs 会失败并显示 "mount (nfs):没有 hosts available" 错误消息。这个更新提供了一个使用数字协议 ID 的补丁,而不是 protoent 结构,autofs 的 NFS 挂载尝试不会在上述场景中失败。
错误修复
- BZ#1006163
- 在以前的版本中,当挂载新挂载时,automount 守护进程会停止响应。这是因为在线程创建过程中执行顺序竞争。在这个版本中,重构处理过期线程创建的代码,问题不再发生。
7.8. automake
安全修复
- CVE-2012-3386
- 在准备源存档时,Automake-generated Makefile 中的 distcheck 规则会创建一个目录全局可写。如果恶意的本地用户可以访问此目录,他们可以执行具有运行"make distcheck"的用户特权的任意代码。
7.9. avahi
错误修复
- BZ#599435
- 在以前的版本中,vavahi 库软件包需要 Avahi 守护进程软件包作为依赖项。因此,每当安装某些 Avahi 库时,也安装了 Avahi 守护进程,这可能会在某些环境中造成安全风险。在这个版本中,删除了这些依赖项,以便在没有 Avahi 守护进程的情况下安装 Avahi 库。
7.10. bacula
7.10.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 中。
7.11. bash
程序错误修复
- BZ#695656
- 在此次更新之前,陷阱处理程序在某些情况下可能会丢失信号,在另一个陷阱初始化过程中丢失信号。在这个版本中,在修改 trap 字符串和处理程序时会阻止信号。现在,信号不再丢失。
- BZ#799958
- 在此次更新之前,Bash 中陷阱的 man page 没有提到在稍后无法列出条目时忽略的信号。这个问题现已解决,在进入 shell 的条目时,man page 条目文本被修改为 "Signals ignored on the shell, reset or listed"。
- BZ#800473
- 在此次更新之前,当作业控制模式中收到 SIGCHLD 信号时,在信号处理程序中调用 trap 处理程序的 Bash shell 并安装了信号的处理程序。这是一个安全风险,可能会导致 Bash 输入死锁,或者因为内存损坏而意外终止分段错误。在这个版本中,trap 处理程序被调用在信号处理程序之外,Bash 不再进入死锁。
功能增强
- BZ#677439
- 这个版本启用了系统范围的 "/etc/bash.bash_logout" 文件。这样,管理员可以为所有用户编写系统范围的注销操作。
7.11.2. RHBA-2013:1096 - bash 程序错误修复更新
错误修复
- BZ#982610
- 当运行一个另一个 trap 处理程序(在管道调用期间调用)时调用 trap 处理程序时,bash 不响应。在这个版本中,管道调用会被保存,然后在此场景中恢复,bash 会正常响应。
7.12. bfa-firmware
7.13. bind-dyndb-ldap
程序错误修复
- BZ#767496
- 当使用持久性搜索时,当发出 "rndc reload" 命令时,插件有时会意外终止,因为发出 "rndc reload" 命令时失败。在这个版本中,代码已被改进,连接失败和重新连接会更可靠地处理。因此,插件不会在上述场景中崩溃。
- BZ#829388
- 在以前的版本中,一些相对域名没有正确扩展到 FQDN。因此,区传输有时会包含相对域名,但它们应该只包含 FQDN (例如,它们包含 "name." 记录而不是 "name.example.com.")。插件已被修补,因此区域传送现在包含正确的域名。
- BZ#840381
- 由于 bind-dyndb-ldap 中的一个错误,当连接到 LDAP 超时时,命名的进程有时会意外终止。因此,当连接到 LDAP 超时(或失败时),命名的进程有时会中止,DNS 服务不可用。已修复插件,因此插件现在会在连接到 LDAP 时正常处理情况。
- BZ#856269
- 由于一个竞争条件,插件有时会导致命名进程在收到重新加载请求时意外终止。因此,DNS 服务有时不可用。应用了补丁,因此重新载入过程中的竞争条件不再发生。
功能增强
- BZ#733711
- Red Hat Enterprise Linux 6.4 中的 LDAP 包括对区域及其资源记录的永久搜索支持。持久性搜索允许 bind-dyndb-ldap 插件立即通知 LDAP 数据库中所有更改。它还可减少重复轮询所需的网络带宽使用量。
- BZ#829340
- 在以前的版本中,只能在 LDAP 中配置 IPv4 转发器。在这个版本中,在插件中添加了补丁,因此插件现在可以解析和使用 IPv6 转发器。需要"forwarders"的 BIND9 语法。
- BZ#829385
- 在以前的版本中,无法在多个 master 服务器间共享一个 LDAP 数据库 ; 只能使用一个 master 服务器。添加了一个新的 bind-dyndb-ldap 选项 "fake_mname",该选项允许覆盖 SOA 记录中的主服务器名称。使用这个选项现在可以覆盖 SOA 记录中的主服务器名称,以便多个服务器可以充当一个 LDAP 数据库的主服务器。
- BZ#840383
- 当多个命名进程共享一个 LDAP 数据库并动态更新 DNS 记录时(通过 DDNS),它们不会更新 SOA 序列号,因此无法正确在次要服务器上服务此类区域(即,它们没有在从服务器上更新)。在这个版本中,如果配置为这样做,插件现在可以自动更新 SOA 序列号。如需更多详细信息,请参阅 /usr/share/doc/bind-dyndb-ldap/README 文件中的新的 "serial_autoincrement" 选项。
- BZ#869323
- 这个版本提供对禁用转发的每个区的支持。有些设置需要禁用每个区的转发。例如,公司服务器被配置为非公共区的权威,并启用了全局转发。当非公共区包含非公共子域的委派时,区域必须明确禁用转发,否则不会返回粘滞记录。现在,当启用全局转发时,服务器现在可以为私有区返回委托记录。有关详细信息,请参阅 /usr/share/doc/bind-dyndb-ldap/README。
错误修复
- BZ#928429
- bind-dyndb-ldap 插件早期处理设置,这会导致守护进程在启动或重新加载过程中意外终止,并出现分段错误。bind-dyndb-ldap 插件已被修复,以便稍后处理其选项,因此在启动或重新加载过程中不再崩溃。
7.14. bind
安全修复
- CVE-2012-5689
- 在使用 Response Policy Zones (RPZ)时,在 BIND 中的 DNS64 实现中发现了一个安全漏洞。如果远程攻击者向使用 RPZ 重写规则的指定服务器发送特殊设计的查询,named 可能会意外退出并出现断言失败。请注意,默认情况下不启用 DNS64 支持。
功能增强
- BZ#906312
- 在以前的版本中,无法配置每秒发送的最大响应数到一个客户端。这允许远程攻击者使用带有欺骗源 IP 地址的 DNS 查询进行流量放大攻击。在这个版本中,可以使用 named.conf 中的新的"rate-limit"配置选项,并配置服务器响应的最大查询数。有关 "rate-limit" 选项的详情,请参阅 BIND 文档。
7.14.2. RHBA-2013:0475 - 绑定程序错误修复更新
程序错误修复
- BZ#827282
- 在以前的版本中,initscript 有时会报告一个假的错误消息 "initscript: silence spurious "named.pid: No such file or directory",因为 DNS 服务器(named)停止时有一个竞争条件。这个假的错误消息已被禁止,在这种情况下不再报告。
- BZ#837165
- 由于 rbtdb.c 源文件中有一个竞争条件,named 守护进程可能会意外终止,并显示 INSIST 错误代码。这个程序错误已在代码中解决,命名的守护进程不会在上述场景中崩溃。
- BZ#853806
- 在以前的版本中,BIND 在 static-stub 区中拒绝"转发"和"forwarders"语句。因此,无法将某些查询转发到指定的服务器。有了这个更新,BIND 接受静态存区的选项,从而解决了这个问题。
安全修复
- CVE-2013-2266
- libdns 库中发现了一个拒绝服务漏洞的问题。远程攻击者可以使用此缺陷向指定的 DNS 查询发送特殊设计的 DNS 查询,在处理后,会导致 named 使用过量内存或可能崩溃。
错误修复
- BZ#928439
- 在以前的版本中,重建 bind-dyndb-ldap 源 RPM 失败,并带有 "/usr/include/dns/view.h:76:21: error: dns/rrl.h: No such file or directory" 错误。
7.14.4. RHBA-2013:1177 - 绑定程序错误修复更新
错误修复
- BZ#996955
- 由于缺少 gss_release_name ()调用,当 BIND 配置中使用了 "tkey-gssapi-credential" 选项时,BIND DNS 服务器会泄漏内存。当使用 "tkey-gssapi-credential" 时,这个更新会正确释放所有内存,当服务器在内部使用 GSSAPI 凭证进行身份验证时,BIND 不再泄漏内存。
安全修复
- CVE-2013-4854
- BIND 中发现了一个拒绝服务漏洞。一个远程攻击者可以使用此缺陷向指定的 DNS 查询发送特殊设计的 DNS 查询,在处理时会导致 named 在拒绝不正确的查询时崩溃。
7.15. binutils
程序错误修复
- BZ#773526
- 要显示非打印字符,readelf 工具会将 "0x40" 字符串添加到字符中。但是,在处理多字节字符时,readelf 在以前的版本中不会添加该字符串,因此 ELF 标头中的多字节字符被错误地显示。在这个版本中,底层代码已被修正,readelf 现在可以正确地显示多字节和非 ASCII 字符。
- BZ#825736
- 在某些情况下,当构建需要 GNU_RELRO 的可执行文件时,链接器可能无法生成 GNU_RELRO 段。因此,比如在启动时可执行文件会失败。此问题也会影响 libudev 库,以便 udev 工具无法正常工作。有了这个更新,链接器已被修改,现在在需要时可以正确创建 GNU_RELRO 段,以及 udev 等实用程序现在可以正常工作。
7.16. biosdevname
程序错误修复
- BZ#751373
- biosdevname 工具忽略了对 PCI 网络适配器的 SMBIOS 版本检查。因此,PCI 网络适配器接口会根据带有不支持的 SMBIOS 版本的系统上的 PCI 插槽和端口号重命名。在这个版本中,新的 biosdevname 工具可确保不支持 SMBIOS 版本,则不会重命名 PCI 网络适配器接口。因此,在上述场景中,PCI 网络适配器使用内核默认名称命名。
- BZ#804754
- 当使用带有嵌入式网络接口设备的单根 I/O 虚拟化(SR-IOV)时,biosdevname 工具不会检查相应虚拟功能的系统管理 BIOS (SMBIOS)类型。因此,biosdevname 没有为设备虚拟功能找到 SMBIOS 类型 41 结构,不建议这些在线网络接口的接口名称。在这个版本中,biosdevname 在对应的物理功能表中查找设备虚拟功能的 SMBIOS 类型 41 结构。因此,现在根据 biosdevname 命名方案重命名具有虚拟网络接口的网络设备。
- BZ#815724
- biosdevname 实用程序不处理带有多个端口的 PCI 卡。因此,根据 biosdevname 命名方案,仅重命名了这些卡的第一个端口的网络接口。应用了上游补丁,biosdevname 现在使用多个端口来处理 PCI 卡。现在,多个端口 PCI 卡的所有端口都会根据 biosdevname 命名方案进行重命名。
7.17. bridge-utils
功能增强
- BZ#676355
- man page 缺少 multicast 选项描述。在这个版本中,在 man page 中添加了这些信息。
- BZ#690529
- 此增强添加了 BRCTL (8)手册页中描述的缺失功能,允许用户使用 "brctl show $BRIDGE" 命令获取简单网桥的网桥信息。
7.18. brltty
7.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。
7.19. btrfs-progs
7.20. ccid
安全修复
- CVE-2010-4530
- CCID 驱动程序处理智能卡的序列号的方式中发现了一个整数溢出,导致数组索引错误。本地攻击者可以利用此缺陷来执行具有运行 PC/SC Lite pcscd 守护进程(默认情况下为 root)权限的用户的任意代码,方法是插入特制的智能卡。
错误修复
- BZ#808115
- 在以前的版本中,CCID 只识别具有 5V 电源的智能卡。在这个版本中,CCID 还支持具有不同电源的智能卡。
7.21. cdrkit
7.21.1. RHBA-2012:1451 - cdrkit 程序错误修复更新
错误修复
- BZ#797990
- 在此次更新之前,重叠的内存被错误地处理。因此,当使用"-graft-points"选项调用 "genisoimage" 时,新创建的路径可能会被破坏,以便在根目录以外的点上调整路径。这个版本会修改底层代码,以如预期生成 graft 路径。
7.22. certmonger
程序错误修复
- BZ#810016
- 当 certmonger 设置为不尝试获取新证书时,证书的有效剩余时间超过配置的时间为 live (TTL)阈值,certmonger 会警告证书 impending not-valid-after date。然后,certmonger 会再次记录警告,并继续无限期地记录警告,从而导致 /var/log/messages 文件填满警告。这个 bug 已被修复,只有在配置了另一个配置的 TTL 阈值或服务重启时,certmonger 会再次返回警告。
- BZ#893611
- 当 certmonger 尝试将证书保存到 NSS 数据库时,它必须打开该数据库以进行写入。在以前的版本中,如果任何其他进程(包括可能需要访问该数据库的任何其他 certmonger 任务)打开数据库进行写入,则该数据库可能会被破坏。这个版本反向移植来自更新版本的 certmonger 的更改,后者会改变其行为。现在,可以导致数据库修改的操作仅一次执行。
7.23. cifs-utils
程序错误修复
- BZ#856729
- 当 mount.cifs 实用程序耗尽地址时,它会将"系统错误"错误代码(EX_SYSERR)返回给调用者服务。现在,这个工具已被修改,它现在可以正确地返回 "Mount failure" 错误代码(EX_FAIL)。
- BZ#826825
- 通常,Microsoft Windows 系统的用户名中不允许使用"/"字符,但它们在某些类型的 kerberos 主体名称中是通用的。但是,mount.cifs 之前允许在用户名中使用"/",这会导致尝试挂载 CIFS 文件系统失败。有了这个软件包,如果指定了 "sec=krb5" 或 "sec=krb5i" 挂载选项,则现在允许用户名称中允许"/"字符,因此现在可以按预期挂载 CIFS 文件系统。
- BZ#838606
- 在以前的版本中,cifs-utils 软件包在没有 RELRO (只读重新定位)和 PIE (独立 Executables)标记的情况下编译。这个软件包提供的程序可能会受到各种攻击的影响,具体取决于程序的 ELF 部分。"-pie"和"-fpie"选项允许构建独立于位置的可执行文件,"-Wl","-z","relro"在 gcc 中开启只读重新定位支持。对于安全起见,这些选项非常重要,以保护导致利用可能的缓冲区溢出。cifs-utils 二进制文件现在使用 PIE 和完整 RELRO 支持构建。cifs-utils 二进制文件现在对"return-to-text"和内存损坏攻击更为保护,同时防止基于程序的 ELF 部分覆盖的攻击。
功能增强
- BZ#843596
- 在这个版本中,"strictcache", "actimeo", "cache=" 和 "rwpidforward" 挂载选项现在记录在 mount.cifs (8)手册页中。
- BZ#843612
- "getcifsacl", "setcifsacl" 和 "cifs.idmap" 程序已添加到软件包中。这些工具允许用户操作 CIFS 共享上的 ACL,并允许将 Windows 安全 ID 映射到 POSIX 用户和组 ID。
- BZ#843617
- 在这个版本中,cifs.idmap 帮助程序(允许 SID 到 UID 和 SID 到 GID 映射)已添加到软件包中。另外,手动页面 cifs.upcall (8)已被更新,并且添加了 cifs.idmap (8)。
7.24. ClusterMon
程序错误修复
- BZ#865588
- 在此次更新之前,代表集群状态的 CIM 供应商的动态库没有使用所有必需的依赖项构建,因此无法解析某些符号。因此,无法通过 CIM 访问集群状态。在这个版本中,在动态库中添加了缺少的依赖项。现在,集群状态可以如预期访问。
- BZ#885830
- 在此次更新之前,大于 200 kB 的 XML 格式的集群配置的大小(如 cluster.conf 文件)可能会导致崩溃的 modcluster,一个程序可帮助 ricci 守护进程处理集群配置文件(cluster.conf)或 modclusterd,一个提供集群状态的守护进程。这个版本丢弃这个限制,且两个可执行文件不再会随较大的配置而中止。
7.25. 集群和 gfs2-utils
程序错误修复
- BZ#785866
- 在这个版本中,
/usr/share/cluster/cluster.rng.in.head
RELAX NG 模式修复了小的拼写错误。 - BZ#803477
- 在以前的版本中,fsck.gfs2 程序在重新声明可用元数据块时打印不相关的错误消息。这些消息可能会被错误地理解为文件系统错误。在这个版本中,这些信息将不再显示。
- BZ#814807
- 在排序关闭过程中,qdiskd 守护进程的
master_wins
实现不够快速,无法快速通过 master 状态。因此,可能会发生集群中的临时丢失仲裁。在这个版本中,
master_wins
已修改为更快地操作。 - BZ#838047
- 在以前的版本中,qdiskd 守护进程的
master_wins
实现不会严格检查/etc/cluster/cluster.conf
文件中的错误。因此,在
cluster.conf
中有几个不正确的选项,可以同时创建两个 quorate 分区。在这个版本中,master_wins
已被修改,以执行严格的错误检查,以避免创建多个 quorate 分区。 - BZ#838945
- 在此次更新之前,
/etc/cluster/cluster.conf
文件中的集群名称在带有损坏超级块的 GFS2 文件系统上运行 fsck.gfs2 工具时可能会导致缓冲区溢出。在这个版本中,当重新构建超级块时,集群名称会被正确截断。现在,在上述情况下,缓冲区溢出条件不再发生。 - BZ#839241
- 在某些情况下,cman 集群管理器不会在配置重新加载之间传播两个内部值。因此,可能会出现运行时不一致的情况。这个程序错误已被解决,上述错误不再发生。另外,解决了一个右下角的内存泄漏问题。
- BZ#845341
- 在此次更新之前,
隔离的
守护进程会创建具有全局可读权限的/var/log/cluster/fenced.log
文件。在这个版本中,已修改隔离
以为其日志文件设置更严格的安全权限。另外,如果需要,现有日志文件的权限会自动更正。 - BZ#847234
- 在以前的版本中,缓冲区长度限制不足,不允许
/etc/cluster/cluster.conf
配置文件中的长期配置行。因此,文件中的长条目会导致 corosync 工具意外终止,并显示分段错误。在这个版本中,长度限制已扩展。因此,在这种情况下不再会发生分段错误。 - BZ#853180
- 当在启用了
lock_nolock
选项的情况下挂载 GFS2 文件系统时,c man 集群管理器会错误地检查当前使用的资源。因此,c man 无法启动。这个程序错误已被解决,在上述情况下 , cman 现在可以成功启动。 - BZ#854032
- 在某些情况下,特别是在同时关闭所有群集节点时触发的,集群守护进程无法在 cman shutdown 限制(10 秒)内退出。因此,c man 集群管理器声明关闭错误。在这个版本中,默认的关闭超时增加到 30 秒,以防止关闭错误。
- BZ#857952
- 在个别情况下,
隔离的
守护进程从 cman 集群管理器轮询了不正确的文件描述符。因此,隔离
进入一个循环,集群变得无响应。这个程序错误已被解决,上述错误不再发生。 - BZ#861340
隔离
的守护进程通常在messagebus
(D-BUS)服务之前启动,该服务不会有害的操作效果。在以前的版本中,此行为在/var/log/cluster/fenced.log
文件中作为错误消息记录。为了避免混淆,只有在将日志级别设置为调试时,才会将这个错误消息输入到/var/log/cluster/fenced.log
中。- BZ#862847
- 在以前的版本中,mkfs.gfs2 -t 命令在锁定表名称中接受非标准字符,如斜杠(
/
)。因此,只有第一个集群节点可以成功挂载 GFS2 文件系统。尝试挂载 GFS2 文件系统的下一个节点变得无响应。在这个版本中,引入了一个更加严格的锁定表名称验证。因此,当锁定表中使用特殊字符时,集群节点不再挂起。 - BZ#887787
- 在以前的版本中,当在 cman 已关闭后使用名为
cman_stop_notification()
的 cman API 的客户端时,客户端会以SIGPIPE
信号终止。在这个版本中,底层源代码已被修改为解决这个问题,现在显示MSG_NOSIGNAL
消息,以便在上述场景中警告用户。 - BZ#888053
- 在以前的版本中,当 GFS1 和 GFS2 文件系统转换时,gfs2_convert 工具无法处理某些角情况。因此,转换的 GFS2 文件系统包含错误。在这个版本中,gfs2_convert 已被修复,以检测这些角的情况并相应地调整转换的文件系统
功能增强
- BZ#661764
- 现在,使用
绑定模式
选项0
、1
和2
支持 cman 集群管理器。在此次更新之前,只支持绑定模式 1
。 - BZ#738704
- 在这个版本中,增加了对在节点间使用 Red Hat Enterprise Virtualization Manager 原生共享存储的集群的支持。
- BZ#786118
/etc/hosts
文件中的主机名别名现在作为集群应用程序间的集群节点名称接受。- BZ#797952
- 添加了一个新的工具 fence_check,以提供以非破坏性的方式测试隔离配置的方法。该工具旨在通过 crontab 实用程序运行,以便定期监控隔离设备。
- BZ#821016
- 在这个版本中,可以使用
/etc/sysconfig/cman
文件将额外的命令行选项传递给dlm_controld
守护进程。 - BZ#842370
- 分布式锁定管理器(DLM)现在允许从
/etc/sysconfig/cman
文件中调整 DLM 哈希表的大小。以下参数可以在/etc/sysconfig/cman
文件中设置:DLM_LKBTBL_SIZE=
<size_of_table>
DLM_RSBTBL_SIZE=<size_of_table>
DLM_DIRTBL_SIZE=<size_of_table>
反过来,会分别修改以下文件中的值:/sys/kernel/config/dlm/cluster/lkbtbl_size /sys/kernel/config/dlm/cluster/rsbtbl_size /sys/kernel/config/dlm/cluster/dirtbl_size
- BZ#857299
- 在以前的版本中,无法修改分布式锁定管理器(DLM)的默认 TCP 端口(21064)。在这个版本中,
DLM_TCP_PORT
配置参数已添加到/etc/sysconfig/cman
文件中。因此,可以手动配置 DLM TCP 端口。 - BZ#860048
- fsck.gfs2 程序现在检查 GFS2 文件系统磁盘内节点和目录条目之间的正式不匹配。
- BZ#860847
- 在这个版本中,增加了对使用启用了
rrp_mode
选项的rgmanager
守护进程的两个和四个节点集群的支持。 - BZ#878196
- 在这个版本中,增加了对使用 VMware 的 VMDK (Virtual Machine Disk)磁盘镜像技术的集群的支持。
这允许将基于 VMDK 的存储与
多写器
选项用于集群文件系统,如 GFS2。
7.26. control-center
错误修复
- BZ#805069
- 在此次更新之前,Wacom 平板电脑上的状态 LED 没有正确地表示当前模式。有了这个更新,LED 现在表示哪个 Touch Ring 或 Touch Strip 模式处于活动状态。
7.27. coolkey
程序错误修复
- BZ#861108
- 在以前的版本中,Coolkey 无法识别 PIV-I 卡。在这个版本中,bug 和 Coolkey 已被修复,这些卡可以按预期读取和显示证书信息。
- BZ#879563
- 在此次更新之前,在升级 Coolkey 库后,pkcs11_listcerts 和 pklogin_finder 工具无法识别智能卡上的证书和 USB 令牌。已经提供了一个补丁来解决这个问题,这些工具现在可以按预期工作。
- BZ#806038
- 在以前的版本中,当 Spice 客户端运行时,remote-viewer 工具无法使用插入智能卡读取器。最终,客户端可能会意外终止。现在,remote-viewer 可以识别读者并在插入卡后提供身份验证,不再会发生崩溃。
- BZ#884266
- 在以前的版本中,某些新的 PIV-II 智能卡无法被客户端卡器、ESC 卡管理器或 pklogin_finder 工具识别。已经提供了一个补丁来解决这个问题,PIV-II 卡现在可以按预期与 Coolkey 一起工作。
功能增强
- BZ#805693
- Coolkey 库添加了对 Oberthur 智能卡的支持。
7.28. Core X11 Libraries
软件包名称 | 上游版本 | BZ number |
---|---|---|
libxcb | 1.8.1 | 755654 |
libXcursor | 1.1.13 | 755656 |
libX11 | 1.5.0 | 755657 |
libXi | 1.6.1 | 755658 |
libXt | 1.1.3 | 755659 |
libXfont | 1.4.5 | 755661 |
libXrender | 0.9.7 | 755662 |
libXtst | 1.2.1 | 755663 |
libXext | 1.3.1 | 755665 |
libXaw | 1.0.11 | 755666 |
libXrandr | 1.4.0 | 755667 |
libXft | 2.3.1 | 755668 |
软件包名称 | 上游版本 | BZ number |
---|---|---|
libXau | 1.0.6 | 835172 |
libXcomposite | 0.4.3 | 835183 |
libXdmcp | 1.1.1 | 835184 |
libXevie | 1.0.3 | 835186 |
libXinerama | 1.1.2 | 835187 |
libXmu | 1.1.1 | 835188 |
libXpm | 3.5.10 | 835190 |
libXres | 1.0.6 | 835191 |
libXScrnSaver | 1.2.2 | 835192 |
libXv | 1.0.7 | 835193 |
libXvMC | 1.0.7 | 835195 |
libXxf86dga | 1.1.3 | 835196 |
libXxf86misc | 1.0.3 | 835197 |
libXxf86vm | 1.1.2 | 835198 |
libdrm | 2.4.39 | 835202 |
libdmx | 1.1.2 | 835203 |
pixman | 0.26.2 | 835204 |
xorg-x11-proto-devel | 7.6 | 835206 |
xorg-x11-util-macros | 1.17 | 835207 |
xorg-x11-xtrans-devel | 1.2.7 | 835276 |
xkeyboard-config | 2.6 | 835284 |
libpciaccess | 0.13.1 | 843585 |
xcb-proto | 1.7 | 843593 |
libSM | 1.2.1 | 843641 |
程序错误修复
- BZ#802559
- 在以前的版本中,在 xorg-x11-proto-devel 软件包中,
_X_NONNULL
宏的定义与 C89 编译器不兼容。因此,如果包含X11/Xfuncproto.h
文件,则无法在 C89 模式下构建 C89 应用程序。在这个版本中修复了与 C89 模式兼容的宏定义。 - BZ#804907
- 在此次更新之前,XI2 事件没有正确初始化,可以包含垃圾值。已提供了 libXi 软件包的补丁(已将值设置为垃圾)。现在,实际事件不再包含垃圾回收值,并按预期初始化。
- BZ#871460
- 在以前的版本中,xkeyboard-config 软件包的 spec 文件在 Version 标签中使用
%{dist}
宏。虽然标准的 Red Hat Enterprise Linux 构建环境定义了这个宏,但不需要定义它。如果没有定义,则%{dist}
在重新构建软件包时,按字面意义显示在生成的 RPM 软件包的版本字符串中。现在,spec 文件已被修正,使用条件%{?dist}
表单,如果未定义%{dist}
,它扩展至空字符串。
7.29. 核心 X11 客户端
安全修复
- CVE-2011-2504
- x11perfcomp 实用程序发现,x11perfcomp 实用程序在其 PATH 环境变量中包含当前工作目录。在攻击者控制的目录中运行 x11perfcomp 会导致使用运行 x11perfcomp 的用户的权限执行任意代码。
7.30. corosync
程序错误修复
- BZ#783068
- 在此次更新之前,在重启进程后,corosync-notifyd 服务不会运行。在这个版本中,修改 init 脚本,以等待之前运行进程实例的实际退出。现在,corosync-notifyd 服务在重启后会如预期运行。
- BZ#786735
- 在以前的版本中,当 corosync 输入恢复时,在恢复消息中发送了一个不正确的节点 ID。因此,源代码中的调试问题比较困难。在这个版本中,设置正确的节点 ID。
- BZ#786737
- 在收到 OPERATIONAL 状态的 JoinMSG 消息后,节点将进入 GATHER 状态。但是,如果删除了 JoinMSG,发送此 JoinMSG 的节点将无法收到响应,直到其他节点有令牌过期。这会导致已进入 GATHER 状态的节点将花费更多时间重新加入环。在这个版本中,底层源代码已被修改来解决这个问题。
- BZ#787789
- 在以前的版本中,在更新 netfilter 防火墙阻止了输入和输出多播数据包前,corosync 会变得暂停,无法创建成员资格,且无法使用集群。在这个版本中,corosync 不再依赖于多播循环内核功能进行本地消息发送,但使用 socpair unix dgram 套接字。
- BZ#794744
- 在以前的版本中,在 InfiniBand 设备中,当配置文件或集群管理器(cman)已设置时,corosync 会自动生成节点 ID。在这个版本中,修改底层代码以识别用户设置模式 ID。现在,只有在用户没有输入节点时,corosync 才会自动生成节点 ID。
- BZ#821352
- 在此次更新之前,corosync 套接字绑定到 PEERs IP 地址,而不是本地 IP 地址,当 IP 地址被配置为 peer-to-peer (子网掩码 /32)。因此,corosync 无法创建成员资格。在这个版本中,修改底层代码,以使用有关本地 IP 地址的正确信息。
- BZ#824902
- 在此次更新之前,corosync 逻辑总是使用找到的第一个 IP 地址。因此,用户无法在同一网络中使用多个 IP 地址。在这个版本中,如果找不到完全匹配,则修改逻辑以使用第一个网络地址。现在,用户可以绑定到他们选择的 IP 地址。
- BZ#827100
- 在此次更新之前,一些套接字没有绑定到一个特定 IP 地址,而是侦听 UDPU 模式中的所有接口。因此,用户在配置防火墙时可能会遇到问题。在这个版本中,所有套接字都被正确绑定。
- BZ#847232
- 在以前的版本中,由超过 255 个字符组成的配置文件名称可能会导致 corosync 意外中止。在这个版本中,返回完整的项目值。如果是旧的 ABI,corosync 会打印错误。现在,corosync 不再会以名称的形式中止。
- BZ#838524
- 当 corosync 在启用了 votequorum 库的情况下运行时,votequorum 的注册会在配置数据库(confdb)的每个更改后重新加载配置处理程序。这会导致 corosync 运行较慢,并最终遇到 Out Of Memory 错误。在这个版本中,注册回调仅在启动期间执行。因此,corosync 不再会减慢或遇到 Out Of Memory 错误。
- BZ#848210
- 在以前的版本中,当启用 D-Bus 输出时,corosync-notifyd 输出会非常慢,且 corosync 内存会增加。当 corosync-notifyd 关闭时,内存不会被释放。这个版本修改了 corosync-notifyd 事件处理程序,当没有没有接收并从或发送到 D-Bus 时,不会等待。现在,当 IPC 客户端退出且 corosync -notifyd 在传入的事件中产生输出时,corosync 会释放内存。
- BZ#830799
- 在以前的版本中,节点集群与
CPG
库成员资格没有对应。因此,节点被识别为未知
,且corosync
警告信息不会被返回。提供了带有来自CPG
的增强日志的补丁,以修复此错误。现在,节点可以与CPG
正常工作,并返回适当的警告信息。 - BZ#902397
- 由于回归问题,
corosync
工具不适用于 IPv6,这会导致网络接口停机。已提供了一个补丁来修复这个错误。corosync 现在可以按预期与 IPv6 一起工作,网络接口已经启动。 - BZ#838524
- 当 corosync 在启用了 votequorum 库的情况下运行时,votequorum 的注册会在配置数据库(confdb)的每个更改后重新加载配置处理程序。这会导致 corosync 运行较慢,并最终遇到 Out Of Memory 错误。在这个版本中,注册回调仅在启动期间执行。因此,corosync 不再会减慢或遇到 Out Of Memory 错误。
- BZ#865039
- 在以前的版本中,在集群操作中,其中一个节点无法将以下信息发送到 syslog 文件:
dlm_controld[32123]: cpg_dispatch error 2
一个补丁已被应用于解决这个问题。 - BZ#850757
- 在此次更新之前,当在特定网络上使用 CPU 时间时,corosync 会丢弃 ORF 令牌与 memb_join 数据包。因此,RRP 接口可能会错误地标记为 faulty。这个版本只丢弃 memb_join 信息。
- BZ#861032
- 在此次更新之前,如果环号大于允许的最大值,corosync.conf 解析器会失败。因此,corosync 可能会中止分段错误。在这个版本中,对 corosync.conf 解析器添加了一个检查。现在,如果环号大于 1,则会输出错误消息。
- BZ#863940
- 在此次更新之前,corosync 会在多个节点上停止。因此,在某些情况下,corosync 可能会中止,并显示分段错误。在这个版本中,确保 corosync 服务不再调用卸载服务上的回调。
- BZ#869609
- 在此次更新之前,当大量 corosync 节点同时启动时,corosync 可能会中止分段错误。在这个版本中,修改底层代码,以确保 NULL pointer 没有取消引用。现在,当同时启动多个节点时,corosync 不再遇到分段错误。
- BZ#876908
- 在此次更新之前,带有额外参数的 parsercorosync-objctl 命令可能会导致错误"Error reloading DB 11"。在这个版本中,删除了重新加载功能,并处理配置数据源中已更改对象的更改(confdb)。现在,日志级别可以如预期更改。
- BZ#873059
- 修复了 corosync (8)手册页中的几个拼写错误。另外,还添加了 confdb swig 功能的手册页。
功能增强
错误修复
- BZ#929101
- 运行使用 Corosync IPC 库的应用程序时,mgr ()函数中的一些消息会丢失或重复。在这个版本中,可以正确地检查 assigned_put () 函数的返回值,在 IPC 环缓冲中返回正确的剩余字节数,并确保 IPC 客户端正确了解环缓冲中实际消息数。现在,allocation () 函数中的消息不再丢失或重复。
7.31. cpuspeed
错误修复
- BZ#876738
- 在以前的版本中,cpuspeed 守护进程使用 naive 方法获取最高可用扩展频率。因此,在某些平台上,cpuspeed 没有将 CPU 设置为正确的最大限制。现在,提供了一个补丁来解决这个问题,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 选项。
错误修复
- BZ#990474
- cpuspeed init 脚本依赖于 scaling_available_frequencies sysfs 文件,以获取系统可能的最大扩展频率。某些平台不提供 scaling_available_frequencies sysfs 文件,这会导致尝试设置最大扩展频率失败。在这个版本中,init 脚本会从 cpuinfo_max_speed 读取频率,并设置最大扩展频率现在可以在所有平台上正常工作。
7.32. crash
7.32.1. RHBA-2013:0317 - 崩溃程序漏洞修复和功能增强更新
错误修复
- BZ#843093
- 最近为 Red Hat Enterprise Linux 6 内核保留后向移植会导致崩溃内核在初始化过程中失败,并带有 "crash: cannot resolve: xtime" 错误消息。在这个版本中,修改崩溃以识别并处理内核中的时间更改,以便崩溃现在可以按预期启动。
功能增强
7.33. createrepo
错误修复
- BZ#833350
- 在以前的版本中,createrepo 工具会忽略 createrepo 缓存目录中创建的文件的"umask"命令。当多个用户更新软件仓库时,此行为会导致问题。这个程序错误已被解决,多个用户现在可以在不复杂的情况下更新存储库。
功能增强
- BZ#646644
- 现在可以使用 "createrepo" 命令和 "-split" 和 "--pkglist" 选项。
- BZ#714094
- 现在,可以使用 modifyrepo 程序从 repodata 目录中删除元数据。这个版本还增强了对现有元数据的更新。
7.34. ctdb
7.34.1. RHBA-2013:0337 - ctdb 程序漏洞修复更新
程序错误修复
- BZ#758367
- 在 GFS2 文件系统上运行 ctdb 时,ctdb 可以在另一个节点启动或停止时禁止一个稳定的节点。这个程序错误已被 rebase 和 stable 节点在上述场景中不再被禁止。
- BZ#821715
- 在以前的版本中,在 Glusterfs 文件系统上,ctdb 锁定文件和配置文件是共享的。因此,当集群中的另一个节点停机时,在节点上运行的 ctdbd 守护进程会意外终止。这个程序错误已被 rebase 和 ctdbd 不再在上述场景中崩溃。
- BZ#866670
- 删除 ctdb 节点后,"ctdb status"命令会报告与删除节点前相同的节点数。已提供了一个补丁来解决这个问题,"ctdb status"现在在删除操作后返回准确数量。
7.35. curl
7.35.1. RHBA-2013:0393 - curl 程序漏洞修复更新
cURL
工具,用于使用任何支持的协议从 HTTP、FTP、file、LDAPS、DICT、TELNET 和 TFTP 服务器获取文件。这个工具提供了许多有用的功能,如代理支持、用户身份验证、FTP 上传、HTTP 后和文件传输恢复。
程序错误修复
- BZ#741935
libssh2
库没有足够反映其版本中的 ABI 扩展,这会阻止 RPM 依赖项扫描程序在更新版本的libssh2
中添加正确的libcurl
依赖关系。因此,如果用户在不先更新libssh2
的情况下更新了libcurl
,则更新以不正确的libcurl
链接结尾,然后用户无法使用 yum 更新libssh2
。添加了对libssh2
更新版本的libcurl
的明确依赖,现在可以使用 yum 更新libcurl
。- BZ#746629
- 在以前的版本中,libcurl 需要从文件加载的证书具有唯一文件基本名称,因为存在旧的 NSS API (网络安全服务)。
使用
libcurl
的一些软件包没有满足这个要求,并导致 NSS 中出现别名冲突。现在,libcurl 已修改为使用较新的 NSS API,这不会影响这个限制,现在允许使用libcurl
- BZ#813127
- 在以前的版本中,
在使用
块编码接收数据时,libcurl 会错误地解释 Content-Length HTTP 标头。因此,lib
curl 无法读取数据的最后块,传输会预先终止。应用了上游补丁来修复标头的处理,libcurl 中的块
编码现在可以正常工作。 - BZ#841905
- cURL 源文件中选择子优化的标识符,它带有一个来自较新版本的
libssh2
中引入的公共头文件,阻止 curl 软件包成功构建。上游补丁已应用于 cURL 源文件,这些文件可以修复标识符冲突,软件包现在可以按预期进行构建。 - BZ#738456
- OpenLDAP 套件最近被修改为使用 NSS 而不是 OpenSSL 作为 SSL 后端。这个变化会导致在 NSS 初始化和关闭时
libcurl
和 OpenLDAP 之间发生冲突。因此,使用libcurl
和 OpenLDAP 的应用程序无法建立 SSL 连接。这个版本修改了libcurl
以使用与 OpenLDAP 相同的 NSS API,这可以防止发生冲突。使用 OpenLDAP 和libcurl
的应用程序现在可以按预期通过 SSL 连接到 LDAP 服务器。 - BZ#719938
- 作为安全问题的解决方案,GSSAPI 凭证委派被禁用,这会破坏依赖于委派的应用程序的功能,而 libcurl 错误地启用了它。要解决这个问题,引入了
CURLOPT_GSSAPI_DELEGATION
libcurl
选项,以便在应用需要时显式启用委派。使用 GSSAPI 凭证委托的所有应用程序都可以使用这个新的libcurl
选项正确运行。 - BZ#772642
- 如果所选的 NSS 数据库中断或无效,则无法使用
libcurl
建立 SSL 连接。这个版本修改了libcurl
的代码,以在没有有效数据库的情况下初始化 NSS,允许应用程序按预期建立 SSL 连接。 - BZ#873789
- 在以前的版本中,libcurl 会错误地检查
libssh2
提供的 SCP/SFTP 写入函数的返回值。这些功能返回的负值被视为负下载量,这会导致应用程序意外终止。在这个版本中,所有负值都被视为错误,因此在
libcurl
级别上正确处理,从而防止崩溃。 - BZ#879592
- 在此次更新之前,
lib
curl 使用过时的libssh2
API 来通过 SCP 协议上传文件,这限制了在 32 位构架中传输的文件的最大大小。因此,libcurl 的 32 位软件包无法通过 SCP 传输大型文件。在这个版本中,使用一个新的用于 SCP 上传的
libssh2
API,这不会影响这个限制,从而解决了这个问题。
功能增强
7.36. cvs
7.36.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 守护进程。
7.37. dash
7.37.1. RHBA-2012:1381 - dash 程序错误修复更新
错误修复
- BZ#706147
- 在此次更新之前,允许使用短划线 shell。因此,用户无法使用短划线 shell 登录。在这个版本中,在安装或升级短划线软件包时,将短划线添加到允许登录 shell 的 /etc/shells 列表中,并在卸载软件包时将其从列表中删除。现在,用户可以使用短划线 shell 登录。
7.38. device-mapper-multipath
程序错误修复
- BZ#578114
- 当
kpartx
工具试图删除之前创建的循环设备时,udev 工具仍打开此循环设备,删除过程会失败,并显示EBUSY
错误,kpartx
不会尝试重试此操作。kpartx
工具已被修改,以等待一秒,然后在EBUSY
错误后重试删除最多三次。因此,kpartx
创建的循环设备现在始终会如预期删除。 - BZ#595692
multipathd
守护进程仅在为设备确定全局 标识符 (WWID)时检查 SCSI ID。但是,CCISS 设备不支持 SCSI ID,且不能被 设备映射器多路径 使用。在这个版本中,multipathd
会正确检查 CCISS ID,设备会如预期检测到。- BZ#810755
/usr/share/doc/device-mapper-multipath-0.X.X/multipath.conf.defaults
文件中的一些设备配置已过时。因此,如果用户将这些配置复制到/etc/multipath.conf
文件中,则其设备会被错误配置。multipath.conf.defaults
文件已更新,用户现在可以从该文件复制配置,而不会错误配置其设备。请注意,不建议从multipath.conf.defaults
文件中复制配置,因为该文件中的配置默认内置在 dm-multipath 中。- BZ#810788
- 在以前的版本中,设备映射器多路径会存储 多个重复的黑名单条目,因此会在列出 device-mapper-multipath 的配置时显示。设备映射器多路径 已被修改,以在存储配置条目前检查重复项,并只存储唯一的映射程序。
- BZ#813963
- 设备映射器多路径 有两个 Asymmetric Logical Unit Access (ALUA)优先级器,它检查了两个不同的值。某些 ALUA 设置没有正确失败,使用任一优先级器,因为这两个值都需要检查这两个值,并且既不能检查它们。在这个版本中,同时 ALUA prioritizers 的配置选项会选择相同的优先级函数,它会按预期检查这两个值。
- BZ#816717
- 当删除
kpartx
设备分区时,multipath -f
选项只接受设备名称,而不是全名。因此,如果设备有kpartx
分区,尝试删除完整路径名称的 mulitpath 设备会失败。当删除kpartx
设备分区和删除进程时,设备映射器 Mulitpath 已修改为除了全名名,在上述场景中不再会失败。 - BZ#821885
- 在以前的版本中,
multipath -c
选项会错误地列出由设备类型列入黑名单的 SCSI 设备,作为有效的 mulitpath 路径设备。因此,设备映射器多路径可以从 SCSI 设备中删除分区,这些设备永远不会获得多路径。在这个版本中,multipath -c
会检查 SCSI 设备是否按设备类型列入黑名单,并将其报告为无效。 - BZ#822389
- 在 reload 中,如果多路径设备没有设置为使用
user_friendly_names
参数,或者用户定义的别名,则 设备映射器多路径 将使用其现有名称而不是设置 WWID。因此,禁用user_friendly_names
不会导致多路径设备名称重新载入回 WWID。这个 bug 已被修复,如果未设置user_friendly_names
或用户定义的别名,则 设备映射器 Mulitpath 现在会将设备名称设置为其 WWID。因此,禁用user_friendly_names
现在允许设备名称在重新加载时切回到 WWID。 - BZ#829065
- 当 冗余磁盘阵列控制器 (RDAC)检查程序返回
DID_SOFT_ERROR
错误时,设备映射器多路径 不会重试运行 RDAC 检查程序。此行为导致 设备映射器多路径 在重试检查程序时可能会出现临时问题的路径。如果收到DID_SOFT_ERROR
错误,则 设备映射器多路径 已被修改来重试 RDAC 检查程序,且因为这个错误而不再失败路径。 - BZ#831045
- 当多路径向量(是一个动态分配的阵列)是 shrunk,则 设备映射器多路径 不会将指针重新分配给阵列。因此,如果因为缩小了阵列的位置改变,则 设备映射器多路径 会损坏其内存,且结果无法预计。底层源代码已被修改,设备映射器多路径现在可以在 阵列被缩小后正确重新分配指针。
- BZ#836890
- 设备映射器多路径 偶尔为 AIX VDASD 设备分配带有空格的 WWID。因此,没有 WWID 条目黑名单可将该设备列入黑名单。有了这个更新,设备映射器多路径 会为 AIX VDASD 设备分配没有空格字符的 WWID,因此所有机器都将相同的 WWID 分配给 AIX VDASD 设备,用户始终可以将该设备列入黑名单。
- BZ#841732
- 如果两个多路径设备被交换了其别名,则 设备映射器多路径会 切换其表。因此,如果用户在两个设备上切换别名,则任何使用该设备的应用程序都会指向不正确的 逻辑单元号 (LUN)。设备映射器多路径 已被修改,以检查设备的新别名是否与不同的多路径设备匹配,如果是,则不切换到该设备。
- BZ#860748
- 在以前的版本中,当此信息可用于路径设备时,设备映射器多路径 不会立即检查设备类型和 WWID 黑名单。设备映射器多路径 已被修改,在此信息可用后立即检查设备类型和 WWID 黑名单。因此,设备映射器多路径 不会在将无效路径列入黑名单前等待。
- BZ#869253
- 在以前的版本中,
multipathd
守护进程和kpartx
工具不指示libdevmapper
工具跳过设备创建过程,并让 udev 创建它。因此,有时libdevmapper
在/dev/mapper/
目录中创建了一个块设备,有时 udev 会在同一目录中创建符号链接。有了这个更新,multipathd
和kpartx
会阻止libdevmapper
创建块设备,udev 始终会如预期在/dev/mapper/
目录中创建符号链接。
功能增强
- BZ#619173
- 此功能增强将 SUN StorageTek 6180 的内置配置添加到 设备映射器多路径 中。
- BZ#735459
- 要在多路径设备中设置持久性保留,需要在所有路径设备中设置它。如果稍后添加了路径设备,用户必须手动将保留添加到该路径中。此功能增强添加了使用带有
mpathpersist
工具的 device-mapper 设备设置和管理 SCSI 持久保留的功能。因此,当添加路径设备时,也会设置持久性保留。 - BZ#810989
- 此增强更新了
multipathd init
脚本以加载dm-multipathd
模块,以便在引导过程中没有/etc/multipath.conf
文件时不必手动执行此操作。请注意,建议您通过运行 mpathconf --enable 命令创建multipath.conf
文件,该命令也会加载dm-multipath
模块。 - BZ#818367
- 当 RDAC 路径设备处于服务模式时,它无法处理 I/O 请求。在这个版本中,如果 RDAC 路径设备处于服务模式,则 设备映射器多路径 会将 RDAC 路径设备置于失败状态。
- BZ#839386
- 在这个版本中,在
multipath.conf
文件的 defaults 和 devices 部分中添加了两个新选项;retain_attached_hw_hander
选项和detect_prio
选项。默认情况下,在multipath.conf
文件的 defaults 部分,这两个选项都被设置为no
。但是,在 NETAPP/LUN 设备配置文件中,它们被设置为yes
。如果retain_attach_hw_handler
设为yes
,并且 SCSI 层已将硬件处理程序附加到设备,则 设备映射器多路径 会照常设置硬件。如果detect_prio
设置为yes
,则设备映射器多路径 将检查该设备是否支持 ALUA。如果是这样,它会自动将 prioritizer 设置为alua
值。如果该设备不支持 ALUA,则设备映射器多路径会正常 设置优先级器。这个行为允许 NETAPP 设备在 ALUA 或非ALUA 模式中工作,而无需更改内置配置。为了让retain_attached_hw_handler
正常工作,SCSI 层必须已附加了设备处理程序。为此,必须在 SCSI 层发现设备之前加载scsi_dh_XXX
模块,如scsi_dh_alua
。要保证这一点,请在内核命令行中添加以下参数:rdloaddriver=scsi_dh_XXX
错误修复
- BZ#988704
- 在此次更新之前,设备映射器多路径不会在 sysfs 功能中解引用前检查 NULL pointers。因此,如果在删除路径设备时调整多路径设备,multipathd 守护进程可能会崩溃。在这个版本中,设备映射器多路径会检查 sysfs 函数中的 NULL pointers,当多路径设备大小与路径设备被删除时不再崩溃。
功能增强
- BZ#993545
- 在这个版本中,添加了一个新的 /etc/multipath.conf 文件 default 关键字 "reload_readwrite"。如果设置为 "yes",multipathd 将侦听路径设备更改事件,如果设备有读写访问,它将重新载入多路径设备。这允许多路径设备在路径设备有读写访问权限时自动具有读写权限,而不是需要手动干预。因此,当属于多路径设备的所有路径设备都具有读写访问权限时,多路径设备将自动允许读写权限。
7.39. dhcp
安全修复
- CVE-2012-3955
- 在处理 IPv6 租期的过期时间 dhcpd 守护进程的方式中发现了一个安全漏洞。如果 dhcpd 的配置被修改为减少默认的 IPv6 租期时间,则之前分配的租期的租期续订请求可能会导致 dhcpd 崩溃。
程序错误修复
- BZ#803540
- 在此次更新之前,如果网络接口有多个配置的 IP 地址,DHCP 服务器只发现网络接口的第一个 IP 地址。因此,如果服务器被配置为仅提供以下 IP 地址的子网,DHCP 服务器将无法重启。在这个版本中,修改网络接口地址发现代码来查找网络接口的所有地址。DHCP 服务器也可以提供其他地址的子网。
- BZ#824622
- 在此次更新之前,clientclient 会在停止后使用备份数据重新编写 /etc/resolv.conf 文件,即使在 dhclient 运行时使用 PEERDNS=yes 设置了 PEERDNS 标志时,即使使用 PEERDNS=yes 进行了更改。在这个版本中,从 dhclient-script 中删除此配置文件的备份和恢复功能。现在,在停止时 dhclient 不再重写 /etc/resolv.conf 文件。
7.39.2. RHBA-2013:1255 - dhcp 程序错误修复更新
错误修复
- BZ#1005672
- 在以前的版本中,dhcpd 守护进程或 dhclient 工具已开始在 Infiniband 网络接口卡的别名接口上提供服务。因此,dhcpd/dhclient 意外终止。改进了补丁之一来涵盖这个特定问题单,从而解决了这个问题。现在,dhcpd 和 dhclient 都正确运行。
7.40. dnsmasq
安全修复
- CVE-2012-3411
- 在与某些 libvirtd 配置结合使用时,dnsmasq 发现了 dnsmasq,可能会错误地处理来自旨在禁止的网络接口的网络数据包。一个远程的未经身份验证的攻击者可能会利用此漏洞通过 DNS 扩展攻击导致拒绝服务。
错误修复
- BZ#815819
- 由于回归,租期更改脚本被禁用。因此,/etc/dnsmasq.conf 配置文件中的 "dhcp-script" 选项无法正常工作。这个更新解决了这个问题,"dhcp-script"选项现在可以正常工作。
功能增强
- BZ#824214
- 在此次更新之前,dnsmasq 不会验证给定的 tftp 目录是否实际存在,并是一个目录。因此,在启动时不会立即报告配置错误。这个版本改进了代码来验证 tftp 根目录选项。因此,特别是在由 libvirt 等外部进程调用 dnsmasq 时,会简化错误查找。
- BZ#850944
- dnsmasq 初始化脚本在"停止"、"restart"和"condrestart"命令中使用了不正确的进程标识符(PID)。因此,如果初始化脚本启动的系统旁边有一些 dnsmasq 实例在运行,那么使用"stop"或"restart"重复调用"服务 dnsmasq"将终止所有正在运行的 dnsmasq 实例,包括不使用 init 脚本启动的 dnsmasq 实例。dnsmasq 初始化脚本代码已被修正,以在调用"stop"、"restart"和"condrestart"命令时获取正确的 PID。因此,如果在初始化脚本启动的系统外还运行 dnsmasq 实例,那么通过调用"停止"或"restart"的"服务 dnsmasq",仅系统停止或重启了。
- BZ#887156
- 当两个或者多个 dnsmasq 进程在一个接口上启用了 DHCP 时,DHCP RELEASE 数据包有时会丢失。因此,当两个或多个 dnsmasq 进程在一个接口上启用了 DHCP 时,释放 IP 地址有时会失败。在这个版本中,如果在一个接口上启用了 DHCP 的 dnsmasq 运行 dnsmasq,则在 DHCP 套接字上设置 SO_BINDTODEVICE 套接字选项。因此,当两个或多个 dnsmasq 进程在一个接口上启用了 DHCP 时,它们可以按预期释放 IP 地址。
7.41. docbook-utils
错误修复
- BZ#639866
- 在此次更新之前,用于生成 manpages 的 Perl 脚本在标头中包含错误打印。因此,所有 docbook-utils 构建的手册页的标头语法都不正确。在这个版本中修正了脚本。现在,man page 标头具有正确的语法。
7.42. dovecot
安全修复
- CVE-2011-2166,CVE-2011-2167
- 在 Dovecot 的 script-login 功能强制实施一些设置的方式中发现了两个漏洞。一个远程的经过身份验证的用户可以使用这些漏洞来绕过预期的访问限制,或使用登录脚本进行目录遍历攻击。
- CVE-2011-4318
- Dovecot 执行远程服务器验证的方式中发现了一个安全漏洞,当它被配置为使用 TLS/SSL 协议代理 IMAP 和 POP3 连接到远程主机。远程攻击者可以使用此缺陷,使用由受信任的证书颁发机构(用于其他名称)发布的 X.509 证书进行中间攻击。
错误修复
- BZ#697620
- 当新用户第一次访问其 IMAP inbox 时,在一些情况下,无法更改用户的 Maildir 位置中的 inbox 目录的组所有权,以匹配用户邮件假脱机(/var/mail/$USER)中的组所有权。这可以正确地生成 "Internal error occurred" 信息。但是,在后续尝试访问 inbox 时,Dovecot 认为目录已存在并继续其操作,从而使目录设置不正确。在这个版本中,修正了底层权限设置错误。当新用户现在首次访问其 inbox 时,无法设置组所有权,Dovecot 会删除创建的目录,并生成错误消息,而不是使目录具有不正确的组所有权。
7.43. dracut
程序错误修复
- BZ#835646
- 在以前的版本中,dracut 无法处理 PXE "BOOTIF=" 参数的大写 MAC 地址。因此,当 "BOOTIF=" 参数包含大写 MAC 地址时,具有 dracut 生成的 initramfs 的机器将无法通过网络引导。在这个版本中,dracut 将内部 MAC 地址转换为小写。现在,当 "BOOTIF=" 参数包含大写 MAC 地址时,具有 dracut 生成的 initramfs 的机器可以成功通过网络引导。
- BZ#831338
- 在以前的版本中,在引导过程中 /proc/ 目录的默认挂载选项是 "mount -t proc -o nosuid,noexec,nodev proc/proc"。这会导致某些内核驱动程序的 /proc/ 目录中的设备节点无法访问。/proc 目录的默认挂载选项已被改为 "mount -t proc /proc",所有内核模块现在可以成功加载。
- BZ#794751
- 在以前的版本中,dracut 无法将互联网小型计算机系统接口(iSCSI)和 dmsquash-live 模块一起使用。因此,无法通过 iSCSI 从实时介质引导。在这个版本中,dracut 生成的 initramfs 包含 iSCSI 和 dmsquash-live 模块,它可以通过 iSCSI 引导实时介质。这可以通过内核命令行 "root=live:LABEL=<partition-or-iso-label> netroot=iscsi: " 来完成。
- BZ#813057
- 在以前的版本中,新的 Brocade 切换固件需要更长的时间来完成 BCBx 协商,而 dracut-generated initramfs 不会等待很长时间用于 DCBx 协商。现在,在载入 "802q" 内核模块后,initramfs 会休眠 3 秒,与新的 Brocade 切换固件的 DCBx 协商可以成功完成。
- BZ#843105
- 当使用 "live_ram" 参数从 live 介质引导时,dracut-generated initramfs 会弹出介质。完成此操作后,重启会导致机器不会再次从介质引导,即使它是预期的。在这个版本中,dracut 遵循 "no_eject" 内核命令行参数。现在,如果内核命令行上提供了 "no_eject",则 dracut-generated initramfs 在将其复制到 RAM 后不再弹出实时介质。
- BZ#850493
- 在 FIPS 模式中,需要通过 checksum 验证内核镜像。sha512hmac 工具读取文件的绝对路径,以便从校验和文件中检查。在以前的版本中,如果 "/boot" 不在单独的文件系统中,则 dracut 会将根文件系统挂载到 "/sysroot"。"/sysroot/boot"分区无法通过"/boot"路径访问,而 sha512hmac 工具无法访问要检查的"/boot"中的文件。检查失败,引导过程被取消。因此,如果 "/boot" 不在单独的文件系统中,引导过程不会在 FIPS 模式下成功。现在,dracut 从 "/sysroot/boot" 分区创建一个指向 initramfs 中的"/boot"分区的符号链接,而 sha512hmac 工具可以检查内核镜像,机器是否可以继续引导,如果检查成功。
- BZ#890081
- 在以前的版本中,内核模块 "scsi_dh_alua" 没有包括在 initramfs 中,因此 "scsi_dh_alua" 无法通过 "rdloaddriver" kernel 命令预加载。"scsi_dh_alua"内核模块现在包括在 initramfs 中,而 "scsi_dh_alua" 可使用 "rdloaddriver" 成功加载。
- BZ#854416
- 在以前的版本中,dracut 不会剥离手册页中所述的内核模块。因此,如果客户有带有大量调试信息的内核模块,initramfs 大小会变得非常大。dracut 工具现在剥离内核模块,但处于 FIPS 模式时,initramfs 大小会较小,并可在具有小内存的机器上载入。
功能增强
- BZ#823507
- 在 dracut (8)手册页中添加了 "rd_retry=" 引导选项的文档。
- BZ#858187
- dracut 工具现在可以从配置了虚拟 LAN 的网络上的 iSCSI 引导,其中虚拟 LAN 设置存储在 iSCSI 引导固件表 BIOS 中。
7.44. dropwatch
错误修复
- BZ#725464
- 在此次更新之前,dropwatch 工具可能会变得无响应,因为它正在等待已取消激活或停止的服务发出停用确认。在这个版本中,dropwatch 检测到尝试取消激活/停止已经停用/停止的服务,不再挂起。
7.45. dvd+rw-tools
- BZ#807474
- 在以前的版本中,growisofs 工具编写 32KB 的块,并在最后一个块中报告错误,当刻录到 32KB 的 ISO 镜像文件时,会报告错误。在这个版本中,写入的块可以小于 16 个块的倍数。
7.46. e2fsprogs
程序错误修复
- BZ#806137
- 在损坏的文件系统中,"mke2fs -S"命令可能会删除文件,而不必尝试恢复这些文件。这个 bug 已被修复,"mke2fs -S"命令正确写入元数据,不再删除文件,而不是恢复它们。
- BZ#813820
- resize2fs (8)手册页不会列出 ext4 文件系统,无法调整在线大小。这个遗漏已被修复,resize2fs (8)手册页现在包含可调整在线调整的所有文件系统。
- BZ#858338
- 特殊标志用于指示在 ext4 文件系统上的文件末尾外分配的块。这个标志有时会错误地处理,从而导致文件系统崩溃。已重新完成了内核和用户空间,以消除对这个标志的使用。
功能增强
- BZ#824126
- 在以前的版本中,用户可以在挂载的文件系统上使用 e2fsck 工具,尽管强烈建议不要这样做。在挂载的文件系统中使用 实用程序会导致文件系统崩溃。在这个版本中,e2fsck 完全打开文件系统,并在文件系统忙碌时失败。这个行为可避免挂载文件系统的可能损坏。
错误修复
- BZ#1023351
- resize2fs 工具无法正确处理 ext4 文件系统的大小调整到较小的大小。因此,如果在调整大小过程中移动包含许多扩展的文件,则它们可能会被破坏。在这个版本中,当移动包含多个扩展的文件时,resize2fs 现在会保持一致的扩展树,在这种情况下,这些文件不再被破坏。
错误修复
- BZ#974193
- e2fsck 不会检测到或修复一些 ext4 扩展树损坏。没有检测到与扩展树中重叠的 interior或叶节点相关的不一致的情况,文件系统会在 e2fsck 后保持不一致的状态。然后,内核在运行时检测到这些不一致的情况。e2fsck 现在可以在文件系统中检测和修复这类损坏。
7.47. eclipse-nls
7.48. environment-modules
程序错误修复
- BZ#818177
- 由于 Tcl 库中的错误,一些分配的指针在库中无效。因此,在 tcsh shell 中运行 "module switch" 命令会导致分段错误。这个程序错误已被解决,系统内存现已分配并指向正确。
- BZ#848865
- 在以前的版本中,/usr/share/Modules/modulefiles/modules 文件包含不正确的路径。因此,当执行"模块加载模块"命令时会出现一个错误。在这个版本中,不正确的路径已被替换,上面描述的错误不再发生。
7.49. espeak
7.49.1. RHBA-2012:1118 - espeak 程序错误修复更新
错误修复
- BZ#789997
- 在以前的版本中,eSpeak 操作了系统声音卷。因此,eSpeak 可以将声音卷设置为最大值,而不考虑指定的 amplitude。声音卷管理代码已从 eSpeak 中删除,现在只有 PulseAudio 管理声音卷。
7.50. ethtool
7.51. evolution-data-server
错误修复
- BZ#734048
- CalDav 日历后端使用未转义的空间字符或 "%20" 字符串转换为 "%2520" 字符串来转换统一资源标识符(URI)。因此,渲染后端不允许与导致 CalDav 日历的远程 CalDav 服务联系。这个程序错误已被解决,在上述场景中 evolution-data-server 可以正常工作。
7.52. evolution
安全修复
- CVE-2011-3201
- Evolution 处理邮件到 URL 的方式允许将任何文件附加到新消息。如果用户在发送消息前没有注意到附加的文件,这可能会导致信息泄露。在这个版本中,mailto URL 无法用于附加某些文件,如隐藏目录中的文件、/etc/ 目录中的文件,或使用包含".."的路径指定的文件。
程序错误修复
7.53. fcoe-target-utils
程序错误修复
- BZ#819698
- 在此次更新之前,停止 fcoe-target 守护进程不会在重启时停止目标会话。这个版本改进了 fcoe-target 脚本和 fcoe-target 守护进程,现在可以正确关闭内核目标。
- BZ#824227
- 在此次更新之前,FCoE 接口初始化的延迟有时会导致为该接口载入目标配置。在这个版本中,允许目标配置缺失的接口,允许以任何顺序为目标和接口配置。
- BZ#837730
- 在此次更新之前,在创建后端存储时指定不存在的后备文件会导致 unhelpful Python 错误 "ValueError: No such path"。在这个版本中,以更有帮助的方式报告错误。
- BZ#837992
- 在此次更新之前,尝试删除后端存储中的存储对象会导致 Python 错误。在这个版本中解决了这个问题,存储对象现在可以如预期删除。
- BZ#838442
- 在此次更新之前,尝试重定向 targetcli 的输出会导致 Python 错误。在这个版本中,targetcli 可以成功重定向。
- BZ#846670
- 由于回归,创建后端存储会导致 Python 错误。在这个版本中,允许在没有错误的情况下创建后端存储。
功能增强
7.54. fcoe-utils
错误修复
- BZ#867117
- 当在连接到 Cisco Fibre Channel Forwarder (FCF)的 Fibre Channel over Ethernet (FCoE)启动器接口上关闭 DCB 时,fcoemon 工具禁用了接口,但 FCoE 接口再次由 DCB 操作前重新启用。因此,该接口不会按预期以降级模式运行,而"ip l"和"fcoeadm -i"命令的输出是连续的。补丁已应用到 fcoemon 工具,确保在链接启动时启用 FCoE 接口前,确保 DCB 可再次运行。另外,补丁已应用到 fcoe-utils,以改进与在 DCB 未就绪时创建和删除 FCoE 接口相关的错误处理和错误消息。
功能增强
- BZ#826291
- 添加了对带有 VLAN ID 0 的 VLAN 通知的支持。如果 VLAN 通知具有标签 "VLAN 0",则现在将激活物理端口。不会创建 VLAN 接口,但 FCoE 将在物理接口本身上启动。
7.55. febootstrap
错误修复
- BZ#803962
- 使用 libguestfs API 打开磁盘镜像或 virt-v2v 转换的一部分时,会使用 "febootstrap-supermin-helper" 程序。在以前的版本中,当主机使用 LDAP 服务器解析用户名和组名称时,这个工具并不总是处理"-u"和"-g"选项。这会导致在使用 LDAP 时 virt-v2v 命令失败。在这个版本中,"febootstrap-supermin-helper"程序已被修改来正确解析 "-u" 和 "-g" 选项,以便在上述场景中正常工作 virt-v2v。
7.56. fence-agents
程序错误修复
- BZ#908409
- 在以前的版本中,当使用 fence_soap_vmware 隔离代理隔离 Red Hat Enterprise Linux 集群节点时,如果无法解析 IP 地址的主机名,代理会意外终止。在这个版本中,描述的场景中会显示正确的错误消息。
- BZ#908401
- 由于在 SSH 连接过程中对换行符的检测不正确,因此 fence_drac5 代理可以在隔离 Red Hat Enterprise Linux 集群节点时通过回溯终止连接。只有第一个隔离操作成功完成,但节点的状态没有正确检查。因此,隔离代理无法报告成功隔离。当"重新引导"操作被调用时,该节点只会关闭。在这个版本中,会正确检测到换行符,隔离可以正常工作。
程序错误修复
- BZ#769798
- 隔离速度至关重要,因为否则损坏的节点有更多时间破坏数据。在以前的版本中,在具有数百个虚拟机的 VMWare vSphere 平台上使用 fence_vmware_soap 隔离代理的操作比预期的速度较慢。在这个版本中,隔离过程速度更快,如果遇到没有 UID 的虚拟机,则不会终止。
- BZ#822507
- 在此次更新之前,XML 元数据中的属性 "unique" 设置为 TRUE (1)。在这个版本中,修改底层代码以使用 FALSE (0)作为默认值,因为隔离代理不使用这些属性。
- BZ#825667
- 在此次更新之前,某些隔离代理没有生成正确的元数据输出。因此,无法使用元数据自动生成手动页面和用户界面。在这个版本中,所有隔离代理都会按预期生成元数据。
- BZ#842314
- 在此次更新之前,fence_apc 脚本无法登录到 APC 电源开关,其中固件将行尾标记从 CR-LF 改为 LF。在这个版本中,修改脚本以按预期登录到隔离设备。
- BZ#863568
- 在此次更新之前,在使用新的 href 属性时,fence_rhevm 代理无法运行正则表达式 get_id regex。因此,插件状态不可用。在这个版本中,修改底层代码,以显示为 ON 或 OFF 的正确状态。
功能增强
- BZ#740869
- 在这个版本中,增加了 fence_ipdu 代理来支持 Red Hat Enterprise Linux 6 中的 IBM iPDU 隔离设备。
- BZ#752449
- 在这个版本中,增加了 fence_eaton 代理,以支持 Red Hat Enterprise Linux 6 中的 Eaton ePDU (Enclosure Power Distribution Unit)设备。
- BZ#800650
- 在这个版本中,为使用 Red Hat Enterprise Linux 6 中基于标准的代理的通用隔离类型添加了符号链接。
- BZ#818337
- 在这个版本中,将 fence_bladecenter 代理添加到 Red Hat Enterprise Linux 6 中的 fence-agents 软件包中,以支持 HP BladeSystem 的 --missing-as-off 功能,以便在缺少关闭节点时处理缺少的节点,以便隔离可以成功结束。
- BZ#837174
- 在这个版本中,通过所有隔离代理的标准输入支持 action=metadata。
7.57. fence-virt
程序错误修复
功能增强
7.58. file
7.58.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"输出。
7.59. firstboot
7.59.1. RHEA-2013:0488 - firstboot 增强更新
功能增强
- BZ#831818
- 在以前的版本中,firstboot 工具只允许显示最终用户许可协议(EULA)的英语版本,这对于不了解英语的用户可能会有问题。在这个版本中,修改 Firstboot,使其使用 $LANG 环境变量来根据安装期间设定的语言查找本地化 EULA 文件。如果没有找到所选语言中的 EULA 文件,则使用默认的 EULA 文件(英语)。用户现在可以在接受之前使用安装期间选择的语言读取 EULA 文档。
7.60. ftp
7.60.1. RHBA-2012:1192 - ftp 程序错误修复更新
错误修复
- BZ#783868
- 在此次更新之前,当堆栈大小设置为无限时,使用 ftp 命令"put"会导致 sysconf (_SC_ARG_MAX)功能返回 -1,这会导致 malloc () 函数被调用为 0 参数,并导致显示 "Out of memory" 消息。在这个版本中,底层源代码已被改进,以分配合理的最小内存。因此,如果堆栈大小之前设置为无限,则"超出内存"消息将不再出现。
7.60.2. RHBA-2012:1444 - ftp 程序错误修复更新
程序错误修复
- BZ#869858
- 在此次更新之前,如果定义了超过 200 个字符的宏,则 ftp 客户端可能会遇到缓冲区溢出并中止,然后在连接后使用。在这个版本中,修改包含宏名称内存的底层代码和缓冲已扩展。现在,在执行带有长名称的宏时,ftp 会匹配命令行限制的长度,并且 ftp 客户端不会在有长名称的宏时中止。
7.60.3. 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 现在将正常超时,且不会挂起。
7.61. gawk
7.61.1. RHBA-2012:1146 - gawk 程序错误修复更新
错误修复
- BZ#829558
- 在此次更新之前,"re_string_skip_chars"函数错误地使用字符数而不是原始长度来估算字符串长度。因此,任何没有使用 UTF-8 格式的多字节编码文本都无法正确处理。这个版本修改了底层代码,以便使用正确的字符串长度。正确处理多字节编码。
7.62. gcc
7.62.1. RHBA-2013:0420 - gcc 程序漏洞修复更新
程序错误修复
- BZ#801144
- 由于 GCC GNAT 代码中的指针大小不正确,GNAT 在 PowerPC 构架上编译 32 位 Ada 二进制文件时,GNAT 使用了 libgcc 库的功能不正确。因此,这些程序无法链接,编译会失败。在这个版本中解决了这个问题,Operator 的 sizeof operator 现在返回指针的正确大小,libgcc 中的适当功能被调用。在这种情况下,GNAT 会如预期编译 Ada 二进制文件。
- BZ#808590
- 标准模板库(STL)包含不完整的移动语义实施,可能会导致 GCC 生成不正确的代码。修复了不正确的标头,因此 GCC 现在会在根据移动语义时生成预期的代码。
- BZ#819100
- 在某些情况下,GCC 不会处理 CPU 指令序列,该序列独立于 PowerPC 架构上的索引寻址。因此,如果使用 "-mcpu=power6" 选项调用 "__builtin_bswap64" 内置函数,则会出现内部编译器错误。在这个版本中,修正了相关的代码,GCC 现在会生成一个替代指令序列,它不适用于在这种情况下的索引寻址。
- BZ#821901
- 转换异常处理区域中的一个错误可能会导致内部编译器错误,当使用 "-fprofile-use" 和 "-freorder-basic-blocks-and-partition" 选项编译配置集数据时发生。在这个版本中,错误的代码和配置集数据的编译可以如预期进行。
- BZ#826882
- 在以前的版本中,当枚举使用 static_cast 操作器类型 cast 时,GCC 无法正确处理某些情况。因此,一个 enumeration 项可能会被分配一个大于 enumeration 范围的最大值的整数值。如果编译的代码包含使用这种枚举的测试条件,则在代码优化过程中会错误地从代码中删除这些检查。在这个版本中,GCC 被修改为正确处理枚举类型 casting,C++ 现在不会删除上述的检查。
- BZ#831832
- 在以前的版本中,当比较树相等时,联合或结构的成员没有在 C++ 编译器中正确处理。这会导致内部编译器错误。在这个版本中,修改了 GCC,因此未处理和结构现在可以正确地处理,使用树相等比较的代码现在可以成功编译。
- BZ#867878
- GCC 以前在没有 z196 标志的情况下处理"srak"指令,它允许编译器使用这些指令。因此,在 IBM System z 和 IBM S/390 构架上无法编译一些二进制文件,如 Firefox。在这个版本中,GCC 被修改为支持 srak 指令的 z196 标志,在 IBM System z 和 IBM S/390 构架中现在可以成功编译这些指令的二进制文件。
7.63. gdb
安全修复
- CVE-2011-4355
- 在调试程序时,GDB 尝试从当前工作目录中自动加载某些文件(如 GDB 脚本、Python 脚本和线程调试库)。当 GDB 在具有不受信任的内容的目录中运行时,这可能会导致使用用户特权执行任意代码。
程序错误修复
- BZ#795424
- 当一个结构成员处于误差大于 256 MB 时,在结构溢出中生成的位位置由 GDB 造成无效内存访问。在这个版本中,代码已被修改,以确保 GDB 可以访问这样的位置。
- BZ#811648
- 当核心文件的线程列表损坏时,GDB 不会打印此列表,而是显示 "Cannot find new threads: generic error" 错误消息。有了这个更新,GDB 已被修改,它现在会如预期输出核心文件的线程列表。
- BZ#836966
- GDB 无法使用相同的构建 ID 正确处理多个二进制文件的调试。这个版本修改了 GDB,以使用为特定二进制文件创建的符号链接,以便调试共享构建 ID 的二进制文件现在可以按预期进行。现在,对实时程序和核心文件的调试更为用户友好。
7.63.2. RHBA-2013:0811 - gdb 程序错误修复更新
程序错误修复
- BZ#952090
- 当用户试图执行"maintenance set python print-stack"命令时,GDB 不会识别它并发出指出命令未定义的错误。有了这个更新,GDB 现在可以正确地识别并执行命令。
- BZ#952100
- 当调试在类中声明了本地静态变量的 C++ 程序时,gdb 无法找到本地静态变量。这会导致在调试需要检查这些变量的一些问题时出现问题。在这个版本中,gdb 可以正确地识别变量存在,调试进程可以正常工作。
- BZ#954300
- 在以前的版本中,当在 C++ 程序上的类中使用线程本地存储(TLS)修饰符时,用户会在调试器中遇到内部错误,并要求 gdb 打印其值。这会导致调试会话被破坏。在这个版本中,gdb 可以正确地处理声明为类中的 TLS 的静态变量,在描述的场景中不再发生错误。
7.64. gdm
7.64.1. RHBA-2013:0381 - gdm 程序错误修复和安全更新
程序错误修复
- BZ#616755
- 在以前的版本中,gdm_smartcard_extension_is_ visible ()函数返回 "TRUE" 而不是 "ret" 变量。因此,如果安装了 pcsd 软件包,则无法在 system-config-authentication 窗口中禁用智能卡登录。在这个版本中,gdm_smartcard_extension_is_ visible ()已被修改,以返回正确的值。因此,上面描述的错误不再发生。
- BZ#704245
- 当 GDM 用于通过 XDMCP (X Display Manager Control Protocol)连接到一个主机时,使用 "ssh -X" 命令连接到远程系统会导致与 X 服务器进行身份验证失败。因此,远程系统无法显示 xterm 等应用程序。这个更新在上述场景中提供了兼容 MIT-MAGIC-COOKIE-1 密钥,从而解决了这个问题。
- BZ#738462
- 在以前的版本中,X 服务器审计信息默认不会包含在 X 服务器日志中。现在,这些消息没有包括在日志中。另外,在这个更新中,如果在 /etc/gdm/custom.conf 文件中启用了调试,则会将详细消息添加到 X 服务器日志中,方法是在 "debug" 部分中设置 "Enable=true"。
- BZ#820058
- 在以前的版本中,引导系统后,/var/log/gdm/:0-greeter.log 文件中会出现以下信息:
gdm-simple-greeter[PID]: Gtk-WARNING: gtkwidget.c:5460: widget not within a GtkWindow
在这个版本中,不再显示这个警告。
功能增强
- BZ#719647
- 在这个版本中,GDM 已被修改,以便在禁用可见用户列表时允许智能卡验证。
- BZ#834303
- 在以前的版本中,GDM 调试日志保存在 /var/log/messages 文件中。在这个版本中,为这些调试日志创建了单独的 /var/log/gdm/daemon.log 文件。
7.65. gd
- BZ#790400
- 在更新之前,当更改行的 thickness 时,gd 图形库会错误处理反转的 Y 协调。因此,更改了 thickness 的行被错误地利用。在这个版本中,修改底层代码来正确地利用更改的厚性行。
7.66. geronimo-specs
错误修复
- BZ#818755
- 在此次更新之前,geronimo-specs-compat 软件包描述包含不准确引用。在这个版本中,删除了这些引用,以便描述准确。
7.67. glibc
7.67.1. RHBA-2013:0279 - glibc 程序错误修复更新
程序错误修复
- BZ#804686
- 在此次更新之前,逻辑错误会导致 glibc 的 DNS 代码错误地处理 DNS 服务器拒绝的响应。因此,在一台服务器使用 REJECT 响应后,无法搜索
/etc/resolv.conf
文件中的其他服务器。在这个版本中,修改 DNS 中的逻辑。现在,glibc 通过/etc/resolv.conf
中列出的服务器进行循环,即使其中一个返回 REJECT 响应。 - BZ#806404
- 在此次更新之前,
nss/getnssent.c
文件包含一个未选中的 malloc 调用和不正确的循环测试。因此,glibc 可能会意外终止。在这个版本中,修改 malloc 调用和循环测试。 - BZ#809726
- 在以前的版本中,在 Finnish 区域中,a-z 范围内的字符的区域设置数据不正确。因此,在 Finnish 区域中,a-z 范围内的一些字符无法正确打印。这个版本修改了底层代码,以便为这些字符提供正确的输出。现在,Finnish 区域中的字符按预期打印。
- BZ#823909
- 如果文件或字符串位于 IBM-930 编码中,且包含无效的多字节字符 "0xffff",尝试使用
iconv()
(或 iconv 命令)将文件或字符串转换为另一个编码,如 UTF-8,从而导致分段错误。现在,IBM-930 编码的转换代码可以识别这个无效的字符并调用错误处理程序,而不是导致分段错误。 - BZ#826149
- 在此次更新之前,当通配符字符 "*" 是模式参数的一部分时,
fnmatch()
功能会失败,并带有返回值 -1,文件名参数
包含无效的多字节编码。这个版本修改了fnmatch()
代码来识别这种情况。现在,无效的字符被视为不匹配,然后进程可以进行。 - BZ#827362
- 在此次更新之前,内部
FILE
偏移在 wide 字符流中被错误设置。因此,ftell 返回的偏移不正确。在某些情况下,这可能会导致过度写入数据。此更新修改 ftell 代码,以正确地为广泛字符设置内部FILE
偏移字段。现在,ftell 和 fseek 按预期处理偏移。 - BZ#829222
- 在以前的版本中,
/etc/rpc
文件没有设置为 glibc 构建中的配置文件。因此,更新 glibc 会导致/etc/rpc
文件被替换且无警告或创建备份副本。这个版本可以正确地将/etc/rpc
标记为配置文件。现在,现有的/etc/rpc
文件会被保留,捆绑的版本可以安装在/etc/rpc.rpmnew
中。 - BZ#830127
- 在此次更新之前,vfprintf 命令在遇到溢出时返回错误的错误代码。因此,从 vfprintf 检查返回代码的应用程序可能会获得意外的值。在这个版本中,为溢出情况修改错误代码。
- BZ#832516
- 在此次更新之前,
newlocale
标志完全依赖于底层 open ()调用失败,来为不正确的区域设置 errno 变量。因此,如果已询问了相同的区域设置名称,则newlocale()
功能不会在失败时将errno
变量设置为适当的值。在这个版本中,修改loadlocale
调用中的逻辑,以便后续尝试多次尝试加载不存在的区域设置,总是相应地设置errno
变量。 - BZ#832694
- 在此次更新之前,ESTALE 错误消息只引用
NFS
文件系统。因此,当非NFS
文件系统触发这个错误时,用户会被混淆。在这个版本中,修改错误消息,将错误消息应用到可触发此错误的所有文件系统。 - BZ#835090
- 在此次更新之前,只有在
/etc/resolv.conf
文件包含 IPV6 名称服务器时,才会部分初始化内部名称服务器。因此,应用程序可以根据 nearby 结构的确切内容中止。在这个版本中,修改底层代码来处理/etc/resolv.conf
中列出的 IPV6 名称服务器。 - BZ#837695
- 在以前的版本中,glibc 解析器代码中的缓冲太小,无法处理某些 DNS 查询的结果。因此,在分配并浪费大量缓冲区后,查询必须重复。在这个版本中,放大缓冲区来处理更大的 DNS 结果。
- BZ#837918
- 在以前的版本中,在更新前,
exp
、exp2
、pow
、sin
、tan
和rint
的逻辑被错误。因此,在非默认循环模式下运行这些功能时,这些功能可能会失败。在这个版本中,功能在所有 4 种不同的循环模式中返回正确的结果。 - BZ#841787
- 在此次更新之前,如果此文件还包含一个或多个 IPv6 名称服务器,glibc 会错误地处理
/etc/resolv.conf
文件中的选项 rotate
选项。因此,DNS 查询可能会意外失败,特别是当多个查询被单个进程发出时。在这个版本中,将/etc/resolv.conf
中列出的服务器的内部化修改为 glibc 的内部结构,以及这些结构的排序和轮转以实现选项轮转
功能。现在,在 glibc 中可以正确解析 DNS 名称。 - BZ#846342
- 在以前的版本中,某些用户定义的 32 位可执行文件可能会向带有重叠参数的
memcpy()
功能发出调用。因此,应用程序会调用未定义的行为,并可能会失败。在这个版本中,具有 32 位应用程序(使用重叠参数的memcpy
功能)可以创建/etc/sysconfig/32bit_ssse3_memcpy_via_32bit_ssse3_memmove
。如果存在这个文件,glibc 会将所有调用重定向到 SSSE3 memcpy copiers,它会被重定向到 SSSE3 memmove copier,它接受重叠参数。重要我们强烈建议客户在源代码中识别和修复这些问题。memcpy()
的重叠参数明确违反了 ANSI/ISO 标准,红帽不会为违反这些标准的应用程序提供二进制兼容性。 - BZ#847932
- 在以前的版本中,
strtod()
、strtof()
和strtold()
功能将字符串转换为 glibc 中的数字表示,其中包含多个整数溢出漏洞。这会导致基于堆栈的缓冲区溢出。因此,这些功能可能会导致应用程序在某些情况下中止或执行任意代码。在这个版本中,修改底层代码以避免这些错误。 - BZ#848082
- 在以前的版本中,
setlocale()
功能无法检测内存分配问题。因此,setlocale()
功能最终转储核心,因为 NULL 指针或未初始化的字符串。在这个版本中,修改setlocale
代码以确保内存分配成功。现在,setlocale()
功能不再是内核转储。 - BZ#849651
- 在以前的版本中,在保存和恢复 FPU 状态时,
expf()
功能会显著降低。在这个版本中,为 Intel 64 和 AMD64 平台添加了手动优化的expf()
功能实现。现在,expf()
功能非常快。 - BZ#852445
- 在以前的版本中,PowerPC 特定的
pthread_once
代码无法正确发布它所做的更改。因此,在正确的时间,更改对其他线程不可见。在这个版本中,为适当的线程代码增加了版本障碍,以确保在多个线程之间正确同步数据。 - BZ#861167
- 在这个版本中,在
mman.h
文件中增加了MADV_DONTDUMP
和MADV_DODUMP
宏来编译使用这些宏的代码。 - BZ#863453
- 在此次更新之前,ns cd 守护进程会尝试释放不是由
malloc()
功能提供的指针,因为 glibc 中的内存管理出现错误。因此,当处理有大量成员的组时,nscd 可能会意外终止。此更新可确保池分配器分配的内存不再传递到空闲
。现在,池分配器的垃圾收集器重新声明内存。因此,ns cd 不再在有大量成员的组上崩溃。 - BZ#864322
- 在此次更新之前,
IPTOS_CLASS
定义引用错误的对象。因此,从ip.h
文件中引用IPTOS_CLASS
定义的应用程序不会构建或无法按预期运行。在这个版本中,修改定义来引用引用IPTOS_CLASS
定义的正确对象和应用程序。
7.67.2. RHBA-2013:1179 - glibc 程序漏洞修复更新
错误修复
- BZ#989558
- 在特定虚拟地址加载时,C 库安全框架无法处理动态加载的字符转换例程。这会导致在尝试使用动态加载的字符转换例程时因为分段错误意外终止。这个版本增强了 C 库安全框架,在任何虚拟内存地址中处理动态加载的字符转换例程,在上述场景中不再崩溃。
7.67.3. RHBA-2013:1046 - glibc 程序漏洞修复更新
程序错误修复
7.67.4. RHBA-2013:1421 - glibc 程序错误修复更新
错误修复
- BZ#1001050
- 名称服务缓存守护进程(nscd)中的一个缺陷会导致在某些情况下缓存 DNS 查询,以便在使用 AF_UNSPEC 地址系列查询地址时仅返回 IPv4 地址,即使存在 IPv4 和 IPv6 结果。这个缺陷已被修正,如果两者都存在,nscd 可以正确地返回 IPv4 和 IPv6 结果。
7.68. gnome-desktop
错误修复
- BZ#829891
- 在以前的版本中,当用户点击系统的热键(通常是 Fn+F7)更改显示配置时,系统可能会切换到无效的模式,这将无法显示。有了这个更新,gnome-desktop 现在选择有效的 XRandR 模式,并正确切换 hot-key 可以正常工作。
7.69. gnome-packagekit
程序错误修复
- BZ#744980
- 如果在安装更新时添加或删除一个 .repo 文件,PackageKit (packagekitd)会发送 RepoListChanged ()消息。如果使用软件更新(/usr/bin/gpk-update-viewer)安装这些更新,它会尝试刷新可用的更新列表来响应该消息。这会导致上述列表为空。在这个版本中,gpk-update-viewer 会忽略来自 packagekitd 的此类信号,使可用更新列表保持可见且保持不变。
- BZ#744906
- 当 64 位 Red Hat Enterprise Linux 实例同时安装了 32 位和 64 位软件包版本时,两个软件包的更新都可用,并在软件更新(/usr/bin/gpk-update-viewer)窗口中显示两个构架的摘要和软件包名称。但是,仅针对 32 位版本提供软件包大小和勘误记录。对于 64 位版本,size 列将留空。另外,在 Software 列表中选择了 64 位版本时,以下显示窗格会显示"Loading..."消息,而不是勘误备注。有了这个更新,gpk-update-viewer 会在回退到软件包名称前查找确切的软件包 ID,确保在安装多个软件包架构时同时显示两个软件包版本,同时安装多个软件包架构时显示相关的 meta-data。
- BZ#694793
- 当使用 Add/Remove Software 接口(/usr/bin/gpk-application)安装应用程序时,会出现一个对话框,它会马上提供 Run 按钮。单击此按钮可启动新安装的程序。在以前的版本中,在某些情况下,一个不正确的分配的指针值意味着点击此 Run 按钮会导致 gpk-application 崩溃(segfault)。在这个版本中,指针被正确分配,在启动新安装的应用程序时 gpk-application 不再崩溃。
- BZ#669798
- 在以前的版本中,普通用户可以在 PackageKit 更新工具运行时从会话中关闭其系统或注销。根据事务 PackageKit 在启动关闭或注销时参与,这可能会损坏 RPM 数据库,从而破坏系统。在这个版本中,当试图在 PackageKit 运行更新时关闭或注销时,PackageKit 会限制进程,并为用户提供一个报警:
A transaction that cannot be interrupted is running.
注意:这个更新不会阻止 root 用户(或其他具有同等管理特权的用户)关闭系统,或将普通用户从会话中注销。
7.70. gnome-screensaver
程序错误修复
- BZ#648869
- 在以前的版本中,NVIDIA 硬件不支持 X Resize 和 Rotate Extension (xRandR) gamma 更改。因此,fade-out 功能无法在 NVIDIA 硬件上工作。在这个版本中,xRandR gamma 支持检测代码在 NVIDIA 卡中会失败,XF86VM gamma fade 扩展会自动用作回退,因此 fade-out 功能可以正常工作。
- BZ#744763
- 在以前的版本中,鼠标光标可以移到非主监控器中,因此当用户移动鼠标时不会显示解锁对话框。这个程序错误已被解决,鼠标光标无法再移到非主监控器中。因此,每当用户移动鼠标时,解锁对话框都会启动。
- BZ#752230
- 在以前的版本中,对解锁对话框的生成似乎非常慢。这是因为,当窗口的大小分配改变时,背景都会被更新,因此小部件的大小分配随后会更改拍摄的每个帧。底层源代码已被修改,以确保获得动画的合理速度。
- BZ#759395
- 当启用 Mandatory 配置集时,Screensaver Preferences 窗口中的屏幕保存器处于活动状态时"Lock 屏幕"选项不会被禁用。这个程序错误可能会暴露用户存在安全风险。在这个版本中,在上述场景中,lock-screen 选项会如预期禁用。
- BZ#824752
- 使用双屏幕时,移动鼠标在初始超时后不会解锁 gnome-screensaver。用户必须按键来解锁屏幕。底层源代码已被修改,用户现在可以通过移动鼠标来解锁 gnome-screensaver。
错误修复
- BZ#994868
- 在以前的版本中,当使用 virt-manager、virt-viewer 和 spice-xpi 应用程序时,用户无法在屏幕保存器启动后输入 gnome-screensaver 密码。这只有在虚拟机系统使用了 Compiz composting 窗口管理器时会出现这种情况。在用户释放鼠标光标后,然后按 键以输入密码,对话框不接受任何输入。这是因为将窗口分配不正确到没有键盘 grab 的应用程序中。在这个版本中,窗口重点被正确分配给正确的位置,尝试输入 gnome-screensaver 密码不会在上述场景中失败。
7.71. gnome-settings-daemon
程序错误修复
- BZ#805064
- 在以前的版本中,gnome-settings-daemon 软件包不支持某些 Wacom 图形平板电脑的 LED 指示符。因此,Wacom 平板电脑上的 LED 状态无法准确指示当前控制模式。在这个版本中,LED 支持被添加到 gnome-settings-daemon 中。因此,平板电脑 LED 现在可以正常工作。
- BZ#812363
- 在以前的版本中,使用没有修饰符(F1、F2 等)的功能键作为自定义操作的键盘快捷键无法正常工作。在这个版本中,添加了一个补丁来解决这个问题。因此,gnome-settings-daemon 现在允许未修改的功能键用作自定义操作的键盘快捷方式。
- BZ#824757
- 在某些情况下,gnome-settings-daemon 没有正确处理显示配置设置。因此,使用系统的热键更改显示配置没有选择有效的 XRandR 配置,或者保持 monitor 处于克隆模式。这个 bug 已被修复,gnome-settings-daemon 现在选择有效的 XRandR 模式,并按预期处理克隆模式。
- BZ#826128
- 在以前的版本中,在激活平板电脑屏幕前将屏幕平板电脑连接到计算机会导致输入设备与唯一可用的 monitor - 计算机屏幕匹配。因此,stylus motions 被错误地映射到计算机屏幕,而不是平板电脑本身。在这个版本中,引入了一个补丁,以便在平板电脑屏幕可用时马上检测它。因此,当检测到平板电脑屏幕时,该设备会被正确匹配。
- BZ#839328
- 在以前的版本中,使用映射到平板电脑的 ExpressKey 按钮的预定义键盘快捷方式中的切换键会导致 gnome-settings-daemon 在按 ExpressKey 后崩溃。这个 bug 已被修复,使用 shift 键的快捷方式现在可以在不复杂的情况下映射到 ExpressKey。
- BZ#853181
- 在此次更新之前,gnome-settings-daemon 软件包中的鼠标插件会干扰 Wacom 设备。因此,在热插拔生成的鼠标点击事件后,在平板电脑上使用 ExpressKey。在这个版本中,鼠标插件已被修复,忽略平板电脑设备,且不再发生干扰。
- BZ#886922
- 在以前的版本中,在具有多个模式切换按钮(如 Wacom Cintiq 24HD)的平板电脑上,所有 mode-switch 按钮都会根据不同的模式进行循环。在这个版本中,每个不同的模式切换按钮将选择给定按钮的正确模式。
- BZ#861890
- 由于 gnome settings 守护进程中的一个错误,更改 monitor 布局会导致平板电脑映射不正确。在这个版本中,当 monitor 布局改变时,图形平板电脑映射会自动更新。因此,在布局更改后,stylus 移动会被正确映射,且不需要手动更新。
功能增强
- BZ#772728
- 在这个版本中,对于 Wacom 图形平板电脑的一些集成改进已被上游向后移植: - touchscreen 设备现在可以在绝对模式下自动设置,而不是 relative - 平板电脑上的内存泄漏已被修复 - 精简密钥在布局轮转后不再失败 - 现在将测试应用程序包含在软件包中,以帮助调试问题。
- BZ#858255
- 在这个版本中,gnome-settings-daemon 的默认设置中启用了输入设备的 touch 功能。
7.72. gnome-terminal
错误修复
- BZ#819796
- 在此次更新之前,gnome-terminal 没有完全本地化到 Asamese 中。在这个版本中,Assamese locale 已被更新。
7.73. gnutls
7.73.1. RHBA-2013:0425 - gnutls 程序错误修复更新
程序错误修复
- BZ#648297
- 在以前的版本中,gnutls_priority_init.3 手册页包含有关 gnutls-2.8.5-safe-renegotiation 补丁中的不正确的信息,特别是特殊的控制关键字。手册页已被更新,以提供有关上述主题的准确信息。
- BZ#745242
- 在此次更新之前,gnutls_x509_privkey_import () 函数无法以 PKCS""8 格式加载私钥。因此,这些密钥不会被使用 gnutls_x509_privkey_import ()的应用程序处理。这个程序错误已被解决,gnutls_x509_privkey_import ()现在允许加载以 PKCS""8 格式化的私钥。
- BZ#771378
- gnutls 软件包中的 TLS-1.2 协议实现中存在多个程序错误。因此,gnutls 与符合 TLS-1.2 协议标准的客户端和服务器不兼容。在这个版本中,TLS-1.2 实现已被修复。因此,现在保证与其他 TLS-1.2 客户端和服务器的兼容性 gnutls。
- BZ#807746
- 在以前的版本中,gnutls-cli-debug 手册页包含关于命令行选项的拼写错误和不正确的信息。手册页已更新,不再包含上述错误。
安全修复
- CVE-2013-2116
- 发现通过 RHSA-2013:0588 发布的 CVE-2013-1619 问题的修复以 CBC-mode 密码套件的 GnuTLS 解密 TLS/SSL 加密记录的方式引入了回归问题。远程攻击者可以利用此漏洞使服务器或客户端应用程序使用 GnuTLS 崩溃。
7.74. graphviz
程序错误修复
- BZ#772637
- 在以前的版本中,点工具可以在 32 位和 64 位构架中生成不同的镜像,这会导致在构建过程中使用 graphviz 的软件包冲突。问题是由用于浮动点处理的不同指令造成的。在 32 位 Intel 构架中,代码现在使用 "-ffloat-store" 编译器标志编译,这样可确保无论使用的构架如何生成相同的镜像。
- BZ#821920
- graphviz-tcl 软件包包含 "demo" 目录,其中包含各种语言的示例。这会导致引入隐式依赖项。在这个版本中,所有示例都作为文档安装,这可减少隐式依赖项的数量。
- BZ#849134
- 在 %postun scriptlet 中运行的 "dot -c" 命令会重新创建 graphviz 配置文件,并带有安装插件的当前状态。在以前的版本中,如果命令无法加载配置文件中指定的插件,则在删除 graphviz-gd 软件包时会输出警告信息。这些消息可能会造成混淆,因此已被删除。
7.75. grub
程序错误修复
- BZ#783169
- 当 BIOS 设置为统一可扩展固件接口(UEFI)模式时,设置中的所有旧选项 ROM 都被禁用,并且 grub.efi 工具被加载,尝试使用 NET0 协议访问网络并不会成功,"nd" root 命令无法正常工作。这个程序错误已被解决,GRUB 在这种情况下可以正常工作。
- BZ#814014
- 在以前的版本中,在创建设备映射时,GRUB 工具不会扫描 KVM virtio 磁盘。因此,这些磁盘不会添加到此映射中。这个 bug 已被修复,GRUB 现在扫描位于 /dev/ 目录中的 vd* 设备,因此 virtio 磁盘会如预期添加到设备映射中。
- BZ#825054
- GRUB 实用程序没有为可扩展固件接口(EFI)内存映射和系统表高顺序位传递高顺序地址位。因此,EFI 系统映射和内存映射无法在 RAM 大于 4 GB 的机器上正常工作。这个程序错误已通过传递高顺序地址位来解决,因此 grub 可以在上述场景中正常工作。
- BZ#870420
- 当 /dev/mapper/ 目录中的符号链接解析为原始文件时,此文件与 device.map 文件中的正确文件条目不匹配。因此,grub-install 软件包会失败,并返回出错信息。在这个版本中,符号链接被阻止在 /dev/mapper/ 目录中解析。因此,grub grub-install 会如预期进行。
- BZ#876519
- 由于底层源代码中的错误,不正确的尝试解引用 NULL pointer 可能会导致 GRUB 意外终止。在这个版本中修正了底层源代码以防止这个错误,以便 GRUB 不再崩溃。
功能增强
- BZ#642396
- 此功能增强包括对之前缺少的 IPV6 UEFI 2.3.1 netboot 的支持。
- BZ#737732
- 在这个版本中,用户可以使用 EFI 引导分区作为 root 分区,可在 grub.conf 文件中指定。因此,用户不必指定特定的驱动器,但可以使用 EFI 引导管理器中指定的驱动器。
7.76. gstreamer-plugins-base
功能增强
- BZ#755777
- 在这个版本中,增加了对颜色转换的 color-matrix 支持到 ffmpegcolorspace 插件。
7.77. gtk2
7.77.1. RHBA-2013:0493 - gtk2 程序错误修复更新
程序错误修复
- BZ#882346
- 由于 X.Org 服务器组件行为的最新更改,GTK+ 应用程序无法将某些键组合用于密钥绑定。在这个版本中,GTK+ 与新行为兼容,这样可确保在使用库的应用程序中不会发生回归问题。
- BZ#889172
- 在以前的版本中,当在"Open Files"对话框中的"Recently Used"和"Search"选项卡间切换时,视图中的"Size"列会消失。在这个版本中,确保在选择相关选项时显示列。
7.78. 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 守护进程可能会使用过量内存,这会导致系统变得无响应。在这个版本中,添加了正确的对象清理调用,这样可确保内存消耗是恒定的,且系统在这种情况下不会挂起。
7.79. hivex
7.79.1. RHBA-2013:0433 - hivex 程序错误修复更新
程序错误修复
- BZ#822741
- 在以前的版本中,软件包的描述包含不正确的文本。这个更新提供了对使用的语言的更正,现在 spec 文件包含中立表达式。
- BZ#841924
- 在单个父节点下具有大量子节点的 hive 文件无法解析。添加了补丁,以允许只读访问这些子节点。
7.80. hplip
安全修复
- CVE-2013-0200,CVE-2011-2722
- HPLIP 中发现几个临时文件处理漏洞。本地攻击者可以使用这些漏洞来执行符号链接攻击,覆盖了使用 HPLIP 的进程可访问的任意文件。
程序错误修复
- BZ#829453
- 在以前的版本中,HPijs 软件包需要过时的 cupsddk-drivers 软件包,该软件包由 cups 软件包提供。在某些情况下,这个依赖项会导致 hpijs 安装失败。这个 bug 已被修复,HPijs 不再需要 cupsddk-drivers。
- BZ#683007
- Scanner Access Now Easy (SANE)后端的配置位于 /etc/sane.d/dll.d/ 目录中,但 hp-check 工具仅检查 /etc/sane.d/dll.conf 文件中。因此,HP-check 会检查是否有正确的安装,但错误地报告安装了 SANE 后端的问题。在这个版本中,HP-check 会按预期正确地检查两个位置中的安装问题。
安全修复
- CVE-2013-4325
- HPLIP 通过 D-Bus API 与 PolicyKit 通信,该 API 容易受到竞争条件的影响。这可能会导致绕过预期的 PolicyKit 授权。这个版本修改了 HPLIP,以通过不容易受到竞争条件的不同 API 与 PolicyKit 通信。
7.81. hsqldb
7.81.1. RHBA-2013:0334 - hsqldb 程序错误修复更新
错误修复
- BZ#827343
- 在此次更新之前,hsqldb 数据库不依赖于版本 1:1.6.0 或更高版本的 java 软件包。因此,在没有安装 java-1.6.0-openjdk 软件包的系统上,build-classpath 命令会失败,并且 hsqldb 软件包可以被错误地安装。这个版本添加了对 java-1.6.0-openjdk 的要求。现在,安装 hsqldb 可以正常工作。
7.82. httpd
安全修复
- CVE-2008-0455,CVE-2012-2687
- 在 mod_negotiation Apache HTTP Server 模块中发现了一个输入清理缺陷。远程攻击者能够在启用了 MultiViews 选项的目录中上传或创建具有任意名称的文件,可以利用此缺陷对访问站点的用户进行跨站点脚本攻击。
- CVE-2012-4557
- 在与负载均衡器模式下通过 mod_proxy 的 mod_proxy 配置一起使用时,mod_proxy_ajp 会在请求处理超时时将后端服务器标记为失败,即使之前的 AJP (Apache JServ Protocol) CP 请求被后端响应。远程攻击者能够利用过量后端来处理请求,可能会导致 mod_proxy 在重试超时期间或所有后端服务器都标记为失败。
程序错误修复
- BZ#787247
- 当配置了 Apache 模块 mod_proxy 时,并且一个特定的后端 URL 反向代理到服务器 2 次或多次,给出了以下格式的假警告:
[warn] worker [URL] already used by another worker
此消息的级别已从 WARNING 改为 INFO,因为它无法将多个 URL 代理到同一后端服务器。 - BZ#822587
- mod_cache 模块无法正确处理
206
部分HTTP
响应。这会导致在配置了缓存时将不正确的响应返回给客户端。在这个版本中,mod_cache 不再缓存206
响应,从而确保返回正确的响应。 - BZ#829689
- 如果
LDAP
身份验证与 Novell eDirectory LDAP 服务器一起使用,如果 LDAP 服务器暂时不可用,mod_ldap 可能会返回500 Internal Server Error
响应。在这个版本中修复了 mod_ldap,在服务器不可用时重试 LDAP 请求,在这种情况下不会返回500
错误。 - BZ#837086
- 在以前的版本中,当配置了
ProxyRemote
时,mod_proxy_connect 会执行不必要的DNS
查询。因此,在使用ProxyRemote
的配置中,mod_proxy_connect 可能无法连接,或者无法连接到远程服务器。在这个版本中,如果配置了ProxyRemote
,则更改 mod_proxy 来省略 DNS 查询。因此,代理不会在此类配置中失败。 - BZ#837613
- 当
SSL
请求失败时,使用-v 2
选项时,ApacheBench (ab)基准测试工具会尝试释放证书两次。因此,因为free()
错误导致 ab 意外终止。修正了 ab 工具,仅释放一次证书。因此,aub 工具不会在上述场景中崩溃。 - BZ#848954
- 在以前的版本中,mod_ssl 假定私钥是在
SSLProxyMachineCertificateFile
中的证书后设置的。因此,如果在 SSLProxyMachineCertificateFile 的证书之前设置了私钥,则 httpd 意外终止。这个版本改进了 mod_ssl,以检查证书前是否设置了私钥。因此,mod_ssl 不再在此情形中崩溃,并打印错误消息。 - BZ#853160
- 在此次更新之前,如果发送
HTTP
响应标头前收到 Java 应用服务器,mod_proxy_ajp 无法正确处理来自 Java 应用服务器的清除
消息。因此,用户可以在没有正确的 HTTP 标头的情况下收到截断的响应页面。在这个版本中,mod_proxy_ajp 在发送 HTTP 响应标头前忽略清除
消息。因此,在上述场景中不再发送截断的响应。 - BZ#853348
- 在代理配置中,某些响应行字符串没有被正确处理。如果从原始服务器收到没有
描述
字符串的响应代码,对于非标准状态代码(如450
状态代码),则会向客户端返回500 Internal Server Error
。这个程序错误已被解决,原始响应行返回给客户端。 - BZ#867268
- 在以前的版本中,
LogFormat
指令的定义中的${cookie}C
的值与 Cookie 的子字符串匹配。因此,如果其名称包含LogFormat
中定义的名称子字符串,则使用${cookie}C
字符串来打印错误的 Cookie。在这个版本中,代码有所改进,因此 Cookie 名称现在完全匹配。因此,即使名称中有其他 Cookie 及其子字符串,也会返回正确的 Cookie。 - BZ#867745
- 在以前的版本中,在为 mod_ssl 软件包运行
%post
脚本前,不会进行检查来查看/etc/pki/tls/private/localhost.key
文件是否为有效的密钥。因此,当/etc/pki/tls/certs/localhost.crt
不存在,且localhost.key
存在但无效时,升级带有 mod_ssl 的 Apache HTTP 服务器守护进程(httpd)会失败。%post
脚本已被修复,测试现有的SSL
密钥。因此,使用 mod_ssl 升级 httpd 现在会如预期进行。 - BZ#868253
- 在以前的版本中,在反向代理配置中,mod_cache 在刷新缓存条目时无法正确处理来自原始服务器的
304 Not Modified
响应。因此,在某些情况下,空页面被返回到请求缓存中已存在的实体的客户端。在这个版本中修复了对 mod_cache 中的304 Not Modified
响应的处理,因此描述的场景中不会显示空页面。 - BZ#868283
- 由于回归,当 mod_cache 收到不可缓存的
304
响应时,标头会错误地提供。因此,在没有缓存的标头的情况下,压缩数据可以返回到客户端,以指示数据被压缩。上游补丁应用于在向客户端提供缓存的数据前合并响应和缓存的标头。现在,客户端可以正确地解释缓存的数据。
功能增强
- BZ#748400
- Apache 模块 mod_proxy 现在允许在 web 界面中更改 BalancerMember 状态。
- BZ#757735
- rotatelogs 程序现在提供了一个新的 rotatelogs
-p
选项,用于在每次日志轮转后执行自定义程序。 - BZ#757739
- rotatelogs 程序现在提供了一个新的 rotatelogs
-c
选项,用于为每个设定间隔创建日志文件,即使为空也是如此。 - BZ#796958
- 添加了
LDAPReferrals
配置指令,作为现有LDAPChaseReferrals
指令的别名。 - BZ#805720
- mod_proxy 和 mod_ssl 模块已更新,以支持 mod_nss (NSS)和 mod_ssl (OpenSSL)模块的并发使用。
- BZ#805810
- 添加了
htcacheclean
守护进程的初始化脚本。 - BZ#824571
- 在 mod_proxy 中为 balancer 配置添加了
failonstatus
参数。 - BZ#828896
- 在以前的版本中,mod_authnz_ldap 可以从收到的
LDAP
属性设置环境变量,而只能由 LDAP 身份验证设置,而不通过 LDAP 授权。因此,如果使用 mod_authnz_ldap 模块为授权启用 LDAP,但不进行身份验证,则不会填充AUTHORIZE_
环境变量。此更新应用一个补丁来使用 LDAP 授权实施AUTHORIZE_
环境变量设置。因此,可以在使用 LDAP 授权为所有配置的 LDAP 属性设置环境变量时,可以使用其他身份验证方法。 - BZ#833064
- 现在,可以禁用软件包升级后自动重启 httpd 服务的 %posttrans scriptlet。如果文件
/etc/sysconfig/httpd-disable-posttrans
存在,则 scriptlet 将不会启动守护进程。 - BZ#833092
- httpd -S 的输出现在包含每个虚拟主机配置的别名名称。
- BZ#838493
- rotatelogs 程序已更新,以支持
-L
选项,从当前日志到指定路径创建硬链接。 - BZ#842375
- 新的证书变量名称现在由 mod_ssl 使用
_DN_userID
后缀公开,如SSL_CLIENT_S_DN_userID
,它使用userID
, OID 0.9.2342.19200300.100.1.1 的常用对象标识符(OID)定义。 - BZ#842376
- RFC 2616 中描述了 chunked Transfer Coding。在以前的版本中,Apache 服务器无法正确处理带有
chunk-size
或chunk-extension
值 32 字节的区块编码的 POST 请求。因此,当发出 POST 请求时,服务器不会响应。应用了上游补丁,问题不再发生。
7.83. hwdata
7.83.1. RHEA-2013:0376 - hwdata 增强更新
功能增强
- BZ#839221
- 为 Beta 和 Final compose 列表更新了 PCI ID 号。
- BZ#739816
- 添加了对 NVidia 图形卡 N14E-Q5, 0x11BC 的支持。
- BZ#739819
- 添加了对 NVidia 图形卡 N14E-Q3, 0x11BD 的支持。
- BZ#739821
- 添加了对 NVidia 图形卡 N14E-Q1、0x11BE 的支持。
- BZ#739824
- 添加了对 NVidia 图形卡 N14P-Q3, 0x0FFB 的支持。
- BZ#739825
- 添加了对 NVidia 图形卡 N14P-Q1、0x0FFC 的支持。
- BZ#760031
- 添加了对 Broadcom BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter 的支持。
- BZ#830253
- 添加了对 Dell PowerEdge Express Flash PCIe SSD 设备的 Boot 的支持。
- BZ#841423
- 添加了对 Intel C228 芯片组和基于 Socket H3 的未来 Intel 处理器的支持。
- BZ#814114
- 这个版本还添加了来自上游存储库的当前硬件 USB ID 文件。此文件提供对 Broadcom 20702 Bluetooth 4.0 Adapter Softsailing 的支持。
7.84. hwloc
7.85. icedtea-web
错误修复
- BZ#838084
- 在以前的版本中,IcedTea-Web 插件基于 JDK 6 构建,但在运行时,可以在 JDK 7 中使用它。因此,IcedTea-Web 有时无法运行。在这个版本中,icedtea-web 软件包会根据 JDK 7 构建,IcedTea-Web 在运行时使用 JDK 7,从而防止这个程序错误。请注意,JDK 6 的公共更新结束计划在即将推出的几周内生效。
错误修复
- BZ#975426
- 通过 RHSA-2013:0957 发布 java-1.7.0-openjdk 软件包更改会导致 icedtea-web 浏览器插件和 javaws 应用以 NullPointerException 退出。在这个版本中修复了 icedtea-web,以便与更新的 java-1.7.0-openjdk 软件包正确工作。
7.86. infinipath-psm
错误修复
- BZ#907361
- 由于打包错误,不是 infinipath-psm 库所需的所有对象文件都内置在库中,从而导致它无法正常工作。在这个版本中修复了 infinipath-psm Makefile,它现在可以正确地包括所有所需的对象文件,程序库可以正常工作。
7.87. initscripts
程序错误修复
- BZ#893395
- 在以前的版本中,在正确设置 master 设备前调用 ip link 命令。因此,从设备可能处于
未知状态
。这个问题已通过在设备正确安装后为 master 调用 ip 链接 来解决,所有从设备都已启动。因此,所有从设备都处于预期状态,并连接到 master 设备。 - BZ#714230
- 在以前的版本中,VLAN 名称的命名策略太严格。因此,
ifdown
工具无法与描述性命名的接口一起工作。要修复这个程序错误,名称格式检查已被删除,ifdown
现在可以正常工作。 - BZ#879243
- 在此次更新之前,
/etc/sysconfig/network-scripts/ifup-aliases
文件中有一个拼写错误,这会导致重复检查失败。拼写错误已被修正,检查再次可以正常工作。 - BZ#885235
BONDING_OPTS
变量由 slave 接口中的ifup
程序应用,即使 master 已位于且有活跃的从接口。这会导致ifup
返回错误信息。要解决这个程序错误,现在会在应用BONDING_OPTS
前检查 master 是否没有任何活跃的从设备,且不会返回错误消息。- BZ#880684
- 在此次更新之前,当父设备没有启动时,检查网络中重复的 IP 地址的
arping
工具会失败。因此,故障处理方式与在网络中查找第二个 IP 地址的方式相同。要修复这个错误,在运行
duplicity 检查前,可以检查 master 设备是否已启动。因此,在上述场景中父设备停机时,不会返回错误消息。 - BZ#723936
rename_device.c
文件与 VLAN 接口不匹配,因此可能会导致命名不正确的物理接口。现在,提供了一个补丁来解决这个程序错误,接口现在被命名为 predictably且正确。- BZ#856209
- 当调用 vgchange -a y 命令而不是 vgchange -a ay on the
netfs
接口由rc.sysinit
守护进程调用时,所有卷都会被激活。这个版本提供了一个补丁来修复这个程序错误。现在,实际上只会激活声明要激活的卷。如果没有声明列表,则默认激活所有卷。 - BZ#820430
- 在以前的版本中,当从设备附加到没有正确设置的主接口时,接口无法正常工作,并最终导致内核 oops。要修复这个问题,在主接口启动前会设置
BONDING_OPTS
变量,这是设置的正确顺序。 - BZ#862788
- 如果有进程阻止文件系统卸载,
/etc/init.d/halt
脚本会尝试终止当前使用文件系统的所有进程,包括脚本本身。因此,系统在重启后变得无响应。在这个版本中,关机脚本 PID 不包括在 kill 命令中,这可让系统正常重启。 - BZ#874030
- 当使用
ifup
工具设置 master 接口时,BONDING_OPTS
变量不会被应用。因此,通过ifcfg
工具进行的绑定模式配置无效。已提供了一个补丁来修复这个错误。BONDING_OPTS
现在,已应用绑定模式,在上述场景中可以正常工作。 - BZ#824175
- 如果网络绑定设备具有另一个绑定设备的子字符串的名称,则这两个设备会因为绑定设备名称的测试不正确而更改了其状态。在正则表达式 test 中提供了补丁,绑定设备会如预期更改其状态。
- BZ#755699
udev
守护进程是一个事件驱动的热插拔代理。在以前的版本中,只有引导时会发出用于串行控制台的udev
事件。如果更改了运行级别,则进程不会重启,因为已处理了事件。因此,在输入时不会重启串行控制台,然后退出运行级别 1。在这个版本中,fedora.serial-console-available
事件会在串行控制台的后停止过程中发出,控制台现在可以按预期重启。- BZ#852005
- 在此次更新之前,不会检查是否已为别名接口执行地址。因此,已经使用的 IP 地址可以分配给一个别名接口。要修复这个程序错误,请检查 IP 地址是否已经使用。如果是,则返回错误消息,并且没有分配 IP 地址。
- BZ#852176
- 在以前的版本中,
init
工具会尝试添加绑定设备,即使它已存在。因此,会返回警告信息。检查绑定设备是否已提供且不再返回警告信息的补丁。 - BZ#846140
- 在此次更新之前,
crypttab (5)
手册页没有描述处理密码中的空格。现在,man page 已被更新,并包含有关密码的信息,并包含空格。 - BZ#870025
- 之前的
crypttab (5)
手册页包含一个拼写错误(一个pptab insted crypttab),它现已被修正。 - BZ#795778
- 在以前的版本中,
/init/tty.conf
和/init/serial.conf
文件中缺少使用描述,且此信息不会在错误消息中返回。在这个版本中,这些信息被添加到上述文件中,现在通过错误消息返回。 - BZ#669700
- 在以前的版本中,
/dev/shm
文件系统由dracut
工具挂载,而无需/etc/fstab
文件中的属性。要修复这个程序错误,/dev/shm
现在由rc.sysinit
脚本重新挂载。因此,/dev/shm
现在包含/etc/fstab
中的属性。 - BZ#713757
sysconfig.txt
文件的早期版本指示用户将VLAN=yes
选项放在全局配置文件中。因此,名称包含点的接口被识别为 VLAN 接口。sysconfig.txt
文件已被更改,VLAN 描述行指示用户在接口配置文件中包含 VLAN 选项,因此上述设备不再被识别为 VLAN 接口。- BZ#869075
sysconfig.txt
文件建议用户使用 saslauthd -a 命令而不是 saslauthd -v,这会导致命令失败并显示出错信息。在sysconfig.txt
中,命令中的错误已被修正,saslauthd
工具现在返回预期的结果。- BZ#714250
- 当
ifup
工具启动 VLAN 接口时,不使用sysctl
值。在这个版本中,如果
在上述场景中重新读取sysctl
值,且 VLAN 接口按预期配置。
功能增强
- BZ#851370
brctl
守护进程用于以独立于协议的方式连接两个以太网段,它基于以太网地址而不是 IP 地址。为了提供简单和集中式网桥配置,现在可以通过BRIDGING_OPTS
使用网桥选项。因此,当使用ifup
工具时,可以添加网桥设备或端口设备的空格分隔的桥接选项列表。- BZ#554392
- 更新的
halt.local
文件已使用新变量进行了改进,以反映调用的字符。这个变化可让用户更好地了解在 halt 序列期间如何调用halt.local
。 - BZ#815431
- 在这个版本中,可以禁用重复的地址检测,以便管理员在没有 ARP 检查的情况下使用直接路由。
7.88. iok
7.88.1. RHBA-2012:1164 - iok 程序错误修复更新
程序错误修复
- BZ#814541, BZ#814548
- 在以前的版本中,当使用指定名称保存键映射时,会遵循预定义的命名规则,文件名使用 "-" 前缀保存,而不包括用户。在这个版本中,如果用户尝试保存键映射,则会出现一个显示所需文件名格式的对话框。
- BZ#819795
- 这个版本为所有支持的区域设置提供完整的 iok 翻译。
7.89. ipa
安全修复
- CVE-2012-4546
- 发现,IPA 服务器的当前默认配置没有发布正确的 CRL (证书撤销列表)。默认配置指定每个副本都是生成自己的 CRL,但这可能导致向来自不同身份管理副本的客户端提供的 CRL 内容不一致。更具体地说,如果一个身份管理副本被撤销了证书,它将不会在另一个身份管理副本中显示。
程序错误修复
- BZ#784378
- 当通过 "ipa-replica-manage del" 命令从复制环境中删除 master 时,该 master 的元数据仍然包含在其他服务器中,因此目录服务器复制插件会生成有关过时元数据的警告。现在,Directory 服务器 CLEANALLRUV 任务会被触发,以处理整个复制目录服务器环境中的过时元数据,并删除身份管理副本不再会导致问题。
- BZ#790515
- 当使用 "ipactl" 命令启动身份管理时,它只会等待 6 秒使目录服务器启动以及目录服务器没有启动时的 6 秒时,启动过程会被中止。添加了更高的默认启动等待值。当默认值 120 秒不足以启动目录服务器时,可以将可配置的值 "startup_timeout" 添加到 /etc/ipa/default.conf 或 /etc/ipa/server.conf 文件中。
- BZ#809565
- 在以前的版本中,无法重命名 DNS 记录,当名称更改时,管理员必须在某些名称下重新输入所有 DNS 记录。现在,在 Identity Management CLI 接口中重命名 DNS 记录名称和 rename 选项的操作可以将 DNS 名称及其所有记录重命名为同一区域中的其他名称。
- BZ#811295
- 在安装身份管理前,您可以选择选择具有通用名称(CN)的证书主题基础作为一个组件。但是,在证书主题中有多个 CN 属性是非法。这会导致身份管理安装失败。现在,不再允许主题基础选项中的 CN 属性,当管理员正确选择不正确的证书主题基础和身份管理安装时,会警告管理员。
- BZ#815837
- 身份管理证书颁发机构组件不接受设置为非 ASCII 控制字符"&"或"\""的目录管理器密码。当在密码中使用这些字符会导致 XML 错误,当此类字符是目录管理器密码的一部分时,身份管理安装会失败。目前,在身份管理安装程序中不允许这些字符,IdM 安装成功。
- BZ#816317
- 启用 SELinux 时,身份管理服务器或客户端使用来自 policycoreutils 软件包的程序。但是,安装程序不会检查软件包是否已安装。这会导致在启用 SELinux 且系统上没有安装 policycoreutils 软件包时,身份管理安装通过 python 后端终止。目前,当启用 SELinux 且缺少 policycoreutils 软件包时,身份管理安装程序不再会失败,而是要求管理员首先安装它。
- BZ#817865
- 在建立网络连接时,"ipa"命令或身份管理安装程序强制使用一组地址系列(IPv4、IPv6),而不是让系统为新连接选择正确的地址系列。在某些情况下,这会导致连接、命令或安装程序失败,或者连接所需的时间比正常要长。现在,自动地址系列检测已被使用 "ipa" 命令建立的网络连接更快,且不会受到非常见网络设置造成的错误的影响。
- BZ#819629
- 身份管理 DNS 模块使用 "pull" 模型通过 bind-dyndb-ldap 插件更新置备到 BIND 名称服务器的 DNS 记录。当通过 Identity Management CLI 或 Web UI 更改 bind-dyndb-ldap 缓存中的 DNS 区域 LDAP 条目或 DNS 记录时,不会置备到 BIND 名称服务器,直到使用定期轮询或缓存中的 DNS 记录被检查前。现在,对于新的身份管理安装和运行身份管理服务器实例,默认启用持久性搜索。对 DNS 区域 LDAP 条目的更改或 DNS 记录已由 bind-dydnb-ldap 进行直接置备到 BIND 名称服务器,因此可解析。
- BZ#820003
- Directory 服务器 in-memory 条目缓存的默认值被配置为比管理员部署的大小低的值,这会导致 Directory 服务器进行伪造。现在,身份管理软件包需要 Directory 服务器的更新版本,它会在内存缓存太小时警告管理员,并允许管理员调整适合部署比率的值。
- BZ#822608
- 当用户从远程目录服务器迁移时,身份管理目录服务器中的条目没有 Kerberos 身份验证所需的完整 Kerberos 数据,即使用户使用了身份管理密码迁移页面。在手动重置密码之前,迁移的身份管理用户无法通过身份管理进行身份验证。目前,Kerberos 身份验证数据在迁移过程中正确生成,用户可以成功访问身份管理。
- BZ#824488
- 身份管理 Kerberos 数据后端不支持控制自动用户登录属性的选项,该属性通过每个身份验证进行更新。在身份管理域中具有大型部署和大量身份验证事件的管理员无法禁用这些自动更新,以避免大量目录服务器修改和复制事件。现在,用户可以使用身份管理中的选项来自定义自动 Kerberos 身份验证属性更新。
- BZ#824490
- 在以前的版本中,当用户 ID 为大写时,身份管理为导致一些操作(如密码更改)的所有用户 ID 强制执行小写字母。另外,与 Active Directory 的 WinSync 协议将此类用户信息复制到身份管理数据库中。目前,身份管理 WinSync 插件可以将用户名和 Kerberos 主体用户部分转换为小写,并通过 Winsync 协议从 Active Directory 中复制的密码现在可以更改。
- BZ#826677
- 当使用 "ipa-replica-manage" 命令删除身份管理副本时,该脚本不会验证删除是否会孤立其他身份管理副本。不知道身份管理复制图结构的用户可能会意外删除强制它们重新安装孤立的副本的副本。现在,如果此类操作出现带有复制协议的副本,则"ipa-replica-manage"命令将无法删除远程副本。
- BZ#832243
- 身份管理 Web UI 与 Microsoft Internet Explorer 浏览器不完全兼容,这会导致使用身份管理管理界面时出现问题。身份管理 Web UI 现在与 Microsoft Internet Explorer 版本 9 或更高版本兼容,在使用 Web UI 时不再发生 glitches。
- BZ#837356
- Identity Manager 目录服务器中的多个属性用来存储目录中其他对象的链接不会添加到 Directory Server Referential Integrity 插件配置中。当一个引用的对象被删除或重命名时,会导致一些链接在受影响的属性中中断,并使其指向无效的对象。在这个版本中,将所有属性存储到其他对象的链接添加到 referential Integrity 插件配置中,这些配置会在引用对象被删除或重命名时进行更新。
- BZ#839008
- 对于是管理角色间接成员的用户,没有启用身份管理 Web UI 管理员界面。这些用户无法在 Web UI 中执行管理任务。目前,管理角色的间接成员可以使用 Web UI 管理界面,并且能够在身份管理 Web UI 中执行管理任务。
- BZ#840657
- 通常,身份管理 SSH 功能允许存储公共用户或主机 SSH 密钥,但密钥不接受 OpenSSH 风格的公钥格式。这会导致 Identity Management 根据公钥 blob 估算公钥类型,这可能会在将来使用新的公钥类型造成问题。现在,身份管理以扩展的 OpenSSH 格式存储 SSH 公钥,SSH 公钥现在包含所有必需的部分,从而使功能在更多部署中可以接受。
- BZ#855278
- 在以前的版本中,身份管理 Web UI 使用 jQuery 库在处理带有某些字符串的目录服务器记录时引发错误,例如,带有 "??" 字符串的 sudo 命令(反过来),这会导致 Web UI 无法显示、修改或添加此类记录。有了这个 jQuery 库更新,身份管理 Web UI 不再报告这些字符串的错误并正常处理它们。
- BZ#859968
- Firefox 15 及更新版本不允许签名的 JavaScript JAR 文件获得权限升级以更改浏览器配置。身份管理浏览器自动配置将浏览器配置为通过 Kerberos 身份验证访问 Web UI,这会影响这些 Firefox 版本。现在,身份管理使用自己的 Firefox 扩展进行部署,并可使用 Kerberos 自动配置和验证。
- BZ#868956
- 身份管理 "dnszone-add" 命令接受"--name-server"选项,用于指定解析区域的主名称服务器的主机名。选项被视为完全限定域名(FQDN),即使主机名不是 FQDN,例如,区域 example.com 的名称服务器"ns.example.com"。在使用身份管理 "dnszone-add" 命令时,用户无法以相对名称格式指定名称服务器。目前,身份管理会正确检测名称服务器格式,"dnszone-add"命令可以处理相对和完全限定域名。
- BZ#877324
- 升级到 Red Hat Identity Management 2.2 后,无法在 Web UI 中添加 SSH 公钥。但是,可以通过运行 "ipa user-mod user --sshpubkey" 命令在命令行中添加 SSH 公钥。在这个版本中,允许在 Web UI 中添加 SSH 公钥。
- BZ#883484
- 在以前的版本中,在某些情况下,IPA 自动证书续订无法正常工作,一些证书也不会续订,而具有相同"Not After"值的其他证书被续订。现在,certmonger 已被更新,用户可以序列化对 NSS 数据库的访问,以防止损坏,且不必同时更新并重启所有服务。
- BZ#888956
- PKI install "nsslapd-maxbersize" 期间设置的 389-ds-base 变量没有动态初始化,需要重启才能使它生效。这会导致当从带有大型 CRL 的 PKI-CA master 构建副本时,安装会失败。这个版本包含一个 LDIF 文件(/usr/share/pki/ca/conf/database.ldif),将默认的 maxbersize 设置为更大的值,并在 CRL 超过默认的 maxber 值时允许 PKI-CA Replica Install。
- BZ#891980
- 在以前的版本中,在新的 IPA 服务器安装中,root CA 证书生命周期只在 8 年内有效,用户必须在证书过期后续订证书,从而导致一些不便。这个问题已在 Dogtag 中解决,这个更新会将 FreeIPA root CA 的有效性增加到 20 年。
- BZ#894131
- "ipa-replica-install"命令有时无法为新区添加 idnsSOAserial 属性,在某些情况下,区被添加,但缺少数据,且不会复制到 master。在这个版本中,idnsSOAserial 属性会正确设置,并在所有服务器和区域间正确同步。
- BZ#894143
- 当反向区没有 SOA 串行数据并报告回溯错误时,"ipa-replica-prepare"命令会失败,这很难在出现问题时读取。现在,"ipa-replica-prepare"命令可以正常工作,如果缺少 SOA 串行数据,则返回更为简洁的错误消息。
- BZ#895298
- 当 dirsrv 或 krb5kdc 停机时,ipa-upgradeconfig 中的 "service named restart" 命令会在 ipa 软件包升级过程中失败。在这个版本中,"service named restart"命令可以正常工作,在安装过程中安装不再会失败。
- BZ#895561
- 在以前的版本中,IPA 安装在没有 IPv4 地址的服务器上会失败,并显示 "Can't contact LDAP server" 错误。在这个版本中,服务器和副本都正确安装,并且不再会出现错误消息。
- BZ#903758
- 从 IPA 版本 2.2 升级到版本 3.0 的用户遇到 certmonger 错误,更新失败并显示出错信息 "certmonger failed to start tracking certificate"。在这个版本中,IPA 2.2 正确升级到版本 3.0,且没有任何错误。
- BZ#905594
- 在以前的版本中,用户无法在 32 位平台中安装 ipa-server-trust-ad 软件包,当这样做时会收到错误消息 "Unable to read consumer identity"。在这个版本中,在 spec 文件中提供了修复,软件包现在可以在 32 位平台上正确安装。
功能增强
- BZ#766007
- 在这个版本中引进了 SELinux 用户映射规则,它们可与 HBAC 规则一起使用,以定义规则应用到的用户、组和主机。
- BZ#766068
- 对 SSH 公钥管理的支持已添加到 IPA 服务器和 IPA 客户端上的 OpenSSH 自动配置为使用存储在 IPA 服务器上的公钥。现在,当注册了身份管理的主机连接到另一个注册的主机时,会在中央身份管理存储中验证 SSH 公钥。
- BZ#766179
- 身份管理提供的 Cross Realm Kerberos Trust 功能作为技术预览提供。此功能允许用户在身份管理和 Active Directory 域之间创建信任关系。Active Directory 域中的用户可以访问身份管理域中的资源和服务及其 AD 凭证,数据不需要在身份管理和 Active Directory 域控制器之间同步。
- BZ#767379
- 添加了在客户端上配置自动挂载的解决方案,以便在中央身份管理服务器中配置的自动挂载映射。配置了身份管理客户端后,管理员可以使用提供的 ipa-client-automount 脚本配置客户端主机,以使用身份管理服务器中配置的自动挂载映射。
- BZ#782981
- 使用身份管理 Web UI 的用户之前被强制登录到在身份管理中注册的客户端机器,以便更新已过期或重置的密码。在这个版本中,用户可以通过 Web UI 本身更方便地更改过期或重置密码。
- BZ#783166
- 在这个版本中,ipa-client-install 接口可以接受客户端连接的 IPA 服务器的优先处理。在以前的版本中,管理员无法在连接到可能在 SRV DNS 查询中返回的其他服务器前配置 SSSD 应该连接到的优先级 IPA 服务器。现在,当将一个新的选项 "-fixed-primary" 传递给 "ipa-client-install" 命令时,发现或用户提供的服务器将配置为 "/etc/sssd/sssd.conf" 文件中的 ipa_server 指令中的第一个值。因此,SSSD 始终会首先尝试连接到此主机。
- BZ#783274
- 这种补充允许身份管理中主机条目的 MAC 地址属性,并在身份管理 NIS 服务器中发布它们。用户可以使用"--macaddress"选项为身份管理主机条目配置 MAC 地址,并在启用 NIS 时,MAC 地址可以被 ethers 映射读取。
- BZ#786199
- 每个 ipa 命令行请求以前都需要完全且耗时的 Kerberos 身份验证,特别是在脚本了一系列命令时。这个版本改进了命令行以使用安全 Cookie 利用服务器端会话,这可显著提高性能,因为避免每个 ipa 命令的完整 Kerberos 身份验证。会话 Cookie 存储在会话密钥环中;有关密钥管理工具的更多信息,请参阅 keyctl (1)手册页。
- BZ#798363
- 在这个版本中引进了 Web UI 和 CLI "Create Password Policy" 条目标签,并指定测量单元,如所有配置的策略字段的 "seconds"。在以前的版本中,在 Identity Management Web UI 或 CLI "Create Password Policy" 中缺少测量单元可能会使某些用户混淆。现在,所有缺少的测量单元都在配置的策略字段中指定。
- BZ#801931
- 在这个版本中,管理员可以仅将写入权限委托给所选区域,而当管理员想要将 DNS 区域更新为其他身份管理用户时,他们必须允许对整个 DNS 树进行写入访问权限。现在,管理员可以使用 "dnszone-add-permission" 命令创建系统权限,允许其分配只能读取和写入由身份管理管理的所选 DNS 区域。
- BZ#804619
- 在此次更新之前,管理员无法配置从属 DNS 服务器,因为它无法在每次更改 DNS 记录时更改 SOA 序列号。在这个版本中,当更新由身份管理管理的 DNS 区域中的记录时,SOA 序列号会自动增加。此功能利用了,需要持久搜索数据刷新机制,该机制在身份管理服务器安装脚本中默认启用。管理员现在可以为身份管理管理的区域配置从属 DNS 服务器。
- BZ#805233
- 这个版本可防止删除最后一个管理员,因为管理员可能会意外从 Identity Management Administrators 组中删除最后一个用户,这只能使用目录管理器的直接 LDAP 修改进行修复。现在,身份管理不允许管理员删除或禁用管理员组中的最后一个成员,而身份管理始终具有一个活跃的管理员。
- BZ#813402
- 当身份管理 Web UI 即将到期时,此增强会警告 Identity Management Web UI 中的用户。当身份管理用户密码在可配置的天数内过期时,在身份管理 Web UI 中会通知用户,并提供了一个链接来重置密码。
- BZ#821448
- 身份管理 Firefox 浏览器配置脚本现在检查浏览器是否配置为在身份管理的 HTTP 请求中发送推荐器标头。在以前的版本中,没有 "network.http.sendReferHeader" 配置选项被设置为 "True" 的 Firefox 浏览器无法连接到身份管理 Web UI,即使它们运行了配置脚本。目前,配置选项会被正确设置,Firefox 浏览器可以连接到 Web UI。
- BZ#831010
- 此功能增强允许身份管理客户端安装程序接受一组固定的身份管理服务器,并通过 DNS SRV 记录绕过自动服务器发现。有些网络环境可能包含 SRV 记录,它们不适用于身份管理客户端,并且不应完全供客户端使用。ipa-client-install 的"--fixed-primary"选项现在可以用于将 SSSD 配置为使用 DNS SRV 记录来自动发现身份管理服务器,客户端安装脚本现在接受一个固定的身份管理服务器列表,然后传递给 SSSD。
- BZ#835643
- 在这个版本中,引入了自动续订身份管理子系统证书。新证书颁发机构的默认有效期期限为 10 年,CA 为其子系统(OCSP、审计日志等)发布多个证书。子系统证书通常会在两年内有效,如果证书过期,CA 不会启动或无法正常工作。因此,在 Red Hat Enterprise Linux 6.4 中,身份管理服务器能够自动更新其子系统证书,并且由 certmonger 跟踪子系统证书,这会在证书过期前自动尝试续订证书。
7.90. iproute
错误修复
- BZ#811219
- 使用"ul"参数调用 socket stat 实用程序 ss 不会列出开放的 UDP 套接字。因此,用户无法列出打开或侦听 UPD 套接字。补丁已应用于 ss 实用程序来列出 UDP 套接字,现在实用程序可以正确地报告所有打开的 UDP 套接字。
功能增强
- BZ#821106
- iproute 软件包是没有 libnetlink 库分发的,用于访问 netlink 服务。因此,用户无法使用 libnetlink 库功能。libnetlink 库现在包括在新引入的 "iproute-devel" 子软件包中。现在,用户可以使用 libnetlink 功能。
7.91. iprutils
程序错误修复
- BZ#826907
- 在以前的版本中,显示磁盘详情会导致 iprconfig 工具(用于配置硬件 RAID 设备)意外终止。现在,磁盘详情会被正确显示,iprconfig 不再崩溃。
- BZ#830982
- 在以前的版本中,如果 "/etc/ipr/" 目录中的配置文件中保存的模式与当前模式不同,iprconfig 无法更改 IOA 非对称访问模式。在这个版本中,iprconfig 会正确设置模式,并在检测到这个不一致时返回警告信息。
- BZ#869751
- 在以前的版本中,当使用 "iprconfig -c show-details sgx" 命令时,iprutils 显示了系统位置字符串中错误的磁盘平台位置。现在,硬盘的平台位置与 "secured easy setup" (SES)和物理位置插槽号合并,以防止发生这个错误。
7.92. iptables
程序错误修复
- BZ#800208
- 防火墙重启后不会恢复某些 netfilter 内核模块的 sysctl 值,如 nf_conntrack 和 xt_conntrack。因此,重启后防火墙不会始终如预期执行。在这个版本中,如果在 /etc/sysctl.conf 文件中指定,则 iptables 可以在启动时加载 sysctl 设置。用户现在可以定义 sysctl 设置,以便在启动和重启时载入。
- BZ#809108
- iptables (8)和 ip6tables (8) man page 之前缺少有关 AUDIT 目标模块的信息,这允许创建数据包流的审计记录。在这个版本中,在这些手册页中添加了缺少的审计支持描述。
- BZ#821441
- iptables 和 ip6tables 命令无法正确处理 iptables 链的最大长度的计算。因此,当将防火墙规则分配给名称超过 28 个字符的 iptables 链时,iptables 或 ip6tables 命令以缓冲区溢出终止,并且没有分配规则。在这个版本中修正了相关的代码,iptables 和 ip6tables 现在可以正确地处理 iptable 链的名称,并如预期一样在上述场景中分配防火墙规则。
- BZ#836286
- 在保存防火墙规则时,iptables 初始化脚本会调用 /sbin/restorecon 二进制文件,以便 iptables 软件包依赖于 policycoreutils 软件包。但是,之前,iptables 软件包不需要 policycoreutils 作为依赖项。因此,如果系统上没有安装 policycoreutils 软件包,"/etc/init.d/iptables save"命令会失败。这个版本修改了 iptables spec 文件,以要求 policycoreutils 软件包作为其先决条件,从而防止这个问题发生。
功能增强
- BZ#747068
- iptables 软件包已被修改,以支持 update-alternatives 机制,以便更轻松地为 MRG realtime 内核提供新的 iptables 版本。
- BZ#808272
- 为 iptables 和 ip6tables 服务添加了回退模式。回退防火墙配置可以存储在 /etc/sysconfig/iptables.fallback 和 /etc/sysconfig/ip6tables.fallback 文件中,采用 iptables-save 文件格式。如果服务无法从 /etc/sysconfig/iptables 文件中应用防火墙规则(或 ip6tables 为 /etc/sysconfig/ip6tables 文件),则使用回退文件中的防火墙规则。
7.93. irqbalance
程序错误修复
- BZ#813078
- irqbalance (1)手册页不包含 IRQBALANCE_BANNED_CPUS 环境变量的文档。在这个版本中,在这个 man page 中添加了广泛的文档。
- BZ#843379
- irqbalance 守护进程将系统中的每个中断源分配给"类",这代表设备的类型(如网络、存储或介质)。在以前的版本中,irqbalance 使用 /proc/interrupts 文件中的 IRQ 处理程序名称来决定源类,这会导致 irqbalance 无法正确识别网络中断。因此,使用 NIC biosdevnames 的系统不会按预期分发和固定其硬件中断。在这个版本中,设备分类机制已被改进,这样可保证更好的中断分布。
- BZ#860627
- 在以前的版本中,irqbalance 初始化脚本使用 "-foreground" 选项启动 irqbalance 守护进程,这会导致 irqbalance 变得无响应。在这个版本中,"-foreground"选项已从初始化脚本中删除,irqbalance 现在会如预期启动。
7.94. irssi
7.94.1. RHBA-2012:1171 - irssi 程序错误修复更新
错误修复
7.95. iscsi-initiator-utils
程序错误修复
- BZ#826300
- iSCSI 用户空间驱动程序 iscsiuio 已升级至上游版本 0.7.6.1,它提供很多程序错误修复和增强。特别是 VLAN 和路由支持。
- BZ#811428
- "iscsiadm --version" 命令缺少了主版本号,即 "6."。在这个版本中,正确的版本号值和 "iscsiadm --version" 现在可以正确地显示主版本号。
- BZ#854776
- 对于某些 bnx2i 卡,网络接口必须处于活动状态,以便 iSCSI 接口报告有效的 MAC 地址。这有时会导致无法连接到 iSCSI 目标,因此 iSCSI root 设置无法引导。此更新更改 iscsistart 以将与 iSCSI 上下文关联的网络接口置于活动状态。因此,使用 bnx2i 卡的 iSCSI 引导现在可以正常工作。
- BZ#868305
- 由于 iscsiuio 0.7.4.3 更新中的一个回归,iSCSI 发现和登录在特定硬件上失败。这个问题已被修正,作为 iscsiuio 0.7.6.1 更新的一部分。因此,iSCSI 可以再次正常工作。
7.96. jss
错误修复
- BZ#797352
- 在以前的版本中,一些对某些 NSS 功能的 JSS 调用被替换为对 JCA 接口的调用。因此,原始 JSS 调用已弃用,因此在重构过程中会导致警告被报告。但是,已弃用的调用尚未完全替换为 JSS 4.2 中的基于 JCA 的实现。在这个版本中,调用不再被弃用,现在会出现警告。
功能增强
- BZ#804838
- 在这个版本中,增加了对 JSS 中的 Elliptic Curve Cryptography (ECC)密钥归档支持。它提供新方法,如 getCurve (), Java_org_mozilla_jss_asn1_ASN1Util_getTagDescriptionByOid ()和 getECCurveBytesByX509PublicKeyBytes ()。
7.97. kabi-whitelists
功能增强
- BZ#826795
- "blk_queue_physical_block_size", "close_bdev_exclusive", "filemap_fdatawrite_range", "get_sb_nodev", "kill_anon_super", "open_bdev_exclusive", " vmcore_to_timespec", "kernel_getsockopt", "kernel_setsockopt", "radix_tree_delete", "pagevec_lookup", "recalc_sigpending", "path_put", 和 "simple_write_end" 符号已添加到内核应用程序二进制接口(ABI)白名单中。
- BZ#831247
- "unlock_rename", "vfs_rename", "path_put", "default_llseek", "d_find_alias", "d_invalidate", "file_fsync", "strspn", "vfs_writev", "path_get", "nobh_truncate_page", "nobh_write_begin", "nobh_write_end", "nobh_writepage", "___pagevec_lruvec_lru_add", "add_to_page_cache_locked", 和 "filemap_flush" 符号已添加到内核 ABI 白名单中。
- BZ#902825
- "__generic_file_aio_write", "blk_queue_resize_tags", 和 "blk_queue_segment_boundary" 符号已添加到内核 ABI 白名单中。
- BZ#849732
- 以下符号已添加到内核 ABI 白名单中: "__alloc_pages", "__bitmap_weight", "__down_failed", "__free_pages", "__init_rwsem", "__init_waitqueue_head", "__kmalloc", "__memcpy", "__memcpy", "__put_cred", "__raw_local_save_flags", "__stack_chk_fail", "__tasklet_schedule", "__tracepoint_kmalloc", "__up_wakeup", "__vmalloc", "_wake_up", "_cond_resched", "_spin_lock", "_spin_lock_irqsave", "_spin_unlock_irqrestore", "add_disk", "alloc_disk", "alloc_pages_current", "allow_signal", "autoremove_wake_function", "bio_endio", "bio_init", "bio_put", "blk_alloc_queue", "blk_cleanup_queue", "blk_queue_hardsect_size", "blk_queue_logical_block_size", "blk_queue_make_request", "blkdev_put", "complete_and_exit", "complete_and_exit", "cond_resched", "contig_page_data", "copy_from_user", "copy_to_user", "cpu_present_map", "cpu_present_mask", "create_proc_entry", "daemonize", "del_gendisk", "do_gettimeofday", "down", "down_read", "down_read_trylock", "down_write", "down_write_trylock", "dump_stack", "filp_close", "filp_open", "finish_wait", "get_user_pages", "init_waitqueue_head", "5-6", "5-4_to_msecs", "5-4_to_timeval", "kernel_thread", "kfree", "kmem_cache_alloc", "kmem_cache_alloc_notrace", "kmem_cache_create", "kmem_cache_destroy", "kmem_cache_free", "malloc_sizes", "mcount", "mem_map", "mem_section", "memcpy", "memset", "mod_timer", "msecs_to_xxxx", "msleep", "msleep_interruptible", "open_by_devnum", "override_creds", "override_creds", "panic", "per_cpu__current_task", "per_cpu__kernel_stack", "prepare_creds", "prepare_to_wait", "printk", "proc_mkdir", "put_disk", "put_page", "pv_irq_ops", "register_blkdev", "register_blkdev", "remove_proc_entry", "revert_creds", "schedule", "schedule_timeout", "send_sig", "set_user_nice", "sigprocmask", "slab_buffer_size", "5-4", "sprintf", "strchr", "strcpy", "strcpy", "purefmp", "unregister_blkdev", "strspn", "strstr", "submit_bio", "tasklet_init", "unregister_blkdev", "up", "up_read", "up_write", "vfree", "vfs_writev", "vscnprintf"和"wait_for_completion"。
- BZ#864893
- 在内核 ABI 白名单中添加了以下符号:"blkdev_get", "send_sig_info", "__task_pid_nr_ns", "register_shrinker", "set_page_dirty_lock", "current_umask", "balance_dirty_pages_ratelimited_nr", "dentry_open", "generic_file_llseek_unlocked", "posix_acl_alloc", "posix_acl_from_xattr", "posix_acl_to_xattr", "posix_acl_valid", "read_cache_pages", "cancel_dirty_page", "clear_page", "clear_page", "grab_cache_page_nowait", "inode_init_always", "memparse", "put_unused_fd", "radix_tree_tag_set", "congestion_wait", "shrink_dcache_sb", "fd_install", "blk_make_request", "lookup_bdev", "__register_binfmt", "unregister_binfmt", "vm_stat", "kill_pid", 和 "kobject_get"。
- BZ#869353
- 内核检查程序工具(KSC)已添加到 kabi-whitelists 软件包中。
7.98. kdebase
程序错误修复
- BZ#608007
- 在此次更新之前,即使之前禁用了这个菜单项,Konsole 上下文菜单项 "Show menu bar" 始终在新窗口中检查。在这个版本中,修改底层代码,以按预期处理菜单项"Show 菜单栏中"。
- BZ#729307
- 在此次更新之前,在 KDE 中使用 Konsole 终端时,用户无法为 xterm 窗口定义默认大小。在这个版本中,修改底层代码并添加功能来定义默认大小。
7.99. kdebase-workspace
错误修复
- BZ#749460
- 在此次更新之前,任务管理器不符合手动排列的项目的顺序。因此,当用户切换桌面时,手动排列的 taskbar 条目会随机重新排列。在这个版本中,修改底层代码,使手动安排的项目更持久。
7.100. kdelibs3
7.100.1. RHBA-2012:1244 - kdelibs3 程序错误修复更新
程序错误修复
7.101. kdelibs
7.101.1. 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 崩溃或披露内存的一部分。
7.102. kdepim
7.102.1. RHBA-2012:1287 - kdepim 程序错误修复更新
错误修复
- BZ#811125
- 在此次更新之前,cyrus-sasl-plain 软件包不是 kdepim 软件包的依赖项。因此,Kmail 无法发送邮件。这个版本修改了底层代码,使其包含 cyrus-sasl-plain 依赖项。
7.103. kernel
安全修复
- CVE-2014-2523, Important
- 在 Linux 内核的 netfilter 连接跟踪实施 Datagram Congestion Control Protocol (DCCP)数据包使用了 skb_header_pointer ()函数的方式中发现了一个安全漏洞。一个远程攻击者可以使用此缺陷发送特殊设计的 DCCP 数据包来使系统崩溃,或者可能会在系统上升级其权限。
- CVE-2013-6383, Moderate
- 在 Linux 内核的 Adaptec RAID 控制器(aacraid)检查了 compat IOCTLs 权限的方式中发现了一个安全漏洞。本地攻击者可以利用此漏洞绕过预期的安全限制。
- CVE- serving077, Moderate
- 在禁用可合并缓冲区时处理大型网络数据包的方式中发现了一个安全漏洞。特权客户机用户可以使用此缺陷使主机上的主机崩溃或损坏 QEMU 进程内存,这可能会导致具有 QEMU 进程特权的主机上的任意代码执行。
程序错误修复
- BZ#1078512
- mlx4 驱动程序的内存页面分配机制在为传入帧分配内存时只使用"排序 2"分配。这会导致在具有高内存碎片的系统中分配失败率。在这个版本中,mlx4 驱动程序首先尝试执行"排序 3"分配,然后如果内存过碎片,则继续分配低的顺序 0"。因此,mlx4 卡的性能现在显著提高,当系统面临内存压力时,mlx4 不再生成内存页面分配失败。
- BZ#1091161
- 由于 lpfc 驱动程序中的 ndlp 列表损坏错误,带有 Emulex LPe16002B-M6 PCIe 2-port 16Gb Fibre Channel Adapters 的系统可能会在 I/O 操作过程中触发内核 panic。已向后移植了一系列补丁来解决这个问题,因此内核在上述系统的 I/O 操作过程中不再 panic。
- BZ#1064912
- 在以前的版本中,GFS2 内核模块会泄漏 gfs2_bufdata slab 缓存中的内存,并允许在 gfs2_remove_from_journal ()函数中触发 use-after-free 竞争条件。因此,在卸载 GFS2 文件系统后,GFS2 slab 缓存仍然可以包含一些对象,因此在某些情况下可能会导致内核 panic。GFS2 内核模块应用了一系列补丁,确保正确从 slab 缓存中释放所有对象,并避免内核 panic。
- BZ#1078492
- 由于 mlx4 驱动程序中的一个回归错误,Mellanox mlx4 适配器可能会在负载过重负载时变得无响应,以及登录到系统日志的 IOMMU 分配错误。一个补丁已应用到 mlx4 驱动程序,因此驱动程序现在在在 Rx 路径中分配内存时计算最后的内存页片段。
- BZ#1086845
- 当 Real-Time (RT)调度程序在 CPU 和 wakeup_kswapd ()函数间移动 RT 任务时,系统可能会进入死锁情况,从而导致内核 panic。这个问题已通过从 deadlock-safe 上下文中删除有问题的内存分配来解决,因此从 deadlock-safe 上下文调用 wakeup_kswapd () 函数。
- BZ#1079868
- 由于 hrtimers 子系统中的一个错误,clock_was_set ()函数从软 IRQ 上下文中调用 Inter-processor interrupt (IPI)并等待其完成,这可能会导致死锁情况。通过将 clock_was_set ()函数调用移到工作上下文来应用补丁来解决这个问题。另外,在恢复过程中,hrtimers_resume ()函数仅为当前 CPU 重新编程内核计时器,因为它假定所有其他 CPU 都离线。但是,在某些情况下,这个假设不正确,比如当恢复带有一些非引导 CPU 的 Xen 客户机时,只有禁用 IRQs 时停止了这个假设。因此,即使这些 CPU 在线,在引导 CPU 外,内核计时器不会被修正。要解决这个问题,hrtimers_resume ()已修改,以触发早期软 IRQ 在所有在线 CPU 上正确重新编程内核计时器。
- BZ#1094621
- 当在 GFS2 文件系统中使用大量文件(超过五百个)处理一个目录时,相应的任务可能会变得无响应,并可能会出现内存分配失败。这是因为 GFS2 在内存回收路径中更新 atime,从而导致内存压力造成严重失败。为了有效地处理 atime 更新,这个更新引入了一个新的超级块操作 dirty_inode ()。GFS2 现在如预期处理大型目录,而无需内存分配失败或挂起任务。
- BZ#1092352
- 在此次更新之前,客户机提供的值用作主机上分配的套接字缓冲区的头长度。如果主机内存负载过重,且客户机提供的值太大,则分配可能会失败,从而导致客户机的 Tx 路径中停滞和数据包丢弃。在这个版本中,客户机提供的值仅限于合理的大小,因此无论主机上的内存负载如何,客户机可以在主机上成功分配套接字缓冲区分配,客户机可以在不遇到数据包丢弃或停滞的情况下发送数据包。
安全修复
- CVE-2014-0101, Important
- 在初始化 SCTP 连接过程中,Linux 内核如何处理经过身份验证的 COOKIE_ECHO 块的方式中发现了一个安全漏洞。远程攻击者可以利用此缺陷,通过启动特殊精心设计的 SCTP 握手来使系统崩溃,从而触发系统上的 NULL pointer 解引用。
程序错误修复
- BZ#1077872
- 在以前的版本中,在报告命令成功中止后,vmw_pwscsi 驱动程序可能会尝试向 SCSI 中层完成命令。这会导致一个双完成错误和后续的内核 panic。此更新可确保 pvscsi_abort ()函数仅在 abort 完成后返回 SUCCESS,防止驱动程序无效尝试完成该命令。
- BZ#1028593
- 内核文件系统代码中的一个错误允许 d_splice_alias ()函数为已存在的非DISCONNECTED dentry 的目录创建一个新的 dentry。因此,访问目录的线程可能会尝试获取该目录上的 i_mutex 两次,从而导致死锁情况。要解决这个问题,d_splice_alias ()已被修改,以便在有问题的情况下,它重复使用现有的 dentry 而不是创建新的 dentry。
- BZ#1063198
- d_splice_alias () 函数的最新更改引入了一个错误,允许 d_splice_alias ()从与正在查找的目录不同的目录中返回 dentry。因此,在集群环境中,当目录被删除时,可能会触发内核 panic,同时在另一个集群节点上在此目录中执行并发跨目录操作。在这个版本中,通过更正 d_splice_alias () 函数中的搜索逻辑来避免在这种情况下出现内核 panic,因此该功能无法再从不正确的目录中返回 dentry。
- BZ#1078873
- 以前,Red Hat GFS2 文件系统将每个内节点的 ACL 条目限制为 25。然而,在有些情况下这个数字不足,从而导致 setfacl 命令失败。在这个版本中,这个限制增加到 4 KB 块大小的最大 300 ACL 条目。如果块大小较小,则会相应地调整这个值。
- BZ#1078640
- megaraid_sas 驱动程序中的一个错误可能会导致驱动程序错误地读取硬件状态值。因此,在系统引导时禁用了 RAID 卡,系统可能无法引导。在这个版本中,megaraid_sas 驱动程序已被修正,以便在系统引导时现在在系统启动时启用 RAID 卡。
- BZ#1017904
- 在以前的版本中,内核不支持对 PID 命名空间取消共享。在这个版本中,一系列补丁已应用到相关的内核代码,以支持 PID 命名空间的 unshare ()系统调用。
- BZ#1075553
- 在分配内核内存时,SCSI 设备处理程序调用 sizeof ()函数,其结构名称为其参数。但是,修改的文件使用不正确的结构名称,这会导致分配内存不足以及后续的内存损坏。在这个版本中,将相关的 sizeof ()函数调用修改为使用指向结构的指针而不是结构名称,以便现在始终正确分配内存。
- BZ#1085307
- 在以前的版本中,只有在实际增大文件大小时,GFS2 才会标记为写入内核数据清除的文件。当在没有标记为 in-core data flushing 的文件中调用 gfs2_fsync ()函数时,任何元数据或日志的数据都不会同步到磁盘。在某些情况下,这可能会导致写入为同步 I/O 打开的文件在数据写入磁盘前返回,允许数据在崩溃期间丢失。每当写入过程中更新元数据时,补丁已被应用来正确地标记文件,确保所有核心数据都写入具有同步 I/O 操作的磁盘中。
- BZ#1086590
- 由于 GFS2 资源组代码中的一个错误,GFS2 块分配器不会在所选保留组发现无法满足分配请求的分配请求后使用阻止锁定。因此,块分配器只用于阻止所有资源组的锁定,从而大大减少了文件系统的性能,除非定期重新挂载。在这个版本中,GFS2 块分配程序只为适当的资源组覆盖非阻塞锁定,文件系统会在不需要任何干预的情况下按预期执行。
安全修复
- CVE-2013-4387, Important
- 在启用了 UDP Fragmentation Offload (UFO)功能时,在 Linux 内核的 IPv6 实现中发现了一个安全漏洞。一个远程攻击者可以利用这个缺陷使系统崩溃,或者可能会升级其系统的权限。
- CVE-2013-4470, 重要
- 在输出设备上启用了 UDP Fragmentation Offload (UFO)功能时,在 Linux 内核的 TCP/IP 协议套件实现中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务或可能在系统上升级其权限。
- CVE-2013-6367, Important
- 在 KVM 的 Local Advanced Programmable Interrupt Controller (LAPIC)实现中的 apic_get_tmcct ()函数中发现了一个按零划分的漏洞。特权的客户机用户可以使用此缺陷使主机崩溃。
- CVE-2013-6368, Important
- 在 KVM 处理虚拟 APIC 访问的方式中发现了一个跨页面边界的内存损坏缺陷。本地非特权用户可能会使用此缺陷使系统崩溃,或者可能在系统上升级其权限。
- CVE-2013-6381,重要
- 在 Linux 内核的 QETH 网络设备驱动程序实现中的 qeth_snmp_command ()函数的方式中发现了一个缓冲区溢出缺陷,处理具有越界长度的 SNMP IOCTL 请求。本地非特权用户可能会使用此缺陷使系统崩溃,或者可能在系统上升级其权限。
- CVE-2013-4591, Moderate
- 发现通过 RHSA-2012:1580 发布的 CVE-2012-2375 修复会意外删除对小型结果缓冲区的检查。有权访问具有 ACL 支持的 NFSv4 挂载的本地非特权用户可能会利用此缺陷使系统崩溃,或者可能会在系统上升级其权限。
- CVE-2013-2851, Low
- Linux 内核的块层中发现了一个格式字符串缺陷。特权的本地用户可能会利用此漏洞将其权限升级到内核级别(ring0)。
程序错误修复
- BZ#1063353
- 在以前的版本中,sysfs_dev_char_kobj 变量在关闭时释放,但变量可能会在以后被 USB 堆栈使用,以及其它代码,这可能会导致系统意外终止。底层源代码已被修改以防止删除 device_shutdown ()函数中的 "kobjects",因为 /sys/dev/block/ 和 /sys/dev/char/ 目录必须保留,因为指向设备的符号链接。因此,系统不会在上述场景中崩溃。
- BZ#1062112
- 在以前的版本中,当热向系统添加内存时,内存管理子系统总是对在线设置的所有内存部分执行无条件页面-块扫描。热添加操作的总持续时间取决于系统已具有的内存大小以及正在添加的内存大小。因此,如果添加大量内存,或者目标节点已经有相当大的内存,热添加操作需要很长时间才能完成。这个版本会优化代码,以便只在需要时执行 page-block 扫描,这大大减少了热添加操作的持续时间。
- BZ#1058417
- 在 XFS 文件系统上执行读取操作时,失败的缓冲区 readahead 可以在标记为错误的缓存内存中保留缓冲区。这可能会导致在完成 I/O 操作过程中检测到过时的错误,因为大多数调用者不会在后续读取时出现缓冲区的 b_error 字段。要避免这个问题并确保正确的 I/O 错误检测,使用的缓冲区的 b_error 字段在提交 I/O 操作前会为零。
- BZ#1060490
- 当通过 peer-to-peer (PPPP)链接传输大量数据时,可以触发 tty 驱动程序中的 throttle ()和 unthrottle ()函数之间的一些竞争条件。因此,tty 驱动程序变得无响应,处于 throttled 状态,这会导致流量停止。另外,如果大量载入 PPP 链接,则 tty 驱动程序中的另一个竞争条件可能会被触发。这个竞争条件允许对可用缓冲区空间进行不安全的更新,这也可能导致流量停滞。解决这两个竞争条件的一系列补丁都应用于 tty 驱动程序;如果触发第一个竞争条件,则驱动程序循环并强制重新评估相应测试条件,这样可确保上述情形中出现不间断流量流。现在,因为读锁定而完全避免了第二个竞争,可用缓冲区空间的更新可以正常进行。
- BZ#1059990
- 由于 SELinux 套接字中的一个错误收到 hook,在收到 peer:recv 访问控制拒绝时不会丢弃网络流量。SELinux 套接字接收 hook 中存在一个有问题的网络检查,在上述情况下,网络流量会被正确丢弃。
- BZ#1059382
- 由于 ext4 元数据分配代码中的一个错误,可以错误地计算完成文件系统操作所需的元数据块数量。因此,当在接近完整的 ext4 文件系统上执行文件系统操作时,在回写时可能会出现意外的分配失败,从而导致数据丢失和文件系统不一致。应用了一系列补丁,修复元数据分配估算问题,并引入一个保留空间概念,以确保在特定情况下正确分配元数据,如上述场景。
- BZ#1055363
- 在以前的版本中,当通过 INET 套接字处理标记为 IPv4 的流量时,某些 SELinux 功能无法正确处理 TCP 同步(SYN-ACK)数据包。SELinux 错误地标记初始 SYN-ACK 数据包,因此,使用服务器套接字的标签而不是新的连接标签进行访问控制决策。另外,SELinux 没有正确检查标有 IPsec 流量的出站数据,这会导致与不正确的访问控制决策相关的问题。解决了这些问题的一系列补丁已应用到 SELinux。现在,初始 SYN-ACK 数据包被正确标记,SELinux 会按预期处理所有 SYN-ACK 数据包。
- BZ#1041143
- mlx4 驱动程序中的一个错误可能会触发 Tx 环中处理工作队列元素(WQE)时的"blue flame"功能流量流和 Tx 环中的时间戳机制之间的竞争。因此,mlx4 以太网卡的相关队列对(QP)进入错误状态,相关 Tx 环上的流量被阻止。补丁已应用于 mlx4 驱动程序,因此驱动程序不会对 Tx 环中最后完成的 WQE 进行关联,从而避免了上面提到的竞争。
- BZ#1058419
- 在以前的版本中,e752x_edac 模块错误地处理 pci_dev 使用计数,这可能会为零并取消分配 PCI 设备结构。因此,当模块在某些系统中多次载入时,可能会出现内核 panic。在这个版本中解决了通过重复载入和卸载模块触发的使用计数,不再发生内核 panic。
- BZ#1048098
- 在以前的版本中,lpfc 驱动程序中的任务管理命令的固定超时值为 60 秒,这可能会给错误处理造成问题。lpfc 驱动程序已升级至 8.3.7.21.2p 版本,以便包括此问题的修复。任务管理命令的超时时间现在可在 5 到 180 秒之间调整,默认情况下设置为 60 秒。
- BZ#1046042
- 在 ptrace ()系统调用中使用 Big Kernel Locks (BKLs)可能会导致 BKL 争用广泛使用 ptrace ()的某些系统上,如 User-mode Linux (UML)系统,从而降低这些系统的性能。这个版本从 ptrace ()系统调用中删除相关的 BKLs,从而解决相关的性能问题。
- BZ#1038122
- 之前内核补丁向后移植中的错误函数调用会导致 PID 命名空间嵌套到故障。这可能会给依赖嵌套的 PID 命名空间使用情况的其他组件(如 Linux Container (LXC)驱动程序)的影响。应用了补丁来更正此问题,以便可以按预期使用嵌套的 PID 命名空间。
- BZ#1056143
- 在以前的版本中,只有在实际增大文件大小时,GFS2 才会标记为写入内核数据清除的文件。当在没有标记为 in-core data flushing 的文件中调用 gfs2_fsync ()函数时,任何元数据或日志的数据都不会同步到磁盘。在某些情况下,这可能会导致写入为同步 I/O 打开的文件在数据写入磁盘前返回,允许数据在崩溃期间丢失。每当写入过程中更新元数据时,补丁已被应用来正确地标记文件,确保所有核心数据都写入具有同步 I/O 操作的磁盘中。
7.103.4. RHBA-2013:1770 - 内核程序漏洞修复和功能增强更新
程序错误修复
- BZ#962894
- 在扩展内存时,当机器面临内存压力时,热添加操作可能会失败,从而导致内核 panic。现在,一个补丁已被用来改进内存热添加操作,现在只能在非常罕见地发生这个问题。
- BZ#1030168
- netpoll 传输(Tx)代码路径中的一个错误,用于 netconsole 日志记录可能会导致绑定设备出现各种问题,例如:可以使用无效的 Tx 队列索引。为避免这些问题,上游补丁已向后移植,允许 netpoll 调用 netpoll_send_skb_on_dev ()函数中的 netpoll 调用外部 netdev_pick_tx ()函数。
- BZ#1014968
- 当流控制高water 标记的值写入网络设备上的硬件寄存器时,igb 驱动程序以前使用 16 位掩码。因此,这些值在某些网络设备上被截断,从而会破坏流控制。补丁已应用于 igb 驱动程序,因此它现在按预期使用 32 位掩码。
- BZ#1006167
- 在以前的版本中,如果没有其他集群节点已挂载这个 GFS2 文件系统,则无法在集群节点中以 spectator 模式挂载 GFS2 文件系统。在这种情况下,发生了"文件系统一致性错误",并且 GFS2 文件系统被撤回。应用了补丁,允许第一个集群节点在 spectator 模式中挂载 GFS2 文件系统(如果所有文件系统日志都是干净的)。
- BZ#1006388
- 由于绑定驱动程序的传输路径中的一个错误,绑定设备队列映射的缓冲可能会被破坏。因此,内核 panic 可能会出现,或者系统在某些情况下可能会变得无响应,例如,在启用了 netconsole 的 Red Hat Enterprise Virtualization (RHEV) hypervisor 中运行 KVM 客户机,并通过配置了网络桥接的绑定设备。现在,应用了补丁来正确保存绑定设备队列映射缓冲区,在这种情况下的缓冲区崩溃会被阻止。
- BZ#1006664
- 内核超级块代码中的一个错误允许在 get_active_super ()和 umount ()函数之间出现竞争,这可能会导致无用问题,从而导致内核 oops。上游补丁已向后移植来解决这个问题,以便 get_active_super ()重复尝试获取活跃的超级块,直到成功为止。上述竞争不再发生。
- BZ#1008508
- 在使用多个 iSCSI、FC 或 SRP 路径连接 iSCSI 启动器和 iSCSI 目标的系统上,内核 panic 可能会发生。这是因为 SCSI 驱动程序中的一个竞争条件允许在处理其运行队列前从系统中删除 SCSI 设备,这会导致 NULL pointer dereference。SCSI 驱动程序已被修改,现在通过在激活时保留对 SCSI 设备运行队列的引用来避免竞争。
- BZ#1009251
- 当驱动程序不支持命名空间时,用户必须使用 Open vSwitch 中的 VLAN splinter 功能来支持 VLAN 和 TCP 流量。但是,在使用 be2net 驱动程序且启用了 VLAN splinter 功能时,浮动 IP 流量可能会失败。当将 VLAN splinter 功能与 be2net 驱动程序一起使用时,这个程序错误已被解决。
- BZ#1019614
- 当删除 neigh 条目时,list_del ()函数从关联的 struct ipoib_path 中删除 neigh 条目,而 ipoib_neigh_free ()函数从设备的 neigh 条目查找表中删除了 neigh 条目。这两个操作都受到 spinlock 的保护。但是,该表还受到 RCU 内核锁定的保护,因此执行读取操作时不会保留 spinlock。因此,发生竞争条件,线程可以成功查找已从邻居字符列表中删除的 neigh 条目,但之前的删除会将条目标记为"poisoned",对象上的 list_del ()会导致内核 panic。list_del ()函数已进入 ipoib_neigh_free (),因此当条目成功从查找表中删除后,删除才会发生一次,从而解决了这个问题。
- BZ#1010451
- 如果配置的绑定设备上没有以正确顺序启用 arp_interval 和 arp_validate 绑定选项,绑定设备不会处理 ARP 回复,这会导致链接活跃从设备失败和更改。应用一系列补丁,以根据 arp_validate 和 arp_interval 的值修改内部绑定 ARP hook。因此,即使启用了 arp_validate 后设置了 arp_interval,并且 ARP 回复会如预期处理,也会注册 ARP hook。
- BZ#1018966
- 当 GFS2 文件未链接时,有时它们不会被完全删除。发生这种情况的原因是,当集群中的多个节点访问同一删除文件时,负责释放"未链接"块的节点无法正确确定。因此,很多删除的 dinode 块应该已被释放,通常处于 "unlinked" 状态。在这个版本中,删除未链接的 dinodes 的责任通过一种称为"iopen"g 的机制来实现。在无法释放 dinode 块时,节点不再会被节点缓存 "iopen" glocks。现在,未链接的 dinode 块被最后一个进程关闭该文件正确释放。
- BZ#1017905
- 当审计子系统负载过重时,它可能会在 audit_log_start () 函数中循环,而不是切换到错误恢复代码。这可能导致内核中软锁定。在这个版本中,audit_log_start () 函数中的超时条件已被修改,以便在需要时正确故障切换。
- BZ#1018965
- 由于内核密钥管理代码中出现竞争条件,密钥环中搜索密钥的任何进程都可能会取消引用 NULL 指针,而该密钥实例化为负数。这会导致内核 panic。提供了修复此 bug 的补丁,内核现在可以在不触发竞争的情况下正确处理上述情况。
- BZ#1016108
- crypto_larval_lookup () 函数可能会返回一个 larval,当加密算法被注册时,也会返回一个 in-between 状态,即使它没有创建。这可能导致 larval 终止两次,并导致内核 panic。例如,当 NFS 服务以 FIPS 模式运行时,并尝试使用 MD5 哈希算法,即使 FIPS 模式有这个算法列入黑名单。在 crypto_larval_lookup () 函数中添加了一个条件,用于检查在返回前是否创建了 larval。
- BZ#1012049
- 在以前的版本中,如果 TCP 套接字收到带有 FIN 标志的数据包,则 tcp_ioctl ()函数会尝试考虑接收队列中正确字节数。然而,在某些情况下,接收队列中报告的字节数不正确。这个程序错误已通过改进的方式检测是否收到带有 FIN 标志的 TCP 数据包来解决。
- BZ#988807
- 在以前的版本中,在定义了 RAID10 阵列的系统中,堆栈内存可能会因为为动态大小的内核数据结构分配内存不足,从而导致内核 panic。这个程序错误已被解决,RAID10 阵列现在可以安全地运行,而不会造成内核 panic 的风险。
- BZ#1009756
- 由于 VFS 代码解析 dentry 查找的方式,如果线程对包含无效(或过时的)dentry 或 inode 的相同 FUSE dentry 子树执行查找,则可能会触发多个线程之间的竞争。因此,线程可能会失败,并显示 ENOENT 错误,而不是正确解析新的 dentry 或 inode。这个版本对 FUSE 代码应用一系列补丁,可以解决这个问题,并且上述争用无法再发生。
- BZ#1004661
- 在以前的版本中,Hyper-V 实用程序服务协商了 Windows Server 2012 R2 主机公告的 Key-Value Pair (KVP)协议的最高版本,但主机实现了与 KVP 协议的早期版本不兼容的 KVP 协议版本。因此,IP 注入功能无法在最新的 Windows Server 2012 R2 主机上工作。在这个版本中,明确指定客户机可以支持的 KVP 协议版本。
- BZ#1012495
- 当用户空间进程读取 /proc/$PID/pagemap 文件时,可能会出现内存泄漏。现在,提供了一个上游补丁来修复这个程序错误,并在 mm_leak 调用之前和之后的内存用量相同。
- BZ#1020994
- 在以前的版本中,当 CPU 离线时,会出现一个竞争条件窗口。在竞争条件窗口中,如果收到处理器中断(IPI),它会丢失。因此,系统变得无响应。要解决这个问题,在 __cpu_disable ()函数中添加了检查,它会在 CPU 标记离线前执行 enqueued,但还没有收到 IPI。
- BZ#1023350
- 在以前的版本中,当用户为本地发送添加了 IPv6 路由时,路由无法正常工作,数据包无法发送。补丁已被应用,仅针对输入流限制邻居条目创建,从而修复此错误。因此,用于本地发送的 IPv6 路由现在可以正常工作。
- BZ#1014687, BZ#1025736
- 在其 ISR 和 mailbox 例程间传递信息时,qla2xxx 驱动程序不使用任何锁定机制。在某些情况下,这会导致多个 mailbox 命令完成,进而导致后续发布的 mailbox 命令出现假的邮箱超时错误。这个程序错误已被解决,在这种情况下不再发生 mailbox 超时错误。
功能增强
- BZ#1011168
- 在这个版本中,PG_buddy 变量缺少值被添加到 kexec 系统调用中,以提高与 buddy 系统过滤可用页面相关的转储性能。
- BZ#990483
- 在用户空间(FUSE)中添加了对 fallocate 方法的支持。此方法允许调用者预先分配和取消分配文件的块。
安全修复
- CVE-2013-4162, Moderate
- 在 Linux 内核的 TCP/IP 协议套件实施中发现了一个安全漏洞,它处理了使用 UDP_CORK 选项的 IPv6 套接字。本地非特权用户可能会使用此缺陷导致拒绝服务。
- CVE-2013-4299, Moderate
- 在某些情况下,在 Linux 内核的设备映射程序子系统中发现了一个信息泄漏漏洞,用于解释写入快照块设备的数据。攻击者可以使用这个缺陷从可用空间中的磁盘块中读取数据,这通常无法访问。
程序错误修复
- BZ#987261
- 由于 NFS 代码中的一个错误,内核 size-192 和 size-256 slab 缓存可能会泄漏内存。当对应的 slab 缓存使用大多数可用内存时,这可能会导致 OOM 问题。现在,应用了补丁来解决这个问题,且 NFS 代码中相应的属性可以被正确释放。
- BZ#987262
- 仅当文件未设置字节范围锁定时,NFS 之前允许扩展 NFS 文件写入整个页面。但是,有时需要扩展写入以覆盖整个页面,以避免碎片降低。例如,如果对文件执行一系列小的非连续写入,则报告性能会降低。对 NFS 代码应用补丁,允许 NFS 将文件扩展到完整页面写入,如果整个文件被锁定以写入写入,或者客户端保管写委托。
- BZ#988228
- ipmi_si 驱动程序处理的更改会在 SIG UV 平台上引导 Red Hat Enterprise Linux 6.4 时造成大量延迟。这个驱动程序在 Red Hat Enterprise Linux 6 的早期版本中作为内核模块加载,同时现在在内核中构建。但是,SIG UV 不使用,因此不支持 ipmi_si 驱动程序。应用了补丁,内核现在在 SIG UV 上引导时不会初始化 ipmi_si 驱动程序。
- BZ#988384
- GFS2 没有为配额更改块保留日志空间,同时增大文件大小。因此,当从二级位映射中分配空闲块时,可能会触发严重的断言导致 GFS2 文件系统的撤回。在这个版本中,GFS2 在日志中为配额更改保留额外的块,因此文件增长的事务现在可以成功完成。
- BZ#988708
- 当负查询后,FUSE 代码中会出现一个 dentry 泄漏,负的 dentry 不会被丢弃,也不会丢弃引用计数器。这会在卸载包含 dentry 的 FUSE 子树时触发 BUG ()宏,从而导致内核 panic。现在,与此问题相关的一系列补丁已应用到 FUSE 代码,现在可以正确丢弃负的 dentries,以避免触发 BUG ()宏。
- BZ#991346
- Fnic 驱动程序之前允许带有大于 Cisco UCS Palo 适配器的 SGL 描述符数的 I/O 请求。因此,适配器返回任何超过 256 SGL 描述符的 I/O 请求,并显示无效的 SGLs 错误。补丁已被应用,将 fnic 驱动程序中支持的最大 SGL 数限制为 256,问题不再发生。
- BZ#993544
- NFS 服务器可能会因为锁定守护进程中个别竞争条件导致的 NULL pointer 解引用而意外终止。一个应用的补丁解决了这个问题,使用 spin locks 保护相关代码,从而避免了锁定的竞争。
- BZ#993547
- ACPI 的内核接口错误地实现了错误消息传递。当系统有有效的 ACPI Error Record Serialization Table (ERST)和 pstore.backend 内核参数已被 pstore 接口禁止使用 ERST 时,会显示以下出错信息:
ERST: Could not register with persistent store
但是,也使用相同的消息来指示阻止注册的错误。系列补丁会修改相关的 ACPI 代码,以便 ACPI 现在可以正确地区分不同的情况,并相应地打印唯一的和信息信息。 - BZ#994140
- 由于内存映射代码中的一个错误,fadvise64 ()系统调用有时不会从缓存内存清除给定文件的所有相关页面。通过添加一个测试条件来解决这个问题,它会验证所有请求页面是否已刷新,并在测试失败时尝试清空 LRU pagevecs。
- BZ#994866
- 以前对 CIFS 代码的补丁会导致在某些情况下出现问题,对 CIFS DFS 共享的挂载尝试会失败,并显示 "mount error (6): No such device or address" 错误信息。这是因为在之前的挂载尝试失败后没有正确重置返回代码变量。现在,应用了向后移植补丁来正确地重置变量,并且 CIFS DFS 共享现在可以按预期挂载。
- BZ#994867
- 在以前的版本中,运行大量加载的 NFS 服务器的系统在进行并发修改的大型目录上可能会出现 NFS READDIR 操作的性能,特别是对延迟连接。这是因为 NFS 代码效率低下执行了某些 dentry 操作,并且经常重新验证了目录属性。这个版本应用一系列用来解决问题的补丁;在 READDIR 操作后可以从 dcache 访问所需的 dentries,并且目录属性仅在目录开头或缓存的属性过期后从 dcache 访问。
- BZ#995334
- 网桥多播代码中的以前的更改允许发送常规多播查询,以便在启动时加快聚合。为防止多播路由器干扰,请发送包含零源 IP 地址的数据包。但是,这些数据包会干扰某些多播感知的交换机,这会导致系统使用带有零源 IP 地址的 IGMP 成员资格查询而被大量。一组补丁可以通过默认禁用多播查询并实现多播查询(如果需要的话)来切换常规多播查询,从而解决了这个问题。
- BZ#995458
- 当从设备启动时,current_arp_slave 参数未设置,但从设备上的活动标记未标记为不活动状态。因此,系统上可能会存在多个带有 active-backup 模式的活跃标记的从设备。应用了补丁来修复这个问题,方法是在当前_arp_slave 参数设置前为从设备标记不活跃的标记。
- BZ#996014
- 当尝试挂载 NFSv4 文件系统,且此操作上的第一次迭代失败时,NFSv4 代码中的死循环错误会导致 NFSv4 挂载进程在 LOOKUP_ROOT 操作的忙碌循环操作中挂起。应用了补丁,允许正确退出 LOOKUP_ROOT 操作,挂载尝试现在可以成功或在这种情况下失败。
- BZ#996424
- 在以前的版本中,NFS 客户端在向 NFS 服务器发送 LOCKU 和 RELEASE_LOCKOWNER 操作前不会等待完成未完成的 I/O 操作。因此,如果服务器在某些相关 READ 操作前处理 LOCKU 和 RELEASE_LOCKOWNER 操作,它会释放与请求的锁定所有者关联的所有锁定状态,并且 READs 返回 NFS4ERR_BAD_STATEID 错误代码。这会导致在系统日志中生成 "Lock reclaim failed!" 错误消息,且 NFS 客户端必须从错误中恢复。应用了一系列补丁,确保 NFS 客户端会在释放锁定前等待所有未完成的 I/O 操作完成。
- BZ#997746
- 以前对网桥多播代码的补丁引入了一个 bug,允许在收到 IPv6 多播查询时为多播组重新初始化活跃的计时器。补丁已应用到网桥多播代码,因此当网桥多播计时器处于活动状态时,不再重新初始化它。
- BZ#997916
- PPS (Pulse-per-second)驱动程序中的一个 use-after-free 问题可能会导致内核在取消注册 PPS 源时崩溃。现在,应用了补丁来解决这个问题,因此在取消分配前,相应的 char device 已从系统中删除。补丁还可防止使用打开文件描述符分配 PPS 设备。
- BZ#999328
- 在以前的版本中,在系统中默认启用 power-limit 通知中断。这可能会导致系统性能降低,甚至会导致系统在某些平台上不可用,如 Dell PowerEdge 服务器。应用了补丁来默认禁用 power-limit 通知中断,并添加了一个新的内核命令行参数 "int_pln_enable",允许用户使用现有系统计数器观察这些事件。在控制台中不再显示电源限制通知消息。由于此问题,受影响的平台不再会降低系统性能。
- BZ#1000314
- autofs4 挂载过期代码中的一个错误可能会导致 autofs4 模块错误地报告 NFS 挂载的一个忙碌树,"不使用"。因此,automount 会尝试卸载树,并显示 "failed to umount offset" 错误,从而使挂载树显示为空目录。应用了补丁来删除不正确的使用 autofs dentry mount check,并且上述问题不再发生。
- BZ#1001954
- 如果系统运行时间超过 208 天,则在 CPU 加速器中设计的计算可能会造成 set_cyc2ns_scale () 函数中的异常溢出。这个溢出会导致在使用时间戳计数器(TSC)时钟源的系统上出现内核 panic,这主要是使用 Intel Xeon E5 处理器在软电源周期中重置 TSC 的系统。应用了补丁来修改计算,以便在这些情况下不再发生这种算术溢出和内核 panic。
- BZ#1001963
- 由于固件中的一个错误,如果"intel_iommu=on"和"iommu=pt"kernel 参数指定了 "intel_iommu=on" 和 "iommu=pt"kernel 参数,使用 LSI MegaRAID 控制器的系统无法在 kdump 内核中初始化这个设备。作为临时解决方案,在固件修复可用前,对 megaraid_sas 驱动程序的补丁已被应用,如果固件在第一次尝试初始化控制器时处于 ready 状态,则驱动程序会重置控制器并重试固件过渡到 ready 状态。
- BZ#1002184
- 由于 SCTP 代码中的一个错误,在释放被哈希的 SCTP 关联时可能会出现 NULL pointer dereference,从而导致内核 panic。补丁解决了这个问题,方法是在释放和问题不再发生前尝试取消哈希 SCTP 关联。
- BZ#1003765
- 以前,RAID1 和 RAD10 代码称为 raise_barrier () 和 lower_barrier () 函数,而不是 freeze_array ()和 unfreeze_array ()函数,它们可以从管理线程中安全调用。因此,如果 MD 阵列包含备用磁盘,则可能会出现死锁情况,从而导致相应的内核线程无响应。另外,如果在出现这个问题后启动关闭序列,关闭序列也会变得无响应,且任何未同步到磁盘中的缓存文件系统数据都将丢失。应用了修正这个问题的补丁,RAID1 和 RAID10 代码现在按预期使用 management-thread 安全功能。
- BZ#1003931
- 负责验证缓存的凭据是否与当前进程匹配的功能没有正确执行检查。代码只检查当前进程凭证中的组是否以与缓存的凭证中的相同顺序显示,但没有保证缓存的凭证中没有其他组。因此,当访问 NFS 挂载中的文件时,与原始进程相同的 UID 和 GID 的进程可能已被授予一个对文件的未授权访问权限,或者在某些情况下,进程可能会被错误地阻止访问该文件。修正了不正确的测试条件,问题将不再发生。
- BZ#1004657
- xen-netback 和 xen-netfront 驱动程序无法处理大小为 64 KB (包括标头)的数据包。在决定 GSO 的最大大小时(Generic Segmentation Offload)时,xen-netfront 驱动程序不会考虑任何标头。因此,在发送大于 64 KB 的数据包时,Xen mail guest 操作可能会导致 mail 上的网络 DoS 问题。在这个版本中,添加了一个调整 GSO 最大大小计算的补丁,且问题不再发生。
- BZ#1006932
- 实时(RT)调度程序中的一个错误可能会导致 RT 优先级进程因为运行队列无效属性停止运行。当 CPU 会受到这个程序错误的影响时,迁移内核线程在 CPU 上停止运行,然后被系统迁移到受影响 CPU 的所有其他进程也会停止运行。补丁已应用到 RT 调度程序,RT 优先级进程不再影响此问题。
- BZ#1006956
- 包括在内核版本 2.6.32-358.9.1.el6 中的补丁,用于修复撤销的 NFSv4 委派的处理,向 NFSv4 代码引入了一个回归错误。在某些情况下,在 NFSv4 异常和异步错误处理中出现这个回归问题,将 NULL inode 传递给与 NFSv4 委派相关的功能,这会导致内核 panic。NFSv4 异常和异步错误处理已被修复,在这种情况下无法再传递 NULL inode。
安全修复
- CVE-2013-2206, Important
- 在 Linux 内核流控制传输协议(SCTP)实现处理重复 Cookie 的方式中发现了一个安全漏洞。如果一个本地用户同时查询 SCTP 连接信息,则远程攻击者可以初始化到系统的 SCTP 连接,则可能会触发 NULL pointer dereference,从而导致系统崩溃。
- CVE-2013-2224, Important
- 它发现,通过 RHSA-2012:1304 发布 CVE-2012-3552 的修复在 Linux 内核的 TCP/IP 协议套件实现中引入了一个无效的可用缺陷。本地无特权用户可以使用此缺陷通过精心设计的 sendmsg () 调用来破坏内核内存,从而允许他们拒绝服务或可能在系统上升级其权限。
- CVE-2013-2146, Moderate
- Linux 内核的性能事件实现中发现了一个安全漏洞。在具有特定 Intel 处理器的系统上,本地非特权用户可通过利用 perf 子系统写入 OFFCORE_RSP_0 和 OFFCORE_RSP_0 和 OFFCORE_RSP_1 模型的保留位来拒绝服务。
- CVE-2013-2232, Moderate
- Linux 内核的TCP/IP 协议套件实施中发现了一个无效的指针解引用缺陷。本地非特权用户可以使用此缺陷使系统崩溃,或者可能使用带有连接到 IPv4 目的地的 IPv6 套接字的 sendmsg ()来升级其系统上的特权。
- CVE-2012-6544, Low
- Linux 内核蓝牙实现中的信息泄漏可能允许本地的非特权用户将内核内存泄漏到用户空间。
- CVE-2013-2237, Low
- Linux 内核中的一个信息泄漏漏洞可能会允许特权的本地用户将内核内存泄漏到用户空间。
程序错误修复
- BZ#956054
- 当使用 FPU 中止多线程进程时,内核可能会很少终止,而不是创建转储文件。这是因为内核不会等待所有线程都不活跃,并尝试将活跃线程的 FPU 状态转储到触发 BUG_ON ()例程的内存。应用了这个问题的补丁,内核现在会在将 FPU 状态转储到内存前等待线程变得不活跃。
- BZ#959930
- 由于 CPU 时间的计算方式,在多次运行使用数百个内核线程的 CPU 绑定进程后,可能会出现整数多复处理溢出错误。因此,内核会停止更新 CPU 时间,并提供不正确的 CPU 时间。这可能会混淆用户,并导致各种应用程序问题。在这个版本中,当 stime 和 rtime 值太大时,这个更新会降低计算的精度来解决此问题。另外,一个允许 stime 值被错误计算的错误,因为已修复了 utime 值。
- BZ#963557
- 由于 ext4 代码中有几个错误,数据完整性系统调用并不总是正确持久保留磁盘上的数据。因此,在系统意外终止后,ext4 文件系统中未同步的数据可能会丢失。ext4 代码应用了一系列补丁来解决这个问题,包括确保在负责文件同步的代码中使用数据障碍的修复。在上述情况下,不再发生数据丢失。
- BZ#974597
- 修改 dcache 和 autofs 代码的以前的补丁会导致回归。由于此回归,在大量 NFS 负载的系统上卸载大量过期的自动挂载会导致软锁定,从而导致系统无响应。如果配置了"软锁定" watchdog,计算机将重启。为修复回归,错误补丁已被恢复,系统现在可以正确处理上述场景,而无需任何软锁定。
- BZ#975576
- 系统可能会因为尝试关闭等待日志 I/O 完成的 XFS 文件系统而变得无响应。应用了 XFS 代码补丁,允许从不同的上下文中调用关闭方法,以便即使 AIL 之外也可以正确删除 XFS 日志项目,从而解决了这个问题。
- BZ#975578
- XFS 文件系统偶尔会关闭,并带有 "xfs_trans_ail_delete_bulk: 尝试删除不在 AIL" 错误消息中的日志项目。这是因为 EFI/EFD 处理逻辑不正确,并且 EFI 日志项目在 AIL 和提交之前可以被释放。补丁已应用于修复 EFI/EFD 处理逻辑的 XFS 代码,并确保在处理 EFD 日志项目前永远不会释放 EFI 日志项目。上述错误不再发生在 XFS 关闭中。
- BZ#977668
- 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 上运行,从而避免死锁。
- BZ#977680, BZ#989923
- 端口自动选择代码中的以前的更改允许共享端口,而不扩展其使用。因此,当启用 SO_REUSEADDR 套接字选项绑定套接字绑定时,bind (2)功能可以分配已经使用的临时端口。当出现 EADDRNOTAVAIL 错误代码时,后续的连接尝试会失败。这个版本应用了修改端口自动选择代码的补丁,以便 bind (2)现在选择一个非冲突端口,即使启用了 SO_REUSEADDR 选项。
- BZ#979293
- cyclic 添加和删除 st 内核模块可能会导致系统变得无响应。这是因为 SCSI 磁带驱动程序中的磁盘队列引用计数错误导致。上游补丁解决这个程序错误已被向后移植到 SCSI 磁带驱动程序,在这种情况下,系统现在会按预期响应。
- BZ#979912
- 在 KVM 时钟(kvmclock)作为时钟源的 KVM 客户机上,某些 VCPU 可能会遇到大量睡眠延迟(时间超过 20 秒)。这会导致通过休眠功能和低延迟事件的不准确度量而造成意外延迟。这是因为 kvmclock 更新被隔离到特定的 VCPU,因此 NTP 频率修正仅应用于该单个 VCPU。这个问题已通过一个补丁解决,允许 kvmclock 对 KVM 客户机上的所有 VCPU 更新。VCPU 睡眠时间现在不超过预期数量,不再会导致上述问题。
- BZ#981177
- 当使用大量使用内存映射的应用程序时,客户会出现大量应用程序延迟,这会导致性能下降。应用了一系列补丁来解决这个问题。另外,补丁会修改内存映射代码,以允许块设备需要稳定的页面写入,仅在后备设备需要时强制 stable 页面写入,并选择性地快照页面内容在写操作期间提供稳定的页面。因此,应用程序延迟已得到显著改进,且有大量内存映射的应用程序会如预期执行。
- BZ#982116
- 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#982472
- 如果审计队列太长,内核会调度 kauditd 守护进程,以缓解审计队列的负载。在以前的版本中,如果当前审计进程在这样的情形中有任何待处理的信号,它会在审计日志超时的持续时间内输入忙碌循环,因为 wait_for_auditd ()函数被调用为中断任务。这可能会导致系统锁定在非抢占的 uniprocessor 系统中。在这个版本中,通过将 wait_for_auditd ()设置为 uninterruptible 解决了这个问题。
- BZ#982496
- tty 层中的一个可能的竞争可能会导致触发 BUG_ON ()宏后出现内核 panic。作为临时解决方案,BUG_ON () 宏已被 WARN_ON () 宏替代,这样可避免内核 panic 并进一步调查竞争条件。
- BZ#982571
- 内存映射代码的最新更改引入了一个新的 next-fit 算法,用于分配 VMAs 将处理的文件映射到地址空间。但是,这个更改会破坏特定内部功能的行为,然后始终跟随下一个 VMA 分配方案,而不是 first-fit VMA 分配方案。因此,当使用 first-fit VMA 分配方案时,这个错误会导致线性地址空间碎片,并导致 mmap ()请求早期"-ENOMEM"失败。此补丁将原始的 first-fit 行为恢复到函数,因此不再发生上述问题。
- BZ#982697
- 当将特定的 HP 硬件与 UHCI HDC 支持一起使用并且 uhci-hdc 驱动程序执行自动停止操作时,内核会发出 "kernel: uhci_hcd 0000:01:00.4: Controller not stopped yet!" 警告信息。这是因为 HP 的虚拟 UHCI 主机控制器需要很长时间才能挂起(持续几百微秒),即使没有附加的 USB 设备,并且未调整驱动程序来处理这种情况。为避免这个问题,uhci-hdc 驱动程序已被修改为在控制器暂停前不会运行自动停止操作。
- BZ#982703
- 之前发布的勘误 RHSA-2013:0911 包括一个补丁,它增加了对在 AMD 系统上大于 1TB 内存的内存配置的支持,以及修复内核 panic 阻止在这些系统上安装 Red Hat Enterprise Linux 的补丁。但是,这些补丁会破坏在 SGI UV 平台上启动 Red Hat Enterprise Linux 6.4,因此已使用此次更新恢复了它们。Red Hat Enterprise Linux 6.4 现在如预期在 SGI UV 上引导。
- BZ#982758
- 由于描述符处理中的一个错误,ioat 驱动程序无法使用 Intel Xeon Processor E5 系列正确处理系统中待处理的描述符。因此,CPU 在这些系统上过度使用。现在,一个补丁已应用到 ioat 驱动程序,因此驱动程序可以正确地决定待处理的描述符,对于描述的处理器系列,CPU 使用量正常。
- BZ#990464
- 网桥代码中的一个错误允许内部功能调用代码,该代码在保存 spin 锁定时不是 atomic-safe。因此,触发了 "BUG: scheduling while atomic" 错误,以及内核记录的调用追踪。在这个版本中,会应用一个补丁来对功能正常排序,因此函数在调用不是 atomic-safe 的代码时不再包含 spin 锁定。本例中不再会出现带有调用 trace 的错误。
- BZ#990470
- 在某些情况下,abort task 和 SPP 设备任务管理路径中的竞争条件可能会发生,在某些情况下,会导致驱动程序清理在 SAS 磁盘设备上待处理的超时 I/O 请求。因此,内核从系统中删除这样的设备。应用到 isci 驱动程序的补丁会修复这个问题,即在输入 abort 功能时向 SAS 驱动器发送任务管理功能,且任务还没有完成。现在,在这种情况下,驱动会按预期清理超时的 I/O 请求。
安全修复
- CVE-2013-2128, Moderate
- 在 Linux 内核的 IPv4 TCP/IP 协议套件实施中的 tcp_read_sock () 函数中发现了一个安全漏洞。本地非特权用户可以通过调用 splice ()触发此问题,从而导致拒绝服务。
- CVE-2012-6548,CVE-2013-2634,CVE-2013-2635,CVE-2013-3222,CVE-2013-3224,CVE-2013-3225, Low
- Linux 内核中的信息泄漏漏洞可能会允许本地无特权的用户将内核内存泄漏到用户空间。
- CVE-2013-0914, Low
- Linux 内核的 POSIX 信号实现中发现了一个信息泄漏。本地非特权用户可以使用此缺陷绕过地址空间布局随机化(ASLR)安全功能。
- CVE-2013-1848, Low
- 在 Linux 内核的 ext3 文件系统的 ext3_msg () 函数中发现了一个格式字符串缺陷。可以挂载 ext3 文件系统的本地用户可能会使用这个缺陷导致拒绝服务或可能会升级其权限。
- CVE-2013-2852, Low
- Linux 内核的 b43_do_request_fw () 函数中发现了一个格式字符串漏洞。可以指定"fwpostfix" b43 模块参数的本地用户可能会使用此缺陷导致拒绝服务或可能升级其特权。
- CVE-2013-3301, Low
- Linux 内核的 ftrace 和 function tracer 实现中发现了一个 NULL pointer dereference 缺陷。具有 CAP_SYS_ADMIN 功能的本地用户可能会使用这个缺陷导致拒绝服务。
程序错误修复
- BZ#924847
- 从上游向后移植块保留功能时出错,这会导致在 rename 系统调用过程中需要分配分配时缺少保留结构。重命名文件系统对象(如文件或目录)需要目标目录的块分配。如果目标目录没有分配保留结构,则会出现 NULL pointer dereference,从而导致内核 panic。在这个版本中,在 rename 操作前分配保留结构,在这种情况下不再发生内核 panic。此补丁还确保在更改内节点的大小时不会删除内节点的多块保留。
- BZ#927308
- 当在 I/O 操作后在 GFS2 文件系统中检测到不一致时,内核会在本地节点上执行撤回操作。但是,在继续撤回操作前,内核之前不会等待 GFS 控制守护进程(gfs_controld)的确认。因此,如果将 GFS2 文件系统与数据存储隔离,则内核不知道这个问题,且在撤回操作成功记录后,可能会执行对共享块设备的 I/O 操作。这可能导致文件系统崩溃,或者阻止节点恢复日志。这个补丁修改 GFS2 代码,因此撤回操作不再进行,而无需 gfs_controld 的确认,GFS2 文件系统在执行撤回操作后不再被破坏。
- BZ#927317
- GFS2 丢弃代码没有为扇区大小为 4 KB 的块设备正确计算扇区偏移,这会导致这些设备中的数据丢失和元数据。应用了这个问题的补丁,因此丢弃和 FITRIM 请求现在可以在带有 4 KB 扇区大小的块设备中正常工作。
- BZ#956296
- 虚拟文件系统(VFS)代码在 unlink 和 link 系统调用之间有一个竞争条件,允许创建硬链接来删除(未链接)文件。在某些情况下,这可能导致最终导致文件系统关闭的内节点崩溃。在 Red Hat Storage 对复制 Gluster 卷进行 rsync 操作期间,在 Red Hat Storage 中发现这个问题会导致 XFS 关闭。测试条件已添加到 VFS 代码中,防止创建到已删除文件的硬链接。
- BZ#956979
- sunrpc 代码路径(sunrpc 代码路径)对速度进行高度优化,因此代码避免使用任何锁定机制,但需要精确的操作顺序。发现多个与操作排序相关的错误,这会导致内核崩溃涉及 BUG_ON ()断言,或在 sunrpc 层中使用数据结构不正确。这些问题已通过在 sunrpc 层的 wake-up 代码路径中与 RPC_TASK_QUEUED 和 RPC_TASK_RUNNING 位相关的正确排序操作来解决。
- BZ#958684
- 在以前的版本中,在块设备队列被销毁时,blk_get_request ()函数引入了一个新的失败模式,返回 -ENODEV 错误代码。但是,更改不包括函数的所有调用者的 NULL pointer 检查。因此,当从系统中删除块设备时,内核可能会取消引用 NULL 指针,这会导致内核 panic。这个版本应用了一个补丁,它添加了这些缺少的 NULL pointer 检查。另外,blk_get_request ()函数的一些调用者之前可能会返回 -ENOMEM 错误代码,而不是 -ENODEV,这会导致调用链传播不正确。这个版本会应用一个补丁,确保传播正确的返回代码。
- BZ#962368
- 在 "devloss" 超时和发现状态机器之间有一个罕见的竞争条件,可能会在 lpfc 驱动程序中触发一个错误,以相反的顺序嵌套两个级别的 spin 锁定。spin 锁定的反向顺序会导致死锁情况,系统变得无响应。在这个版本中,应用了补丁解决死锁问题,系统在这种情况下不再挂起。
- BZ#962370
- 当试图在多个 NIC 和 macvtap 设备的 hypervisor 上部署虚拟机时,可能会出现内核 panic。这是因为 macvtap 驱动程序无法正常处理,当 macvlan_port.vlans 列表为空并返回 NULL 指针时。这个版本应用了一系列补丁,它们使用 read-copy-update (RCU)机制修复此问题,并防止驱动程序返回一个 NULL pointer (如果列表为空)。在这种情况下,内核不再 panic。
- BZ#962372
- 某些 CPU 包含在线虚拟机控制结构(VMCS)缓存,用于保留由 KVM 模块管理的活跃 VMCS。这些 VMCS 包含 KVM 操作的客户机机器的运行时信息。这些 CPU 需要支持 VMCLEAR 指令,以允许将缓存的内容清空到内存中。内核之前没有在 Kdump 中使用 VMCLEAR 指令。因此,当转储 QEMU KVM 主机的核心时,相应的 CPU 不会清空到内存,客户机的运行时信息不包含在内核转储中。这个问题已通过一系列补丁解决,它们实现了在 Kdump 中使用 VMCLEAR 指令的支持。现在,如果 CPU 需要,内核会在 Kdump 中执行 VMCLEAR,因此 QEMU KVM 主机的 vmcore 文件会按预期包含所有 VMCS 信息。
- BZ#963564
- 当网络接口(NIC)以 promiscuous (PROMISC)模式运行时,NIC 可能会接收和处理 VLAN 标记帧,即使没有 VLAN 附加到 NIC。但是,一些网络驱动程序(如 bnx2、igb、tg3 和 e1000e )无法正确处理在 PROMISC 模式中标记帧的数据包(如果帧没有分配 VLAN 组)。驱动程序处理带有错误例程和各种问题的数据包;例如,连接到 VLAN 的 DHCPv6 服务器可能会将 VLAN 池中的 IPv6 地址分配给没有 VLAN 接口的 NIC。要在没有 VLAN 组的情况下正确处理 VLAN 标记帧,因此当 NIC 处于 PROMISC 模式时,帧必须被 VLAN 代码处理,因此当 NIC 处于 PROMISC 模式时,对数据包的 VLAN 组字段的 NULL 值被修改。此更新还包括一个补丁修复一个程序错误,其中 bnx2x 驱动程序在没有在 NIC 上配置 VLAN 标头时不会从帧中剥离 VLAN 标头,以及实现一些寄存器更改的另一个补丁,以便在 NIC 上启用和传输 VLAN 数据包,即使没有用卡注册 VLAN 数据包。
- BZ#964046
- 由于 NFSv4 nfsd 代码中存在一个错误,当 nfsd 为 fsync 操作查找 NFSv4 恢复目录的路径时,可能会解引用 NULL pointer,这会导致内核 panic。这个版本应用了修改 NFSv4 nfsd 代码的补丁,来在 NFSv4 恢复目录中为 fsync 打开文件描述符,而不是查找路径。在这种情况下,内核不再 panic。
- BZ#966432
- 将虚拟 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#968557
- 如果 IRQ 行与其他设备共享,则 uhci-hcd 内核模块中可能会出现竞争条件。竞争条件允许在数据结构完全初始化前调用 IRQ 处理程序例程,这会导致系统变得无响应。在这个版本中,通过向 IRQ 处理程序例程添加测试条件来解决此问题的补丁;如果数据结构初始化仍在进行中,则处理程序例程会立即完成。
- BZ#969306
- 在设置绑定设备时,使用特定的标记来区分 TLB 和 ALB 模式。但是,在 ALB 模式中使用这个标志可让在激活绑定前避免 NIC。这会导致 enslaved NIC 没有唯一 MAC 地址,并会正确丢失发送到从设备的"回复"数据包。此补丁修改负责从 MAC 地址设置的功能,因此不再需要将 ALB 模式从 TLB 中分离出来,并删除了标志。在这种情况下,上面描述的问题不再发生。
- BZ#969326
- 在某些服务器上引导正常内核(如 HP originally DL980 G7)时,一些中断可能会丢失,这会导致系统变得无响应,甚至很少出现数据丢失。这是因为内核在引导过程中没有设置正确的目标模式;当这个系统只支持 "x2apic physical mode" 时,内核会以"逻辑集群模式"引导。这个版本应用一系列已解决问题的补丁。底层 APIC 代码已被修改,x2apic probing 代码现在检查修复的 ACPI Description 表(FADT),并按预期安装 x2apic "physical" 驱动程序。另外,APIC 代码已被简化,代码现在使用探测例程来选择目标 APIC 模式并安装正确的 APIC 驱动程序。
- BZ#972586
- OProfile 工具中的一个错误会导致在卸载 OProfile 内核模块时导致 NULL pointer dereference,这会导致内核 panic。如果内核是使用 nolapic 参数集运行的,并且 OProfile 被配置为使用 NMI 计时器中断,则会触发此问题。这个问题已通过在初始化 OProfile 时正确设置 NMI 计时器来解决。
- BZ#973198
- 在以前的版本中,当引导 Red Hat Enterprise Linux 6.4 系统且 ACPI 静态资源关联性表(SRAT)启用了热插拔位时,内核会认为 SRAT 表不正确,并且没有配置 NUMA。这会导致通用保护错误以及系统上发生内核 panic。这个问题已通过在代码中使用 SMBIOS 检查来解决,以避免 SRAT 代码表一致性检查。现在,NUMA 会按预期配置,在这种情况下内核不再 panic。
- BZ#973555
- PCI 驱动程序中的一个错误,允许使用指向已释放的虚拟功能(VF)设备条目的指针。因此,当热删除启用了 SR-IOV 设备的 I/O 单元时,会出现内核 panic。这个版本修改了 PCI 驱动程序,因此使用到物理功能(PF)设备条目的有效指针,在这种情况下内核不再 panic。
- BZ#975086
- 在以前的版本中,内核无法处理从非扁平高级编程中断控制器(APIC)模式回退到扁平 APIC 模式的情况。因此,一个 NULL pointer 被解引用,发生内核 panic。在这个版本中,在 APIC 驱动程序中添加了 flat_probe () 函数,它允许使用 flat APIC 模式作为回退选项的内核。在这种情况下,内核不再 panic。
安全修复
- CVE-2013-1935, Important
- 在 KVM (基于内核的虚拟机)在进入 guest 时发现了一个安全漏洞。一个没有特权的客户机用户可能会使用这个缺陷使主机崩溃。
- CVE-2013-1943,重要
- KVM 中的 kvm_set_memory_region () 函数中发现了一个缺少的 sanity 检查,允许用户空间进程注册指向内核地址空间的内存区域。本地非特权用户可能会使用此缺陷来升级其特权。
- CVE-2013-2017, Moderate
- 在 Linux 内核的虚拟以太网 Tunnel 驱动程序(NFD)中发现了一个双可用安全漏洞。远程攻击者可以利用此漏洞使目标系统崩溃。
程序错误修复
- BZ#923096
- 在以前的版本中,队列限制不会被保留,因为如果设备不包含任何数据,或者多路径设备暂时丢失所有路径,则它们应该被保留。这个问题已通过避免调用
dm_calculate_queue_limits()
功能来解决。 - BZ#924823
dm_btree_remove()
功能中的一个错误可能会导致叶值有不正确的引用计数。移除共享块可能会导致将块视为不再使用的空间映射。因此,向精简设备的共享区域发送丢弃请求可能会破坏其快照。这个程序错误已被解决,以防止在这种情况下崩溃。- BZ#927292
- 在此次更新之前,如果启用了 Large Receive Offload (LRO),Broadcom、QLogic 和 Intel 卡驱动程序没有填写所有数据包字段。因此,当
macvtap
驱动程序收到一个未设置的gso_type
字段的数据包时,会出现内核 panic。在这个版本中,ixgbe
、qlcnic
和bnx2x
驱动程序已被修复,以始终设置gso_type
字段。因此,内核 panic 不再发生在之前描述的场景中。 - BZ#927294
- 从 pNFS (并行 NFS)挂载中读取大量文件并取消正在运行的操作,方法是按 Ctrl+c 导致 XDR 代码中的常规保护错误,这会将自身清单为
无法处理内核分页请求消息的内核
oops。这是因为解码LAYOUTGET
操作是由 worker 线程完成的,调用者会等待 worker 线程完成。当读取操作被取消时,调用者会停止等待并释放页面。因此,当 worker 线程在 XDR 代码中调用相关函数时,页面不再存在。这些页面的清理过程已移到代码中的不同位置,这样可防止内核在这种情况下发生。 - BZ#961431
- 默认情况下,内核使用最佳算法来分配虚拟内存区域(VMAs)将处理的文件映射到地址空间中。但是,如果大量小文件(数以千计或数以百万计)被映射时,地址空间变得非常碎片,从而导致 CPU 使用量和性能下降。在这个版本中引进了可选的 next-fit 策略,如果启用,则允许将文件映射到之前分配的 VMA 后的第一个合适的未使用区域。
- BZ#960864
- Intel 系列 6、型号 58 和 62 的 C-states 在 Red Hat Enterprise Linux 6 中没有正确初始化处理器。因此,这些处理器无法进入深度 C-states。另外,C-state accounting 无法正常工作,如 powertop 或 turbostat 等电源管理工具,因此显示不正确的 C-state 转换。这个版本应用了一个补丁,以确保正确的 C-states 初始化,因此上述处理器现在可以按预期进入深度核心电源状态。请注意,这个更新没有正确的 C-state 核算,它已被单独的补丁解决。
- BZ#960436
- 如果在 NFSv4 服务器的 OPEN 状态恢复过程中检查委派的 OPEN 操作打开的权限,则 NFSv4 状态管理器可能会进入死锁。这是因为客户端是保存 OPEN 操作的 NFSv4 序列 ID。这个问题已通过在客户端开始检查打开权限前释放序列 ID 来解决。
- BZ#960429
- 使用并行 NFS (pNFS)时,当进程在 open ()系统调用过程中获取文件布局信息时,可能会出现内核 panic。应用了补丁来防止这个问题发生。
- BZ#960426
- 在 RPC 代码中,当网络套接字因为高网络流量而备份时,会设置计时器,从而导致生成大量网络流量。要防止这个问题,RPC 代码现在会等待套接字为空,而不是设置计时器。
- BZ#960420
- 在以前的版本中,fsync (2)系统调用错误地返回 EIO (Input/Output)错误,而不是 ENOSPC (设备中没有剩余空间)错误。这是因为页面缓存中的错误处理不正确。这个问题已被解决,现在会返回正确的错误值。
- BZ#960417
- 在以前的版本中,如果 NFS RPC 任务正在等待 NFSv4 状态序列化锁可用,且会话插槽由 NFSv4 服务器保存,则可以进入死锁并变得无响应。在这个版本中解决了这个问题,以及 pNFS return-on-close 代码中的可能竞争条件。如果委派调用生效,也已修改 NFSv4 客户端,以不接受委派的 OPEN 操作。现在,当客户端使用 CLAIM_DELEGATE_CUR 开放模式时,客户端还会报告 NFSv4 服务器尝试返回委托。
- BZ#952613
- 当使用 pNFS 代码时,在尝试恢复服务器重启时,文件锁定过程可能会进入死锁。这个更新引入了一个新的锁定机制,可以避免在这种情况下死锁的情况。
- BZ#960412
- 在以前的版本中,当处理 open (2)系统调用时,GETATTR 例程不会检查是否也返回有效的属性。因此,open ()调用成功并显示无效的属性,而不是在这种情况下失败。在这个版本中,添加了缺少的检查,open ()调用仅在返回有效属性时才会成功。
- BZ#955504
- 在映射任务时,be2iscsi 驱动程序以前泄漏驱动程序控制路径中的内存。这个更新会在任务完成后释放与任务相关的所有资源来解决内存泄漏。另外,在使用有效的 Target Transfer Tag (TTT)响应接收的 NOP-IN 确认后,驱动程序不会发布任务。因此,驱动程序缺少可用于会话的任务,且无法发出更多 iscsi 命令。补丁已被应用来修复这个问题。
- BZ#960415
- 由于缺少结构,NFSv4 错误处理程序不会处理因为撤销 NFSv4 委派导致的异常。因此,NFSv4 客户端会收到 EIO 错误消息,而不是 NFS4ERR_ADMIN_REVOKED 错误。在这个版本中,修改了 NFSv4 代码,不再需要 nfs4_state 结构来撤销委派。
- BZ#954298
- 在个别情况下,如果 TCP 重新传输被部分确认并折叠,使用的 Socked Buffer (SKB)可能会因为传输头条导致的溢出而被破坏。这会导致内核 panic。在使用 IP-over-InfiniBand (IPoIB)连接时,这个问题很少。这个版本会应用一个补丁,验证传输头条是否超过已使用 SKB 的最大大小,如果是,则会重新分配头条。另外还发现,如果一个恶意的子 MSS 帧和输出接口没有启用序列生成器(SG),则 TCP 堆栈可能会重新对齐 SKB。这个版本引入了一个新的功能,它允许使用新头复制 SKB,因此 SKB 在此情形中保持一致。
- BZ#921964
- 对于损坏的服务器,可以匹配不正确的类型的索引节点(inode)。这会导致 NFS 客户端 NULL pointer dereference,因此是一个内核 oops。要防止这个问题发生,添加了检查来验证 inode 类型是否正确。
- BZ#962482
- 当将超过 4 GB 的 RAM 与 AMD 处理器一起使用时,保留区域和内存漏洞(E820 区域)也可以超过 4 GB 范围。例如,在使用超过 1 TB RAM 的配置中,AMD 处理器为 Hyper Transport (HT)功能保留 1012 GB - 1024 GB 范围。但是,Linux 内核无法正确处理位于 4 GB 范围内的 E820 区域。因此,当在具有 AMD 处理器和 1 TB RAM 的机器上安装 Red Hat Enterprise Linux 时,会出现内核 panic,安装会失败。这个版本修改内核,将位于 4 GB 范围内的 E820 区域从直接映射中排除。内核也不再在引导时映射整个内存,但只找到需要映射的内存范围。系统现在可以成功安装在上述配置上。
- BZ#950529
- 这个版本恢复了两个之前包含的
qla2xxx
补丁。这些补丁更改了光纤通道目标端口发现过程,这会导致在某些情况下不会发现一些端口。恢复这两个补丁解决了发现问题。 - BZ#928817
- 之前应用的补丁在
ipoib_cm_destroy_tx()
功能中引入了一个错误,它允许在没有支持的锁定的情况下在列表之间移动 CM 对象。在系统负载过重时,这可能导致系统崩溃。在这个版本中,重新尝试正确锁定 CM 对象来修复竞争条件,系统不会在负载过重时崩溃。 - BZ#928683
- 如果在只读文件系统中请求任何写访问,
do_filp_open()
功能中的一个错误会导致它早期退出。这导致在只读文件系统中打开设备节点。在这个版本中,do_filp_open()
已被修复,如果在只读文件系统中进行了写入请求,不再退出。 - BZ#960433
- NFSv4 客户端之前,在重启 NFSv4 服务器后,在状态恢复期间输入死锁情况,并处于恢复状态。这是因为客户端没有释放重启前请求的 OPEN 操作的 NFSv4 序列 ID。这个问题已通过在客户端开始等待服务器恢复前释放序列 ID 来解决。
功能增强
- BZ#952570
- 内核现在支持在 AMD 系统上具有超过 1TB RAM 的内存配置。
安全修复
- CVE-2013-0913, Important
- Linux 内核中的 Intel i915 驱动程序处理用于重新定位副本的缓冲区的分配方式中存在一个整数溢出问题,从而导致基于堆的缓冲区溢出。具有控制台访问权限的本地用户可能会使用这个缺陷导致拒绝服务或升级其特权。
- 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-2013-1792, Moderate
- install_user_keyrings ()中的竞争条件() 导致在密钥管理工具中发现了 NULL pointer dereference。本地非特权用户可能会使用此缺陷导致拒绝服务。
- CVE-2013-1826, Moderate
- XFRM 实现中的 NULL pointer dereference 可能会导致拒绝服务的本地用户。
- CVE-2013-1827, Moderate
- NULL pointer dereference in the Datagram Congestion Control Protocol (DCCP)实现可能会导致本地用户拒绝服务。
- CVE-2012-6537, Low
- XFRM 实现中的信息泄漏漏洞,允许具有 CAP_NET_ADMIN 能力的本地用户将内核堆栈内存泄漏到用户空间。
- CVE-2012-6546, Low
- 异步传输模式(ATM)子系统中的两个信息可能会允许本地的非特权用户将内核堆栈内存泄漏到用户空间。
- CVE-2012-6547, Low
- 在网络实施中的 TUN/TAP 设备驱动程序中发现了一个信息泄漏。有权访问 TUN/TAP 虚拟接口的本地用户可能会使用这个缺陷将内核堆栈内存泄漏到用户空间。
- CVE-2013-0349, Low
- 蓝牙实现中的信息可能会允许具有 CAP_NET_ADMIN 功能的本地用户将内核堆栈内存泄漏到用户空间。
- CVE-2013-1767, Low
- tmpfs 实施中发现了一个无用后的缺陷。本地用户挂载和卸载 tmpfs 文件系统可能会使用这个缺陷导致拒绝服务或可能升级其权限。
- CVE-2013-1774, Low
- 在 Linux 内核的 USB Inside Out Edgeport Serial Driver 实现中发现了一个 NULL pointer dereference。具有物理访问权限的攻击者可能会使用这个缺陷导致拒绝服务。
程序错误修复
- BZ#909156
- 在运行 Hyper-V hypervisor 时,主机需要客户虚拟机报告可用内存和用于内存膨胀的内存,包括 ballooned out 的页面。但是,内存气球代码无法正确处理报告,且报告中没有包括气球的页面。因此,在从客户机中完成内存后,Hyper-V Manager 会报告所需的内存和内存状态不正确。这个版本提供了一个补丁,用于调整内存气球代码,使其包含 ballooned-out 页面,并正确确定所需的内存。
- BZ#911267
- Intel 5520 和 5500 芯片组无法正确处理 MSI 和 MSI-X 中断的重新映射。如果在具有此类芯片组的系统上启用了中断重新映射功能,则可能会出现各种问题和服务中断(例如,NIC 可能会停止接收帧),"kernel: do_IRQ: 7.71 No irq handler for vector (irq -1) " 错误消息会出现在系统日志中。这个问题的一个临时解决方案是,建议在此类系统上的 BIOS 中禁用中断重新映射功能,许多供应商都已更新其 BIOS 以禁用中断重新映射。但是,如果没有使用此功能正确关闭的 BIOS 级别,用户仍会报告这个问题。因此,这个更新会修改内核来检查这些系统上是否启用了中断重新映射功能,并为用户提供一个警告信息,让用户在关闭该功能后关闭该功能并更新 BIOS。
- BZ#911475
- 如果在启用了精简配置的设备上创建逻辑卷,mkfs.ext4 命令需要很长时间才能完成,并在系统日志中记录以下信息:
kernel: blk: request botched
这是因为丢弃在块和 SCSI 层中无法正常工作的请求合并所致。这个功能已被临时禁用,以防止出现此类问题。 - BZ#915579
- 在具有大量读取工作负载的 NFS 客户端上可能会出现超时错误;例如,使用 rsync 和 ldconfig 工具时。对于问题,客户端和服务器端的原因都发现。在客户端,可能会阻止客户端重新连接丢失 TCP 连接的问题;在更新前已修复。在服务器端,服务器上的 TCP 内存压力强制发送缓冲区大小低于发送单个远程过程调用(RPC)所需的大小,从而导致服务器无法回复客户端。应用了一系列解决服务器端问题的补丁。这个版本提供了最后一个补丁,它们从 sunrpc 代码中删除冗余 xprt->shutdown 位字段。设置这个位字段可能会导致上述问题出现竞争。在负载过重的 NFS 客户端中,超时错误不再发生。
- BZ#915583
- 在以前的版本中,在 MultiVersion 文件系统(MVFS)上运行 "ls", "find" 或 "move" 等命令可能会导致内核 panic。这是因为 d_validate ()函数用于 dentry 验证,调用 kmem_ptr_validate ()函数来验证指向父 dentry 的指针。指针可以随时释放,因此 kmem_ptr_validate ()函数无法保证要解引用指针,这可能会导致 NULL pointer derefence。在这个版本中,修改 d_validate ()以验证 parent-child 的关系,方法是遍历父 dentry 的子 dentries 列表,从而解决这个问题。在上述场景中,内核不再 panic。
- BZ#916957
- 以前的补丁引进了使用 page_descs length 字段来描述 fuse 请求的大小。该补丁错误地处理了上游 fuse 代码中不存在的代码路径,这会导致通过 FUSE 使用循环设备时造成数据崩溃。此补丁解决了这个问题,方法是在提交请求前设置 fuse 请求大小。
- BZ#917690
- 当 netfilter 模块的状态不同步时,TCP 连接会在 conntrack 表中记录,尽管两个主机之间不存在 TCP 连接。如果主机使用相同的源、端口、目标端口、源地址和目标地址重新建立这个连接,则主机会发送 TCP SYN 数据包和此 SYN 软件包的对等发送确认。但是,由于 netfilter 是不同步的,因此 netfilter 会丢弃此确认,并从 conntrack 表中删除连接项,从而导致主机重新传输 SYN 数据包。应用了补丁来改进这个处理 ; 如果出现意外的 SYN 数据包,则会注解 TCP 选项。SYN 数据包确认充当连接跟踪不同步的确认,然后使用之前标注的信息创建新的连接记录,以避免重新传输延迟。
- BZ#920266
- NFS 代码实施"静默重命名"操作,以处理进程持有的打开文件,而另一个进程尝试删除它。"silly rename" 操作根据"删除上次关闭"语义进行操作,因此在打开文件的最后一个进程关闭之前,不会释放该文件的索引节点。以前的 NFS 代码更新会破坏阻止 NFS 客户端删除 silly-renamed dentry 的机制。当文件被另一个进程为 I/O 打开时,任何进程可以删除"删除上次关闭"语义和静默名称的文件。因此,读取文件的进程会失败,并显示 "ESTALE" 错误代码。在这个版本中,在最后一个打开了 I/O 的文件之前,NFS 代码如何处理静默的文件和 sillyrenamed 文件,无法删除它。
- BZ#920268
- NFSv4 代码使用字节范围锁定来模拟 flock ()函数,该函数用于在打开文件中应用或删除专用公告锁定。但是,使用 NFSv4 字节范围锁定会阻止打开具有只读权限的文件,然后对该文件应用专用公告锁定。之前的补丁破坏了用来验证打开文件模式的机制。因此,系统变得无响应,如果文件处于只读权限打开并且尝试应用专用公告锁定,则系统会填充 "kernel: nfs4_reclaim_open_state: Lock reclaim failed!" 错误消息。在这个版本中,在尝试应用专用公告锁定前,修改 NFSv4 代码来检查打开的文件模式。如果锁定类型与文件模式不匹配,则返回"-EBADF"错误代码。
- BZ#921145
- 由于 tty 驱动程序中的一个错误,在"read"命令中断时,ioctl 调用可能会返回 "-EINTR" 错误代码,如 SIGCHLD。因此,后续的"read"命令会导致 Bash shell 中止,并带有 "double free or corruption (out) " 错误消息。应用的补丁会更正 tty 驱动程序以使用"-ERESTARTSYS"错误代码,以便在需要时重新启动系统调用。Bash 不再在此场景中崩溃。
- BZ#921150
- 在以前的版本中,NFS Lock Manager (NLM)不会在 NFSv3 服务器重启恢复后重新发送阻塞锁定请求。因此,当应用程序在 NFSv3 挂载上运行并请求阻塞锁定时,应用程序会收到 -ENOLCK 错误。此补丁可确保 NLM 始终在宽限期过期后重新发送阻塞锁定请求。
- BZ#921535
- eHEA 以太网适配器的虚拟 LAN (VLAN)支持无法按预期工作。运行 "dmesg" 命令时,可能会报告 "device ethX has buggy VLAN hw accel" 信息。这是因为向后移植的上游补丁删除了 vlan_rx_register ()函数。在这个版本中,添加了功能回来,eHEA VLAN 支持可以正常工作。这个版本还解决了可能的内核 panic,这可能会在处理接收的 VLAN 数据包时因为 NULL pointer dereference 而发生。补丁添加了一个测试条件,验证 VLAN 组是否由网络堆栈设置,这可防止解引用 NULL pointer,且内核不再在此情形中崩溃。
- BZ#921958
- 当 Active Item List (AIL)为空时,xfsaild 守护进程会移到一个任务 sleep 状态,它依赖于 xfsaild_push ()函数返回的超时值。最新的修改 xfsaild_push ()在 AIL 为空时返回 10-ms 值,这会将 xfsaild 设置为不可中断的睡眠状态(D 状态),以及 artificially 增加系统负载平均值。在这个版本中,通过将 timeout 值设置为允许的最大值 50 ms 来应用这个问题的补丁。这会将 xfsaild 移到可中断的睡眠状态(S 状态),避免对负载平均的影响。
- BZ#921961
- 当在 XFS 文件系统上运行小文件的高线程工作负载时,有时,系统可能会变得无响应,或者可能会出现内核 panic。这是因为 xfsaild 守护进程有一个 Stle 代码路径,当 AIL 中的缓冲区已被锁定时,这会导致在 xfsaild 锁定中锁定,并尝试强制日志解锁它。此补丁删除了危险的代码路径,并将日志强制从与 xfsaild 相关的安全锁定上下文调用。此补丁还解决了缓冲区锁定和缓冲区固定状态之间的竞争条件,该状态会在锁定失败后重新检查缓冲区的状态来公开原始问题。系统不再挂起,在这种情况下内核不再 panic。
- BZ#921963
- 内核的 RTAS 实施(RunTime Abstraction Services)之前允许在 PowerPC 和 IMB System p 机器上实时分区迁移期间从中断上下文调用 stop_topology_update ()函数。因此,系统变得无响应。在这个版本中,通过在迁移过程早期调用 stop_topology_update ()解决了这个问题,系统在这种情况下不再挂起。
- BZ#922154
- 之前的内核更新 broke 队列对(qp)哈希列表在 qp_remove ()函数中删除。这可能会导致 InfiniBand 堆栈或 QLogic InfiniBand 驱动程序中的常规保护错误。应用了补丁来恢复以前的行为,因此不再发生常规保护错误。
- BZ#923098
- 由于 CIFS 挂载代码中的一个错误,在 Red Hat Enterprise Linux 6.4 中无法挂载分布式文件系统(DFS)共享。这个版本应用一系列解决此问题的补丁,并修改 CIFS 挂载代码,以便现在可以按预期挂载 DFS 共享。
- BZ#923204
- 当 Red Hat Enterprise Linux 6 内核作为虚拟机运行时,它会执行 hypervisor 的引导时检测,以启用特定于 hypervisor 的优化。Red Hat Enterprise Linux 6.4 引入了 Microsoft Hyper-V hypervisor 的检测和优化。以前 Hyper-V 是首先检测到的,因为有些 Xen 虚拟机监控程序可以尝试模拟 Hyper-V,因此当模拟没有准确时,这可能会导致引导失败。应用了补丁,以确保在 Hyper-V 之前尝试检测 Xen,从而解决这个问题。
- BZ#927309
- 当使用 ip 工具的 congestion 窗口锁定功能时,系统可能会变得无响应。这是因为如果拥塞窗口被锁定使用路由指标,则 tcp_slow_start () 函数可能会进入无限循环。已应用一组补丁来遵守上游内核,确保在这种情况下不再出现这个问题。
- BZ#928686
- 在以前的版本中,tty 驱动程序允许在 tty 缓冲代码中发生竞争条件。如果同一时间帧中同一 tty 设备的多个用户请求 tty 缓冲区,则使用同样的 tty 的缓冲区结构,并且缓冲区可能会超过保留的大小。这会导致缓冲区溢出问题以及后续的内存崩溃问题,从而导致内核 panic。在这个版本中,使用 spin 锁定实现 tty 缓冲区结构的锁定机制解决了这个问题。描述的竞争条件无法再发生,因为 tty 缓冲区溢出,内核无法再崩溃。
安全修复
- CVE-2013-0228, Important
- 在 Linux 内核中的 xen_iret ()函数使用了 DS (CPU 的数据分段)注册的方式中发现了一个安全漏洞。32 位半虚拟化 guest 中的本地非特权用户可能会利用此缺陷使客户机崩溃,或者可能会升级其特权。
- CVE-2013-0268, Important
- 在文件权限检查受限根环境中执行"/dev/cpu/[x]/msr"文件的方式中发现了一个安全漏洞(例如,使用基于功能的安全模型)。写入这些文件的本地用户可能会使用此缺陷将其权限升级到内核级别,例如,写入 SYSENTER_EIP_MSR 注册。
程序错误修复
- BZ#908398
- 在 GFS2 文件系统中修剪文件可能会失败,并显示 "unable to handle kernel NULL pointer dereference" 错误。这是因为缺少保留结构,这会导致截断代码引用不正确的指针。要防止这种情况,在对文件进行截断前,会应用补丁来分配块保留结构。
- BZ#908733
- 在以前的版本中,当使用并行网络文件系统(pNFS)和数据写入适当的存储设备时,LAYOUTCOMMIT 请求会在内部失败。元数据服务器没有根据写入的数据由修改的布局提供,这些更改对 NFS 客户端不可见。这是因为 LAYOUTCOMMIT 和 LAYOUTRETURN 操作的编码功能被定义为 void,因此返回任意状态。在这个版本中,修正了这些编码功能,以便如预期成功返回 0。存储设备的更改现在传播到元数据服务器,并可如预期观察到。
- BZ#908737
- 在以前的版本中,初始化脚本无法正确设置 master 接口的 MAC 地址,因为它被第一个从 MAC 地址覆盖。要避免这个问题,在将第一个从接口的 MAC 地址设置为主接口的 MAC 地址之前,会重新引入对未分配的 MAC 地址的检查。
- BZ#908739
- 在设备发现过程中,如果系统上没有映射 LUN 0,系统会创建一个带有 LUN ID 0 的临时 SCSI 设备。在以前的版本中,这会导致 NULL pointer dereference,因为临时 LUN 0 设备没有分配 inquiry 数据,这会导致内核 panic。在这个版本中,在底层 SCSI 代码中添加了一个 NULL pointer 测试,在这种情况下,内核不再 panic。
- BZ#908744
- 在以前的版本中,在系统引导中,具有关联保留内存区域报告(RMR)信息的设备在从静态身份(SI)域中删除后会丢失其 RMRR 信息。因此,由于 DMA 错误触发的意外 NMI,系统意外终止在无限循环中。HP LiveMigrate Generation 7 (G7)和 8 (G8)系统上发现了此问题。这个版本可防止在系统引导过程中具有 RMRR 信息的非 USB 设备被置于 SI 域中。现在,包含具有 RMRR 信息的设备的 HP vmcore G7 和 G8 系统现在可以按预期引导。
- BZ#908794
- 当计算 CPU 时间时,utime 和 stime 值会根据 rtime 扩展。在更新之前,utime 值乘以 rtime 值,但可能会出现整数多plication overflow,结果的值可能会截断为 64 位。因此,即使应用程序消耗了大量 CPU 时间,用户空间中的 utime 值也会停止。在这个版本中,会在 stime 而不是 utime 上执行复数。这可显著降低大多数工作负载溢出的可能性,因为 stime 值与 utime 值不同,所以无法快速增长。
- BZ#909159
- 通过 IPv6 使用透明代理(TProxy)时,内核之前为本地接口和同级接口创建了邻居条目,这些条目无法直接访问。在这个版本中修正了这个问题,内核不再创建无效的邻居条目。
- BZ#909813
- 由于超级块代码中的错误,可以在处理内核分页请求时解引用 NULL 指针。因此,请求失败,并发生内核 oops。在这个版本中解决了这个问题,内核页面请求会如预期处理。
- BZ#909814
- 有时,irqbalance 工具无法获得 CPU NUMA 节点信息,因为 sysfs 中缺少 CPU 设备的符号链接。在这个版本中,为 sysfs 中的 CPU 设备添加了 NUMA 节点符号链接,这在使用 irqbalance 构建 CPU 拓扑时也很有用。
- BZ#909815
- 之前的内核补丁通过为与上游内核中找到的 IFLA_EXT_MASK Netlink 属性分配不同的值,从而引入了一个程序错误。这可能会导致各种问题;例如,对上游内核标头编译的二进制代码在 Red Hat Enterprise Linux 6.4 及之后的内核上可能会有失败或意外行为。在这个版本中,通过与上游同步 IFLA_IFLA_EXT_MASK 可以正确地进行枚举。这样可确保根据 Red Hat Enterprise Linux 6.4 内核标头编译的二进制文件可以正常工作。保证向后兼容。
- BZ#909816
- Broadcom 5719 NIC 以前可能会因为 cyclic 冗余检查(CRC)错误而丢弃收到的巨型帧数据包。在这个版本中,修改 tg3 驱动程序,以便不再发生 CRC 错误,并按预期处理 Broadcom 5719 NIC 进程巨型帧数据包。
- BZ#909818
- 在以前的版本中,VLAN 代码错误地清除使用 igb 驱动程序的网络设备的时间戳中断位。因此,在支持 Precision Time Protocol (PTP)的 igb 网络设备中时间戳会失败。在这个版本中,修改 igb 驱动程序,以便在禁用中断时保留中断位。
- BZ#910370
- 在 NFSv4.1 或禁用委派的情况下从服务器重启时,NFSv4.1 客户端可能会停止响应。这可能是由于在 NFS 代码中锁定不足以及 NFS 和 RPC 调度程序代码中的几个相关错误,这可能会导致死锁问题。这个版本应用了一系列补丁,它可防止出现可能的死锁情况。现在,在上述情况下,NFSv4.1 客户端可以恢复并继续工作负载。
- BZ#910373
- 在以前的版本中,在 Emulex BladeEngine 2 (BE2)控制器上的中断处理中可能会出现竞争条件,从而导致网络适配器变得无响应。这个版本为 be2net 驱动程序提供了一系列补丁,这可防止争用发生。由于处理中断事件错误,使用 BE2 芯片组的网卡不再挂起。
- BZ#910998
- 以前对 mlx4 驱动程序的补丁启用了内部回环,允许同一主机上的功能间通信。但是,这个更改引入了一个回归,它导致使用 Mellanox 以太网适配器的虚拟交换机(vSwitch)网桥设备,因为在某些情况下在原生(非SRIOV)模式下出现 uplink 变得无法正常工作。要解决这个问题,目的地 MAC 地址被写入仅以 SRIOV 或 eSwitch 模式传输的数据包的 Tx 描述符,或者在设备自我测试过程中写入。在上述设置中,uplink 流量可以正常工作。
- BZ#911000
- 在以前的版本中,内核不支持不是 2 的电源的存储丢弃粒度。因此,如果底层存储报告了这样的粒度,内核会错误地发出 discard 请求,这会导致 I/O 错误。在这个版本中,内核会修改内核以更正存储丢弃粒度的计算,内核现在可以正确处理请求,即使存储设备的丢弃粒度不是 2 的指数。
- BZ#911655
- 在以前的版本中,使用带有 Data Integrity Field (DIF)类型 2 保护的 SCSI sd 驱动程序的机器上可能会出现内核 panic。这是因为 scsi_register_driver () 函数注册了一个 prep_fn ()函数,该函数可能需要将 sd_cdp_pool 变量用于 DIF 功能。但是,此时尚未初始化该变量。底层代码已被更新,因此驱动程序是最后注册的,这可以防止内核 panic 发生。
- BZ#911663
- 在以前的版本中,mlx4 驱动程序在 mlx4 卡中的多功能模式下将请求的 MSI-X 向量数设置为 2。但是,mlx4 固件的默认设置允许更多的请求的 MSI-X 向量(带有当前固件的 4 个)。这个版本修改了 mlx4 驱动程序,使其使用这些默认固件设置,这可以提高 mlx4 卡的性能。
安全修复
- CVE-2012-4508, Important
- 在异步 I/O 和 fallocate ()中使用 ext4 文件系统交互的方式中发现了一个竞争条件。本地非特权用户可能会使用此缺陷,从尚未写入数据块的程度公开随机数据,从而包含已删除文件中的数据。
- CVE-2013-0311, Important
- 在 vhost 内核模块处理跨越多个区域的描述符的方式中发现了一个安全漏洞。KVM 客户端中的特权客户机用户可能会使用此缺陷使主机崩溃,或者可能会在主机上升级其权限。
- CVE-2012-4542, Moderate
- 它发现,默认的 SCSI 命令过滤器不适用于在设备类之间重叠的命令。一个特权的客户机用户可能会使用这个缺陷,将任意数据写入以只读方式传递的 LUN 中。
- CVE-2013-0190, Moderate
- 在 Linux 内核中的 xen_failsafe_callback () 函数中发现了一个安全漏洞,它处理 Xen hypervisor 中失败的 iret (中断返回)指令通知。32 位半虚拟化客户端中的非特权用户可能会使用此缺陷使客户机崩溃。
- CVE-2013-0309, Moderate
- 在透明巨页时,pmd_present ()与 PROT_NONE 内存范围交互的方式中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷使系统崩溃。
- CVE-2013-0310, Moderate
- 从用户模式设置时,CIPSO (Common IP Security Option) IP 选项的方式中发现了一个安全漏洞。本地用户能够在套接字上设置 CIPSO IP 选项,可能会使用此缺陷使系统崩溃。
程序错误修复
- BZ#807385
- 暂停在 HP Z1 All-in-one Workstation 上运行的系统(模式 S3),带有内部嵌入式 DisplayPort (eDP)面板和外部 DisplayPort (DP) monitor,因此,由于系统导致 eDP 面板的后退,因此不会重新启用 eDP 面板。要解决这个问题,在编写 BLC_PWM_CPU_CTL2 参数后,在 i915 模块中处理挂起的代码已被修改来编写 BLC_PWM_CPU_CPU_CPU_CTL 参数。
- BZ#891839
- 在此次更新之前,当在 qlge 接口上设置 VLAN 设备时,使用 netperf 实用程序运行 TCP Stream 性能测试来测试 TCP/IPv6 流量会导致内核生成影响整体性能的警告信息。这是因为一个不支持的功能(NETIF_F_IPV6_CSUM),它通过 NETIF_F_TSO6 标志启用。在这个版本中,从 qlge 代码和 TCP/IPv6 流量性能中删除了 NETIF_F_TSO6 标志不再会受到影响。
- BZ#876912
- isci 驱动程序将"Register Device to Host"帧的结果复制到错误的缓冲区中,从而导致 SATA DOWNLOAD MICROCODE 命令失败,从而防止下载硬盘驱动器固件。帧处理程序例程中的这个程序错误会导致超时,从而导致重置。在这个版本中,底层源代码已被修改来解决这个问题,isci 驱动程序可以成功完成 SATA DOWNLOAD MICROCODE 命令。
- BZ#813677
- 在 xHCI 代码中,由于一个错误指向 USB 3.0 注册而不是 USB 2.0 寄存器的描述符,当更多的 USB 2.0 寄存器可用时,内核 panic 可能会出现。在这个版本中修复了指向 USB 2.0 寄存器的描述符,内核 panic 不再发生在上述情况下。
- BZ#879509
- 当使用没有追踪点事件的 perf.data 文件调用 "perf script --gen-script" 命令时,命令会因为 NULL "pevent" 指针而意外终止。在这个版本中,底层源代码已被修改为解决这个问题,因此上述命令不再崩溃。
- BZ#885030
- 从 Open POSIX 测试套件运行 mq_notify/5-1 测试案例会导致内存损坏,之后是各种内核崩溃/BUG 消息。在这个版本中解决了进程间通信代码中 mq_send/receive 内存损坏问题,因此上述测试案例不再失败。
- BZ#841983
- 绑定 master 和 slave 现在有单独的 VLAN 组。因此,如果从属设备出现导致故障转移的网络事件,VLAN 设备可能会错误地处理此事件。在这个版本中,当 VLAN 附加到主设备时,它会忽略从设备生成的事件,以便 VLAN 在绑定 master 前不会停机。
- BZ#836748
- 在以前的版本中,在内核中启动 leap second hrtimer 时,内核可能会在 xtime_lock 变量中进行实时锁定。在这个版本中,使用单独的子系统锁定(timekeeping 和 ntp)并删除 xtime_lock 变量来解决这个问题,从而避免了内核中可能出现的实时锁定场景。
- BZ#836803
- 插入了秒后,调用使用 futexes 的系统调用的应用程序消耗了几乎 100% 的可用 CPU 时间。这是因为内核的时间保持结构更新没有正确更新。futexes 重复过期,被刷新,然后再次过期。在这个版本中,通过调用 clock_was_set_delayed ()函数来正确地更新 futex 过期时间解决了这个问题,这是 clock_was_set ()函数的 interrupt-safe 方法。
- BZ#822691
- 当光纤通道(FC)层将设备设置为"运行"时,层还会扫描其他新设备。在以前的版本中,这两个操作之间存在一个竞争条件。因此,对于某些目标,数以千计的无效设备是由 SCSI 层和 udev 服务创建的。在这个版本中,确保 FC 层总是在扫描其他设备前将设备设置为"在线",从而解决了这个问题。
- BZ#845135
- 某些磁盘设备阵列报告介质错误,而不会返回任何数据。当低级设备驱动程序没有设置可选 residual 字段时,这不会被正确处理,但大多数现代低级别驱动程序确实进行了设置。这个版本可以正确地处理低级别驱动程序没有在上级 sd 驱动程序中设置 residual 字段的情况,从而避免潜在的数据崩溃。
- BZ#890454
- 在这个版本中,恢复了之前应用的补丁,这会导致 qla2xxx 驱动程序无法在 IBM POWER 7 7895-81X 系统上加载。这个补丁也已被隔离,因为动态逻辑分区(DLPAR)内存删除 2 适配器上的故障。
- BZ#841149
- 在以前的版本中,如果内核中启用了动态 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#809792
- 当发送缓冲区耗尽并无限期等待时,流控制传输协议(SCTP)进程在 sctp_wait_for_sndbuf ()函数内变得无响应。这是因为在数据包传输过程中考虑了两倍的数据,一次在构建数据包时被考虑一次,在传输数据包时第二次。因此,可用内存资源比早期使用,从而导致死锁。在这个版本中,只保留一个字节,以确保套接字在数据包的生命周期保留时,SCTP 进程不再挂起。
- BZ#852847
- 如果没有使用 semaphore 的活跃的线程,则阻塞的线程应该会被取消阻塞。在以前的版本中,R/W semaphore 代码会寻找一个 semaphore 计数器作为整体到达零(这不正确),因为至少有一个线程通常在 semaphore 上排队,计数器被标记为反映这一点。因此,当应用程序在 XFS 文件系统中使用直接 I/O 时,系统可能会变得无响应。在这个版本中,只检查活跃 semaphores 的数量,从而防止在这种情况下挂起。
- BZ#861164
- 在 AMD 系统上执行 PCI 设备分配时,使用分配的设备的虚拟机无法引导,因为设备已失败,使设备处于不可用状态。这是因为一个不正确的范围检查,在 PCI 子系统或树中省略了最后一个 PCI 设备。检查已被修复,在 PCI 子系统或树中包含完整的 PCI 设备范围。在这个版本中,当将 PCI 子系统中的最后一个设备分配给 AMD 主机系统中的虚拟机时,避免了虚拟机的引导失败。
- BZ#859533
- mlx4 驱动程序必须对 mlx4 卡进行编程,以便可以解析要侦听的 MAC 地址,包括多播地址。因此,mlx4 卡保留可信 MAC 地址列表。通过清空整个列表并在所有地址中编程,用来对卡上执行此列表的驱动程序。因此,每当用户添加或删除多播地址或将卡置于 promiscuous 模式时,卡的完整地址列表都会被重新编写。这引入了一个竞争条件,当数据包在应该侦听的地址上时导致数据包丢失,但还没有重新编程为侦听。在这个版本中,驱动程序不再重写卡中的可信 MAC 地址的完整列表,但维护当前被编程到卡中的地址列表。在地址上,只有新地址添加到列表的末尾,在删除时,只有 to-be-removed 地址会从列表中删除。mlx4 卡不再遇到描述的竞争条件,数据包在此场景中不再被丢弃。
- BZ#858850
- 用户空间(FUSE)中的文件系统没有最佳实现 scatter-gather 直接 I/O。因此,内核必须处理大量 FUSE 请求,这会影响系统性能。这个版本应用一组补丁,改进了其他功能的内部请求管理,如 readahead。FUSE 直接 I/O 开销显著降低,以最大程度降低系统性能的负面影响。
- BZ#865637
- 以前的内核更新引入了一个程序错误,在使用 0.90 元数据时导致 RAID0 和线性阵列大于 4 TB。底层源代码已被修改,在 md RAID0 中不再截断大于 4 TB 的 0.90 RAID0 和线性阵列。
- BZ#865682
- 使用 Data Integrity Field (DIF)类型 2 保护为设备分配更大的命令描述符块(CDB)。CDB 在 sd_done ()函数中释放,这会导致在某些错误恢复情况下命令需要重试时出现内核 panic。在这个版本中,在 sd_unprep_fn ()函数中会释放更大的 CDB。这可防止内核 panic 发生。
- BZ#857518
- 在以前的版本中,usbhid 代码中的 use-after-free 错误会导致 NULL pointer dereference。排序内核内存损坏会导致内核 panic,并可能导致数据丢失。在这个版本中,添加了一个 NULL 检查以避免这些问题。
- BZ#856325
- 在页表共享和虚拟内存区域(VMA) teardown 之间可能会出现竞争条件。因此,在关闭由巨页支持的内存片段的应用程序时,会显示多个 "bad pmd" 消息警告,并显示 "kernel BUG at mm/filemap.c:129"。在这个版本中,在 i_mmap_lock 下的 unmap_hugepage_range ()调用过程中明确清理 VM_MAYSHARE 标志。这使得 VMA 不符合共享,并避免竞争条件。使用巨页支持的共享片段后,数据库和缓存等应用程序会正确关闭,且没有崩溃。
- BZ#855984
- 通过 blk_execute_rq ()发布 I/O 时,调用 blk_execute_rq_nowait ()例程来执行各种任务。首先,常规检查死队列。但是,如果检测到死队列,则 blk_execute_rq_nowait () 函数不会调用 done ()回调函数。这会导致 blk_execute_rq ()在等待完成后没有响应,这还没有发出。为了避免这样的挂起,在验证队列状态前,会将 rq->end_io 指针初始化到 done ()回调。
- BZ#855759
- 流控制传输协议(SCTP) ipv6 源地址选择逻辑没有考虑的首选源地址。在这个版本中,通过考虑这个方面,从路由表中选择源地址。这会使 SCTP 源地址选择使用 IPv4。
- BZ#855139
- 在某些情况下,系统崩溃可能会导致 XFS 文件系统上的数据丢失。如果在文件系统长时间闲置前马上创建文件,然后系统崩溃,则这些文件可能会在文件系统重新挂载后显示为零长度。即使在文件上运行同步或 fsync,也会发生这种情况。这是因为 XFS 没有正确闲置日志,因此在系统崩溃后,它会错误地重新执行内节点分配事务,这会使文件大小为零。这个问题已通过重新生成定期日志闲置逻辑来确保在 30 秒修改内刷新所有元数据,并更新日志以防止发生不正确的恢复操作。
- BZ#854376
- Mellanox 硬件保留单独的以太网硬件地址列表,具体取决于以太网硬件地址是单播还是多播。在以前的版本中,mlx4 驱动程序会错误地在单播列表中添加多播地址。这会导致在硬件实际侦听请求的地址方面不稳定的行为。在这个版本中,通过将多播地址放在多播列表中,反之亦然来解决这个问题。
- BZ#854140
- 在以前的版本中,因为传输问题和命令超时导致,内核无法区分设备 I/O 失败。I/O 错误总是会导致设备离线设置,且必须手动上线设备,即使因为传输问题导致 I/O 故障发生。在这个版本中,SCSI 驱动程序已被修改,并添加了一个新的 SDEV_TRANSPORT_OFFLINE 状态,以帮助区分另一个 I/O 故障导致的传输问题。现在,传输错误会以不同的方式处理,存储设备现在可以在用户不干预的情况下从这些故障中恢复。
- BZ#854053
- 在之前的 Red Hat Enterprise Linux 版本中,新的 Mellanox 数据包窃取架构被有意从 Red Hat 内核之外。在 Red Hat Enterprise Linux 6.4 中,新的 Mellanox 数据包窃取架构已合并到 Red Hat Mellanox 驱动程序中。缺少合并详情,因此接口上的多播 promiscuous 标志不会在接口重置期间检查,以查看该标志是否在重置之前被重新启用,应在重置后重新启用。在这个版本中解决了这个问题,如果重置适配器,并在重置前设置了 multicast promiscuous 标志,现在会在重置后设置该标志。
- BZ#854052
- 在双端口 Mellanox 硬件中,mlx4 驱动程序正在向正确的端口添加 promiscuous 模式,但在尝试从端口中删除混杂模式时,总是会尝试将其从端口中删除。因此,无法从第二个端口中删除 promiscuous 模式,即使它不是预期的,混合模式也会从端口中删除。在这个版本中,驱动程序可以正确地尝试从端口 2 中删除 promiscuous 模式。
- BZ#853007
- Red Hat Enterprise Linux 6.3 版本提供的内核包括无序内核 ABI (kABI)中断,并涉及"contig_page_data"符号。不幸的是,这种分点不会导致校验和的更改。因此,使用这个符号的驱动程序可能会静默地破坏内核中的内存。在这个版本中,恢复之前的行为。
- BZ#852148
- 如果是常规 CPU 热插拔事件,内核不会保留原始 cpuset 配置,并可将正在运行的任务重新分配到活动的 CPU。在以前的版本中,内核将挂起和恢复模式间切换作为常规 CPU 热插拔事件,这可能会对某些环境中的系统性能造成显著负面影响,如 SMP KVM 虚拟化。当从挂起模式恢复 SMP KVM 客户机时,libvirtd 守护进程及其所有子进程都固定到单个 CPU (引导 CPU),以便所有虚拟机只使用单个 CPU。这个版本应用了一组补丁,以确保内核在挂起和恢复操作过程中不会修改 cpusets。现在,在暂停不降低任何性能的情况下,系统会在挂起前以准确状态恢复。
- BZ#851118
- 在此次更新之前,无法在路由中设置 IPv6 源地址,因为 IPv4 有可能使用 IPv4。在这个版本中,用户可以使用 "ip -6 route" 命令的 "src" 选项为特定 IPv6 路由选择首选源地址。
- BZ#849702
- 在以前的版本中,当服务器试图关闭套接字时,如果整个回复无法传输,则 svc_tcp_sendto () 函数会设置 XPT_CLOSE 变量。但是,在进行 XPT_CLOSE 之前,其他线程可以在套接字真正关闭前发送进一步回复。因此,数据崩溃可能会在 RPC 记录标记中发生。在这个版本中,在关闭套接字上发送操作会立即停止,从而防止这个程序错误。
- BZ#849188
- usb_device_read () 例程使用 bus->root_hub 指针来决定 root hub 是否已注册。但是,这个测试无效,因为指针在 root hub 注册并保持设置前被设置,即使 root hub 被取消注册和取消分配后仍然被保留。因此,usb_device_read ()例程访问空闲的内存,从而导致内核 panic;例如,在 USB 设备删除。在这个版本中,hcs->rh_registered 标志 - 在测试中使用适当时间设置和清除 -,在这种情况下不再发生内核 panic。
- BZ#894344
- BE 系列硬件可能会错误地表示特定平台上的不可恢复的错误(UE),并停止进一步访问基于 be2net 的网络接口卡(NIC)。应用了补丁来禁用停止对 BE 系列网络接口卡(NIC)进一步访问硬件的代码。对于真实的 UE,不需要这样做,因为在这种情况下无法访问相应的硬件块。
- BZ#847838
- 在以前的版本中,存在一个竞争条件,即设备打开可能会导致设备被删除(例如,热删除存储设备时),可能会导致内核 panic。这是因为块设备打开补丁中的 use-after-free 错误已被传递给 module_put ()函数后没有引用 "disk" 指针来解决。
- BZ#869750
- hugetlbfs 文件系统实现在 gather_surplus_pages ()函数中缺少一个正确锁定巨页的保护。因此,hstate.hugepages_freelist 列表被破坏,这会导致内核 panic。在这个版本中,调整代码,以便使用的 spinlock 保护现在保证在处理 hstate.hugepages_freelist 时对 enqueued 巨页的安全保证了原子性和安全。在这种情况下,内核不再 panic。
- BZ#847310
- 对 RXCW.CW 位的不必要的检查可能会导致 Intel e1000e NIC (网络接口控制器)无法正常工作。这个检查已被删除,以便 Intel e1000e NIC 现在可以正常工作。
- BZ#846585
- 如果将镜像或重定向操作配置为使数据包进入另一个设备,则分类器会包含引用计数。但是,之前假设管理员在删除前清理所有重定向。因此,如果镜像的设备不存在,数据包会被丢弃,并可能会丢失到主机的连接。要防止这个问题,在 unregister 操作过程中会运行一个通知程序和清理程序。如果镜像的设备不存在,则不会丢弃数据包。
- BZ#846419
- 在以前的版本中,it_usb_3410_5052 内核模块的版本 0.9 不支持 MultiTech MT9234MU USB 串行设备。有了这个更新,此版本支持 MultiTech MT9234MU USB 串行设备。
- BZ#846024
- 在以前的版本中,当检测到 Intel Enhanced Host Controller Interface (EHCI)设备时,I/O watchdog 功能会被禁用。这可能会导致在添加或删除后对 USB 设备进行错误检测。另外,在某些情况下,即使检测到这样的设备,但它们无法正常工作。I/O watchdog 功能现在可以在内核命令行中启用,这可以提高底层系统上的硬件检测。
- BZ#845347
- 使用 be2net 驱动程序时可能会出现内核 panic。这是因为,即使 Interrupt ReQuest (IRQ)已被禁用,BF 也会启用 Bottom Half (BF)。在这个版本中,BF 在 be_process_mcc ()函数的调用者中被禁用,且内核不再在此场景中崩溃。请注意,在某些情况下,在安装此更新后可能会遇到网卡没有响应的情况。将来的更新将更正此问题。
- BZ#844814
- 当只有数据(而不是文件大小)被写入系统调用的结果时,这个问题会影响 GFS2 上的 O_DSYNC 性能。在此补丁之前,O_DSYNC 写入的行为与所有情况的 O_SYNC 相同。此补丁后,O_DSYNC 写入只有在内节点的元数据不是脏状态时,才会写入数据。这对这个特定问题单的性能有显著改进。请注意,此问题不会影响数据完整性。同样的问题也适用于写入和 fdatasync 调用的对。
- BZ#844531
- 在以前的版本中,cgroup 或其层次结构只能在 cgroup_mutex master 锁定下修改。这引进了对 cgroup_mutex 的 cred_guard_mutex 的锁定依赖项,并完成了循环依赖项,涉及 cgroup_mutex、namespace_sem 和 workqueue,并导致死锁。因此,很多进程都没有响应,系统最终可能会不可用。这个更新引入了一个新的 mutex cgroup_root_mutex,它保护 cgroup root 修改,现在被挂载选项读取器而不是主锁使用。这会破坏环形依赖项,并避免死锁。
- BZ#843771
- 在具有 64 位 cputime_t 类型的架构中,可以在长期进程中触发 "divide by zero" 错误。补丁已被应用于解决这个问题,在这些情况下不再会出现 "divide by zero" 错误。
- BZ#843541
- 内核允许高优先级实时任务,如使用 SCHED_FIFO 策略调度的任务,以便节流。在以前的版本中,CPU 停止任务被调度为高优先级的实时任务,因此可以相应地节流。但是,代表代表清除任务节流标记的 replenishment 计时器可能会在刚刚禁用的 CPU 上处于等待状态。这可能会导致严重的任务从不会调度运行。因此,如果需要执行任何此类任务来完成 CPU 禁用,系统会变得无响应。在这个版本中,引入了一个新的调度程序类,它为任务赋予最高可能的系统优先级,因此无法节流任务。stop-task 调度类现在用于 CPU 停止任务,系统关闭在描述的场景中按预期完成。
- BZ#843163
- 以前,NIC 的套接字缓冲区(SKB)分配是节点感知的,即,内存在最接近 NIC 的节点上分配。这提高了系统性能,因为所有 DMA 传输都是在本地处理的。对于具有较低帧传输率的网络来说,这是很好的解决方案,其中本地节点的 CPU 可以正确处理单个 NIC 的所有流量。但是,在使用 10Gb 以太网设备时,一个节点的 CPU 通常无法有效地处理单个 NIC 的所有流量。因此,即使 DMA 传输是由节点本地到 NIC 的处理,系统性能不佳。这个版本修改了内核,允许在运行接收流量的应用程序的节点上分配 SKB。这样可确保 NIC 的流量根据需要由许多 CPU 处理,并且因为分配后 SKB 非常频繁地访问,因此内核现在可以更有效地操作,即使可以跨节点传输 DMA。
- BZ#872813
- Bug 768304 在 super block umount mutex 中引入了死锁。因此,当两个进程同时尝试挂载 NFS 文件系统时,它们会阻断。这是因为 bug 768304 的补丁之一的向后移植错误,这会导致 mutex aquires 和 release 之间的不平衡。不只是修复 imbalance,而不是修复问题补丁依赖的上游补丁,并向后移植,以便内核代码与上游代码匹配。在这种情况下,死锁 不再发生。
- BZ#842881
- 由于删除了 USB 设备后,会出现内核 oops,因为存在 NULL pointer dereference。NULL pointer dereference 已被修复,内核在此场景中不再崩溃。
- BZ#842435
- 当 NFSv4 客户端收到读取委托时,会发生 OPEN 和 DELEGRETURN 操作之间的竞争。如果先处理 DELEGRETURN 操作,则 NFSv4 客户端将以下 OPEN 返回的委派视为新的委派。另外,NFSv4 客户端无法正确处理由使用错误或撤销状态 ID 的请求导致的错误。因此,在客户端上运行的应用程序可能会收到错误的 EIO 错误。这个版本应用一系列补丁来修复 NFSv4 代码,以便在上述情况下正确恢复 NFSv4 客户端,而不是向应用程序返回错误。
- BZ#842312
- 由于缺少返回语句,nfs_attr_use_mounted_on_file ()函数返回错误的值。因此,可能会返回冗余 ESTALE 错误。在这个版本中,为 nfs_attr_use_mounted_on_file ()添加正确的返回语句,从而防止这个错误。请注意,这个程序错误只会影响 NFSv4 文件系统。
- BZ#841987
- 在以前的版本中,即使函数包含禁用的软 IRQs,在 bond_alb_xmit () 函数下软中断请求(IRQ)也会被锁住。这可能导致系统变得无响应,或意外终止。在这个版本中,这些 IRQ 不再被禁用,系统在这种情况下不再挂起或崩溃。
- BZ#873949
- 在以前的版本中,IP over Infiniband (IPoIB)驱动程序通过将其附加到核心网络的邻居结构来维护有关网络上邻居的状态信息。但是,由于核心网络邻居结构空闲和 IPoIB 网络结构的空闲条件之间的竞争条件,因此发生在空闲条件后可能会发生使用,从而导致内核 oops 或 4 或 8 字节的内核内存在不应为零时为零。这些补丁使 IPoIB 邻居结构与核心网络堆栈的邻居结构分离,因此没有相互释放的空闲和释放之间的竞争。
- BZ#874322
- 在以前的版本中,在某些情况下,XFS 可能会错误地在 XFS 日志恢复过程中从日志中读取元数据。因此,XFS 日志恢复终止并显示出错信息,并阻止挂载文件系统。如果用户强制"零"日志,则可能会出现数据丢失,以允许挂载文件系统。在这个版本中,确保从日志中正确读取元数据,以便日志恢复可以成功完成,文件系统挂载如预期。
- BZ#748827
- 如果一个脏的 GFS2 内节点已被删除,但被另一个节点使用,则在 GFS2 检查 gfs2_ail_flush ()函数中的脏缓冲区前不会写入其元数据。GFS2 依赖于 inode_go_sync () 函数在其他节点试图释放该文件时写入元数据。但是,这永远不会发生,因为 GFS2 失败了错误检查。在这个版本中,在调用 gfs2_ail_flush ()函数前写入内节点。如果进程设置了 PF_MEMALLOC 标志,它不会启动新的事务以在写入内节点时更新访问时间。索引节点标记为脏,以确保以后更新访问时间,除非 inode 被释放。
- BZ#839973
- 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#839311
- 之前在 ipw2200 驱动程序的 KConfig 中定义的 CONFIG_CFG80211_WEXT 配置选项已使用最近更新删除。这会导致驱动程序的构建失败。驱动程序不再依赖于 CONFIG_CFG80211_WEXT 选项,因此可以成功构建。
- BZ#875036
- mmap_rnd ()函数应该返回 [0x00000000 .32 位 x86 系统上 0x000FF000] 范围。这个行为用于通过解决 CVE-2012-1568 问题的 bug 修复来随机化共享库的基本负载地址。但是,由于签名 bug,mmap_rnd ()函数可能会返回超出预期范围的值。因此,共享库基本地址可能小于一兆字节。这可能导致在进程地址空间(通常使用 vm86 功能的程序)中的 MAP_FIXED 映射的二进制文件无法正常工作。在这个版本中,将 mmap_rnd () 函数修改为 get_random_int ()函数返回的值到长数据类型。现在,上述二进制文件在此场景中可以正常工作。
- BZ#837607
- 由于 dm-mirror 驱动程序中的错误,当在带有丢弃支持(通常是 SSD 磁盘)的磁盘上使用 LVM 镜像时,修复此类磁盘会导致系统意外终止。驱动程序中的错误已被修复,使用 discard 支持修复磁盘现在可以成功。
- BZ#837230
- 在 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#875091
- 在以前的版本中,HP Smart Array 驱动程序(hpsa)使用 target reset 功能。但是,HP Smart Array 逻辑驱动器不支持目标重置功能。因此,如果目标重置失败,逻辑驱动器会离线,并显示文件系统错误。hpsa 驱动程序已更新为使用 LUN 重置功能而不是目标重置,这些驱动器支持这个驱动器。
- BZ#765665
- n_tty_read ()和 reset_buffer_flags () 函数之间可能的竞争可能会导致在某些情况下 n_tty_read ()函数中的 NULL pointer dereference 导致 NULL pointer dereference。因此,在串行控制台上中断当前任务时,可能会触发内核 panic。这个版本修改了 tty 驱动程序,以使用 spin 锁定以防止功能并行访问变量。NULL pointer dereference 导致内核 panic 不再发生。
- BZ#769045
- 到 NFS 服务器的流量可以在 svc_tcp_clear_pages ()函数中触发内核 oops。源代码已被修改,在这种情况下,内核 oops 不再发生。
- BZ#836164
- 在以前的版本中,在从设备添加和删除绑定路径中引用计数是不平衡的。如果网络接口控制器(NIC)不支持 NETIF_F_HW_VLAN_FILTER 标志,则 bond_add_vlans_on_slave ()和 bond_del_vlans_on_slave ()功能无法正常工作,如果删除了 VLAN 模块,这可能会导致内核 panic。添加和删除从属和 VLAN 的基本源代码已被修改,现在还包含一个通用路径,因此上面描述的场景中不再发生内核崩溃。
- BZ#834764
- 添加 VLAN 标识符(VID)的绑定方法并不总是将 VID 添加到从属 VLAN 组中。当从上没有设置 NETIF_HW_VLAN_FILTER 标志时,绑定模块无法向其添加新的 VID。这可能会导致网络问题和系统无法访问,即使 NIC 信息没有显示任何问题。在这个版本中,绑定 VID 添加路径总是向从设备添加新的 VID (如果 VID 不存在)。这样可确保在此场景中不再发生网络问题。
- BZ#783322
- 在以前的版本中,在崩溃后,准备切换到 kdump 内核可能会在罕见的情况下与 IRQ 迁移竞争,从而导致 ioapic_lock 变量死锁。因此,kdump 变得无响应。竞争条件已被修复,切换到 kdump 不再会导致在这种情况下挂起。
- BZ#834038
- 在以前的版本中,对只读(RO)内存映射的 futex 操作无法正常工作。这会破坏在只读共享文件映射中的一个或多个读取程序执行 FUTEX_WAIT 操作的工作负载,以及执行 FUTEX_WAKE 操作的可写映射的写器进程。在这个版本中,FUTEX_WAKE 操作使用 RO MAP_PRIVATE 映射执行,如果另一个进程更新底层映射文件的区域,则成功执行。
- BZ#833098
- 当设备注册到总线时,设备添加到总线的设备列表之间可能会出现竞争条件,并将设备绑定到驱动程序。因此,该设备可能会绑定到一个驱动程序,这会导致警告和不正确的引用计数,因此在删除设备时出现内核 panic。为避免争用情况,这个更新会添加一个检查来识别已经绑定的设备。
- BZ#832135
- 有时,由于通知机制不正确,加密分配代码可能会变得无响应 60 秒或多个。这可能导致应用程序(如 openswan)变得无响应。改进了通知机制,以避免此类挂起。
- BZ#832009
- 当设备在运行时添加到系统时,AMD IOMMU 驱动程序会初始化必要的数据结构,以处理它的转换。在以前的版本中,每个设备 dma_ops 结构类型没有改为指向 AMD IOMMU 驱动程序,因此没有执行映射,并使用 IO_PAGE_FAULT 消息终止的直接内存访问(DMA)。因此,这会导致网络问题。在这个版本中,结构类型可以正确地指向 AMD IOMMU 驱动程序,在使用 AMD IOMMU 驱动程序时网络可以正常工作。
- BZ#830716
- 可以在多个传输上接收数据。但是,在从未收到任何数据的传输中可能会有选择地确认数据(SACKed)。这符合 RFC 2960 标准在 6.4 部分中的 SHOULD 要求。为遵守此标准,SACK 操作的捆绑性仅限于那些自上次攻击以来已移动关联行为的传输。因此,只有自最后一个 SACK 后收到块的出站 SACK 会被捆绑。
- BZ#830209
- 在 ext4 文件系统上,由于大于 4 GB 的 ENOSPC 条件(没有剩余空间),则文件的大小已损坏,因此会导致文件系统损坏。这是因为 "ext4_fallocate ()" 函数中缺少 cast 运算符。在这个版本中,底层源代码已被修改来解决这个问题,文件系统崩溃不再发生。
- BZ#829739
- 在以前的版本中,在使用 QLogic QLA2xxx 驱动程序的 Fibre Channel 主机上,用户在光纤错误过程中遇到错误消息和长时间 I/O 中断。这是因为未完成的请求数被硬编码。在这个版本中,驱动程序跟踪的未处理请求数量取决于可用资源,而不是硬编码,这样可避免上述问题。
- BZ#829211
- 在以前的版本中,在文件名中引入了新 Realtek 芯片组所需的固件文件("rtl_nic_nic_"),如 "/lib/firmware/rtl_nic/rtl_nic_rtl8168d-1.fw"。在这个版本中修正了这些文件名。例如,上述文件现在正确命名为 "/lib/firmware/rtl_nic/rtl8168d-1.fw"。
- BZ#829149
- 由于处理死的输入/输出控制器(IOC)不足,mpt2sas 驱动程序可能会在 64 位 IBM PowerPC 机器上对某些 PCI 总线故障进行增强的 I/O 错误处理(EEH)恢复。在这个版本中,当检测到死的 IOC 时,EEH 恢复例程有更多时间来解决失败,并且处于非运行状态的控制器会被删除。
- BZ#828271
- 来自用户空间的 USB 请求块(URB)不允许传输缓冲区大于任意最大值。这可能会导致各种问题,例如,尝试重定向某些 USB mass-storage 设备可能会失败。为避免此类问题,现在允许程序提交任何大小的 URB;如果没有足够的连续内存可用,则提交会失败,并显示 ENOMEM 错误。另外,为了避免程序提交大量小型 URB,因此使用所有 DMA 内核内存,这个更新也会将单个传输缓冲区的旧限制替换为 USB 文件系统(usbfs)使用的总内存的单个全局限制 16MB。
- BZ#828065
- 由于软件 RAID 代码中锁定方案不正确,可能会出现竞争条件。因此,这可能会导致 mkfs 工具在软件 RAID5 上创建 ext4 文件系统时变得无响应。在这个版本中,在 handle_stripe () 函数中引入了一个锁定方案,可确保不再发生竞争条件。
- BZ#826375
- 在以前的版本中,使用 e1000e 驱动程序可能会导致内核 panic。这是因为在适配器关闭并同时重置时发生的 NULL pointer dereference。驱动程序的源代码已被修改来解决这个问题,内核不会在此场景中崩溃。
- BZ#878204
- 当创建新的 rpc_task 时,代码会引用 rpc_cred,并将 task->tk_cred 指针设置为它。调用完成后,rpc_task 保存的资源会被释放。但是,在发布了 rpc_cred 后,指向它的指针不会为零。这会导致flow 下的 rpc_cred 引用计数,因此出现内核 panic。在这个版本中,指向 rpc_cred 的指针被正确为零,这可以防止在这个场景中出现内核 panic。
- BZ#823822
- 删除绑定模块时,绑定驱动程序使用独立于 net 设备操作的代码来清理 VLAN 代码。最近对内核的更改引入了一个程序错误,如果删除了 bonding 模块后删除了 vlan 模块,则会导致内核 panic。要解决这个问题,在 bonding kill_vid 路径中找到的 VLAN 组删除操作现在会在删除绑定模块时使用的备用路径中重复。
- BZ#823371
- 当在带有多个 TX 环的 Broadcom BCM5719 网络接口控制器(NIC)上使用 TCP 段卸载(TSO)或巨型数据包时,这些 TX 环中的简单循环硬件调度可能会耗尽小型数据包,从而降低网络性能。为确保所有 NIC 的合理的网络性能,现在默认禁用多个 TX 环。
- BZ#822651
- 在以前的版本中,虚拟处理器的默认最小授权容量为 10%。这个版本更改了 PowerPC 架构向量,以支持较低最小虚拟处理器容量 1%。
- BZ#821374
- 在 PowerPC 构架中,"top"工具为 CPU 空闲时间、延迟和工作负载显示不正确的值。这是因为之前在 I/O 等待和空闲时间使用的更新导致,但更改不会考虑不同的单元和 CPU 时间。现在,这些区别被考虑,"top"工具在 PowerPC 构架上会显示正确的值。
- BZ#818172
- writeback livelock 避免方案中的一个错误可能会导致一些脏数据在同步操作期间不会被写入磁盘。特别是,这偶尔可能会在卸载时发生,当之前写入的文件数据没有同步时,在文件系统被重新挂载后不可用。补丁已应用于解决这个问题,所有脏文件数据现在在卸载时同步到磁盘。
- BZ#807704
- 在以前的版本中,绑定到 NFS 服务器的 TCP 套接字包含过时的 skb_hints 套接字缓冲。因此,内核可能会意外终止。现在,提供了一个补丁来解决这个问题,可以从套接字正确清除 skb_hints,从而防止这个错误。
- BZ#814877
- 在以前的版本中,bnx2x 设备没有禁用大量 RX 错误和超额运行的链接,这些链接仍然可以被检测到为 active。这导致绑定驱动程序无法切换到工作的链接。在这个版本中,恢复了 remote-fault 检测,它会定期检查 MAC 层中的远程错误。如果物理链接显示为启动但发生错误,则禁用链接。在错误被清除后,链接将再次激活。
- BZ#813137
- 由于 XFS 文件系统中出现 xfsaild "idle" 模式而导致 xfsaild "idle" 模式导致definite 日志保留挂起的各种竞争条件。这可能会导致某些任务变得无响应,例如,cp 工具可能会在繁重的工作负载中变得无响应。这个版本改进了 Active Item List (AIL)推送 xfsaild 中的逻辑。另外,日志保留算法和与 xfsaild 的交互已被改进。因此,在这种情况下不再会出现上述问题。
- BZ#811255
- 当内存 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#812904
- 这个更新将 2GB ATA Flash 磁盘设备的 ADMA428M 修订列入黑名单。这是因为在使用 Ultra-DMA 66 传输模式时在上述设备上发生数据崩溃。当设置了 "libata.force=5:pio0,6:pio0" 内核参数时,上述设备可以正常工作。
- BZ#814044
- 对于某些交换机对等点和固件,因为处理 DCBX (数据中心桥接交换)的方式,可能会发生过量链接 flaps。要防止链接 flaps,进行了更改以便更详细地检查功能,只有在功能已更改时才会初始化硬件。
- BZ#865115
- 如果中止请求超时到虚拟光纤通道适配器,则 ibmvfc 驱动程序将启动适配器的重置。但是,ibmvfc 驱动程序错误地将成功返回到 eh_abort 处理程序,然后向同一命令发送响应,这会导致 IBM System p 机器的内核 oops。在这个版本中,确保在退出 en_abort 处理程序前,中止请求和被中止的请求都已完成,且在这种情况下不再发生内核 oops。
- BZ#855906
- 当块设备大小改变并同时发出 I/O 操作时,会出现内核 panic。这是因为直接和非直接 I/O 代码编写为假设块大小不会改变。这个更新引入了一个新的读写锁定 bd_block_size_semaphore。锁定在 I/O 操作期间进行读取,并在更改设备的块大小时写入。因此,在提交 I/O 时无法更改块大小。这可防止内核在上述场景中崩溃。
- BZ#883643
- 以前,绑定驱动程序不符合底层网络接口请求的数据包和片段的最大通用分段卸载(GSO)长度。这会导致底层 NIC 的固件(如 be2net)变得无响应。在这个版本中,修改绑定驱动程序,在附加和分离设备时设置网络设备的最低 gso_max_size 和 gso_max_segs 值。网络驱动程序不再挂起,网络流量现在会使用绑定接口在设置中按预期进行。
- BZ#855131
- 在带有大型区的光纤通道结构中,在传入的扩展链接服务(ELS)帧和任何适配器恢复上自动端口重新扫描可能会导致高流量,特别是许多 Linux 实例共享主机总线适配器(HBA),这在 IBM System z 架构上常见。这可能会导致各种故障,例如:名称服务器请求、端口或适配器恢复可能会失败。在这个版本中,只有在在线设置适配器或手动用户触发的写操作到 sysfs 属性 "port_rescan" 时,才会重新扫描端口。
- BZ#824964
- 在 dlm_controld 守护进程通过 configfs 文件系统与 dlm_send 进程查找 configfs 中的新连接的地址之间有时会出现死锁。在这个版本中,节点地址保存在 lowcomms 代码中,以便低comms 工作队列不需要使用 configfs 获取节点地址。
- BZ#827031
- 在带有暂停循环退出(PLE)或带有暂停过滤(PF)的 AMD 系统中,大型多 CPU KVM 客户机可能会遇到缓慢和软锁定。由于 kvm_vcpu_on_spin 中的边界条件,所有 VCPU 数都可能会尝试生成 VCPU0,导致运行客户机的 VCPU0 的运行队列锁定上争用。这个版本消除了 kvm_vcpu_on_spin 中的边界条件。
- BZ#796352
- 在 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#832575
- 在以前的版本中,桥接的多播 IGMP (互联网组管理协议)侦听哈希表的大小限制为 256 个条目,即使最大值为 512。这是因为,哈希表大小被错误地与最大散列表大小( hash_max)进行比较,且内核可能生成以下信息:
Multicast hash table maximum reached, disabling snooping: vnet1, 512
在这个版本中,hash table 值会被正确与 hash_max 值进行比较,在这些情况下不再会出现错误消息。 - BZ#834185
- xmit 数据包大小之前是 64K,超过 be2net 卡的硬件功能,因为大小没有考虑以太网标头。因此,适配器无法处理超过这个大小的 xmit 请求,从而导致错误信息,并可能会变得无响应。为防止这些问题,GSO (Generic Segmentation Offload)最大大小已减小到以太网标头。
- BZ#835797
- 在某些情况下,未签名的值比较可能会导致调用超级的 reshed_task () 例程,从而导致调度程序中的多个不必要的周期。这个问题已被解决,防止调度程序中的不必要的周期。
- BZ#838025
- 当使用通过主系统网桥配置的 netconsole 模块的虚拟化时,guest 无法添加到网桥,因为TAP 接口不支持 netpoll。在这个版本中,增加了对 TUN/TAP 接口的 netpoll 的支持,以便虚拟化设置中的网桥设备可以使用 netconsole。
- BZ#838640
- 在 ext4 文件系统中,在使用直接 I/O 时分割不写扩展可能无法将修改的扩展标记为脏,从而导致多个扩展声明来映射同一块。这可能会导致内核或 fsck 报告错误,因为在特定内节点中检测到多声明的块。在用于直接 I/O 的 ext4_split_unwritten_extents ()函数中,包含修改的扩展的缓冲现在在所有情况下都被正确标记为 dirty。由于内节点中的多声明块错误,应该不再为使用直接 I/O 的应用程序发生。
- BZ#839266
- 当 netconsole 模块通过网桥配置并且执行 "service network restart" 命令时,可能会出现死锁,从而导致内核 panic。这是因为在网络接口取消注册期间由网桥和 netconsole 代码递归 rtnl 锁定所致。在这个版本中,rtnl 锁定用量已被修复,内核不会在此场景中崩溃。
- BZ#756044
- 将支持 VMX "Unrestricted Guest" 功能的 Intel 主机迁移到没有这个功能的旧主机可能会导致 kvm 返回实际模式下客户机的 "unhandled exit 80000021" 错误。底层源代码已被修改,以便在禁用或不支持"Unrestricted Guest"的主机上成功完成。
- BZ#843849
- 内核包含将直接内存访问(DMA)模式列入黑名单"2GB ATA Flash Disk"设备的规则。但是,这个设备 ID 字符串不包含在名称开头的空格。因此,该规则无法与设备匹配,且无法禁用 DMA 模式。在这个版本中,字符串可以正确地读取 " 2GB ATA Flash Disk",规则可以如预期匹配。
功能增强
- BZ#872799
- 当 ip_options 结构使用 kmalloc ()函数直接分配 ip_options 结构时,INET 套接字接口已被修改来发送警告信息。
- BZ#823010
- z90crypt 设备驱动程序已更新,以支持新的 Crypto Express 4 (CEX4)适配器卡。
- BZ#586028
- 在这个版本中,增加了在 KVM 下使用 InfiniBand 的 Queue Pair (QP)接口的功能。QP 接口可以导出到 KVM 客户机。
- BZ#795598
- 在这个版本中,可以根据每个路由使用 "initrwnd" iproute 设置来调整 TCP 初始接收窗口。
- BZ#831623
- 添加了一个新的 "route_localnet" 接口选项,该选项可在 127.0.0.0/8 块中启用地址路由。
- BZ#847998
- 在这个版本中,当存储设备报告特定的 SCSI 单元配置代码时,会记录警告信息。
7.103.12. RHSA-2013:0830 - Important: 内核安全更新
安全修复
- CVE-2013-2094, 重要
- 它发现,Red Hat Enterprise Linux 6.1 内核更新(RHSA-2011:0542)在 Linux 内核的性能事件实现中引入了一个整数转换问题。这会导致用户提供的索引进入 perf_swevent_enabled 数组没有被正确验证,从而导致无限内核内存访问。本地非特权用户可能会使用此缺陷来升级其特权。
7.103.13. RHSA-2013:0567 - Important: 内核安全更新
安全修复
- CVE-2013-0871, Important
- 在 Linux 内核的 ptrace 实现中发现了一个竞争条件,当 debuggee 因 SIGKILL 信号而不是停止而处理 PTRACE_SETREGS 请求的方式。本地非特权用户可能会使用此缺陷来升级其特权。
7.103.14. RHBA-2013:0093 - 内核程序漏洞修复更新
程序错误修复
- BZ#1012275
- 内核的内存管理代码中的一个错误允许回调例程在从
/proc/<pid>/pagemap
文件中读取时调用find_vma()
功能,而无需获取内存映射 semaphore。这可能会触发内核 panic,或导致另一个系统失败。现在,应用了一组补丁来解决这个问题,以便在进入内存页面映射时保留内存映射 semaphore。另外,这个更新修复了在内存页面之间超过页面中级别的目录(PMD)边界的错误,这可能会导致各种问题。内存管理代码现在可以按预期处理内存页面映射的读取。 - BZ#1021813
- 由于最近一次修复导致在尝试覆盖活跃
XFS
日志时死锁,所以xfs_log_need_covered()
功能的行为已更改。但是,还调用xfs_log_need_covered()
以确保XFS
日志尾部作为XFS
日志同步操作的一部分正确更新。因此,在关闭XFS
文件系统时,同步操作会失败,一些文件可能已经丢失。应用了补丁,以通过将 dummy 记录记录到 XFS 日志来确保更新XFS
日志的尾部。同步操作成功完成,在这种情况下,文件会被正确写入磁盘。 - BZ#1026622
- 当 Wacom Intuous 4 平板电脑使用 GNOME 连接到系统时,并在打开输入设备前写入 LED 控制时,可能会触发将平板电脑设置为不正确的模式的错误。因此,在热插拔平板电脑或登录到系统后,Wacom Intuous 4 平板电脑可能会正常停止工作,并且不再被 Wacom 控制面板检测到。应用了补丁来修复这个问题,方法是在
wacom_get_report()
功能中将 get 请求标记为输入请求。现在,在上述场景中,Wacom Intuous 4 平板电脑可以正常工作。 - BZ#1028171
- 在早期内核版本中引入的更改会导致
d_mountpoint()
功能返回与以前不同的值,但函数的语义保持不变。因此,某些第三方内核模块(如 Veritas 文件系统(VxFS
)模块)可能会停止正常工作。应用了补丁,确保d_mountpoint()
功能返回预期值。 - BZ#1029091
- stripe_width 是条带设备长度,由条带的数量划分。但是,之前没有正确计算 stripe_width。因此,之前与条带目标正常工作的设备拓扑不再被视为有效。特别是,如果其中一个条带设备有 4K 逻辑块大小,则遇到此问题的风险较高。因此,可能会显示以下出错信息:
device-mapper: table: 253:4: len=21845 not aligned to h/w logical block size 4096 of dm-1
在这个版本中解决了 stripe_width 计算错误,设备拓扑在此场景中可以正常工作。 - BZ#1029425
- 内核的线程帮助程序之前使用了请求线程的许可证,而无需保存参考计数。如果在请求线程退出后帮助程序线程完成,这可能会导致 NULL pointer dereference 和后续内核 panic。在这个版本中,帮助程序线程在请求线程上包含引用计数,以便避免 NULL pointer dereference。
- BZ#1029731
- 当打印系统上带有非常大的 SCSI 设备(超过 SCSI 设备的 1600)的信息时,会发生间歇性页面分配错误,而 cat
/proc/scsi/scsi
命令会失败,并显示 ENOMEM 错误。这是因为显示例程会迭代所有 SCSI 设备,并尝试同时将所有它们的信息转储到缓冲区中。这个版本修改了 SCSI 驱动程序,以定义其自身 seq_file 操作来迭代 SCSI 设备。因此,每个show()
操作只一次将大约 180 字节转储到缓冲区中,且不再发生错误。 - BZ#1029860
- 在高内存压力下,
shrink_zone()
功能可以在不回收甚至扫描任何页面的情况下完成迭代,在这种情况下,它应该放弃。后者是通过将 sc->nr_scanned 指针与shrink_zone()
开始处的快照进行比较,而不是在迭代开始时检测到。这意味着,如果shrink_zone()
在一次迭代中扫描了一些页面,则shrink_zone()
可能会进入 indefinite 循环,但会因为内存压力而在后续迭代中失败。应用了补丁来修复这个错误,从而防止 indefinite 循环。 - BZ#1029904
- 由于 SELinux Makefile 中的一个错误,当指定了 a
-j
选项来执行使用多个并行作业的编译时,内核编译可能会失败。这是因为 SELinux 预期在编译某些依赖文件之前自动生成的文件flask.h
。Makefile 已被修正,flask.h
依赖项现在应用到selinux-y
列表中的所有对象。现在,内核的并行编译会如预期成功。 - BZ#1030169
- NFSv4 代码中的以前更改会导致同步 NFSv4 挂载选项中断。应用了补丁来恢复 sync 挂载选项的功能。
- BZ#1032160
- 当在大量碎片的
GFS2
文件系统中执行 I/O 操作时,可能会发生显著的性能下降。这是因为 GFS2 用来搜索所有可用资源组中可用块的理想块的分配策略造成的。在出现大量碎片时,应用了一系列补丁来提高 GFS2 文件系统的性能。现在,如果满足最低要求,GFS2 会分配资源组中发现的最大扩展。当多块保留时,GFS2 还减少了对位映射的搜索量,方法是跟踪在给定资源组中多块保留失败的最小扩展。这通过避免不必要的资源组自由搜索会导致 GFS2 性能提高。另外,这个补丁系列修复了 GFS2 块分配代码中的一个错误,当资源组的保留树中没有正确从资源组保留树中删除,这最终会因为保留块的计数而触发 BUG_ON ()宏。 - BZ#1032165
- 对于内核,较早的补丁为 QLogic 的 qla2xxx 驱动程序添加了动态队列深度节流功能,允许驱动程序调整附加的 SCSI 设备的队列深度。但是,当某些环境中启用了此功能时,内核可能会崩溃,比如在安装了大量 I/O 负载的 EMC PowerPath 多路径的系统中。要解决这个问题,动态队列深度节流功能已从 qla2xxx 驱动程序中删除。
- BZ#1032248
- 由于最近一次修复导致在尝试覆盖活跃
XFS
日志时死锁,所以xfs_log_need_covered()
功能的行为已更改。但是,还调用xfs_log_need_covered()
以确保 XFS 日志尾部作为 XFS 日志同步操作的一部分正确更新。因此,在关闭 XFS 文件系统时,同步操作会失败,一些文件可能已经丢失。应用了补丁,以通过将 dummy 记录记录到 XFS 日志来确保更新 XFS 日志的尾部。同步操作成功完成,在这种情况下,文件会被正确写入磁盘。 - BZ#1032394
- 由于 mlx4 驱动程序中的一个错误,在调整其传输(Tx)或 Reception (Rx)环时,Mellanox 以太网卡会被意外下降。现在,应用了补丁,当设置了 Tx 或 Rx 环时,mlx4 驱动程序可以正确地验证以太网卡的状态,从而解决这个问题。
- BZ#1036775
- 在 Broadcom 5717 及更新的设备的探测操作过程中,tg3 驱动程序会错误地将设备切换到低电源模式。因此,某些设备插槽上的一些端口不能被识别。在这个版本中,当探测上述设备时,tg3 驱动程序不再恢复低电源模式。
- BZ#1038934
- 某些存储设备或存储环境失败可能会导致所有 SCSI 命令和任务管理功能发送到 SCSI 目标超时,而不会出现任何其他指示错误。因此,Linux SCSI 错误处理代码停止在整个主机总线适配器(HBA)上发出任何 I/O 操作,直到恢复操作完成为止。另外,在使用 DM 多路径时,I/O 操作不会切换到工作路径。要解决这个问题,在 SCSI 主机对象中添加了一个新的
sysfs
参数eh_deadline
。这个参数允许在重置整个 HBA 适配器前设置 SCSI 错误处理尝试执行错误恢复的最长时间。这个超时被默认禁用。可以使用eh_deadline
参数为系统中的所有 SCSI HBA 适配器重置此超时的默认值。如果正确使用eh_deadline
,则上面描述的场景不再发生。 - BZ#1040825
- 由于 IPv6 代码中有几个错误,当缓存的 IPv6 目标条目数量达到一个高流量路由器时,可能会发生软锁定。应用了一系列补丁来解决这个问题。这些补丁可确保异步执行路由探测,以防止出现垃圾回收的死锁。另外,垃圾收集器现在异步运行,防止同时请求垃圾收集器的 CPU 等待所有其他 CPU 完成垃圾回收。因此,在上述情况下,软锁定不再发生。
- BZ#1042733
- 如果在第一个 RPC 传输完成前超时,RPC 客户端总是重新传输页面数据的零复制。但是,如果使用 O_DIRECT 缓冲和对应的 TCP 套接字仍然被引用时,则重新传输可能会导致数据崩溃。要防止数据崩溃,重新传输 RPC 调用是,使用
sendmsg()
功能执行。sendmsg()
功能重新传输第一个 RPC 传输,因为 TCP 套接字包含页面数据的完整副本。
7.104. kexec-tools
/sbin/kexec
二进制文件和组成内核 kexec 功能的用户空间组件的辅助工具。
程序错误修复
- BZ#628610
- 启动 kdump 服务时,kdump 始终在当前块设备上验证以下供应商模型属性:"/sys/block/vda/device/model", "/sys/block/vda/device/rev" 和 "/sys/block/vda/device/type"。但是,virtio 块设备不会向 sysfs 提供这些属性,因此如果测试了这样的设备,会显示以下出错信息:
cat: /sys/block/vda/device/model: No such file or directory cat: /sys/block/vda/device/type: No such file or directory
如果块设备没有提供上述 sysfs 属性,则这个更新会将底层代码修改为 restrain kdump。 - BZ#770000
- 在以前的版本中,如果第一个内核中启用了内存气球功能,则 kdump 内核中包含了 virtio balloon 驱动程序,这会导致大量内存消耗。因此,kdump 可能会因为内存不足(OOM)错误而失败,且 vmcore 文件无法保存。在这个版本中,virtio_balloon 内核模块不再加载到第二个内核中,以便 OOM 失败不再阻止 kdump 捕获 vmcore。
- BZ#788253
- 在以前的版本中,microde.ko 模块包含在 kdump 内核中,但 kdump initrd 中不包含相关的固件。因此,kdump 内核会在载入下一个模块前等待 60 秒超时过期。这个版本修改了 kdump,从第二个内核中排除 microcode 驱动程序,以便 kdump 内核不再意外等待,并按预期加载内核模块。
- BZ#813354
- kdump.conf (5)手册页没有记录 kdump 支持哪些文件系统类型。因此,用户可以在 kdump.conf 文件中指定不支持的文件系统类型选项,如 "auto"。这会导致在用户预期成功时无法启动 kdump 服务。在这个版本中,所有支持的文件系统类型都在 kdump.conf (5) man page 中明确列出。
- BZ#816467
- 当将 kdump 配置为在不需要密码的情况下将核心文件转储到远程目标时,必须执行 "service kdump propagate" 命令来生成并传播 SSH 密钥到目标系统。此操作需要 SELinux 从 enforcing 模式切换到 permissive 模式并重新。在以前的版本中,kdump init 脚本使用不正确的测试条件来确定 SELinux 模式,以便无法根据需要切换 SELinux 模式。因此,如果 SELinux 处于 enforcing 模式,则无法生成 SSH 密钥,kdump 无法启动。这个版本删除了在 permissive 和 enforcing 模式间切换的代码,这个代码不再需要,因为 Red Hat Enterprise Linux 6.3 SELinux 添加了一个策略,允许应用程序访问 ssh-keygen 工具来生成 SSH 密钥。SSH 密钥现在可以按预期生成和传播,kdump 不再无法在这个场景中启动。
- BZ#818645
- 当使用行模式终端在 IBM System z 架构上转储核心文件时,kdump 会在这些终端上显示其进度。但是,这些终端不支持光标定位,因此 kdump 输出的格式不正确,输出很难读取。在这个版本中,引入了一个新的环境变量 TERM 来解决这个问题。如果设置了"TERM=dumb",makedumpfile 实用程序会在行模式终端上生成易于读取的输出。
- BZ#820474
- 在以前的版本中,kdump 预期通用 ATA 驱动程序始终作为 ata_generic.ko 内核模块和 mkdumprd 工具加载,从而明确添加了模块。但是,IBM System z 架构中不存在 ata_generic.ko 模块,如果这些机器上将 SCSI 设备指定为转储目标,则会导致 kdump 服务无法启动。在这个版本中,mkdumprd 被修改为仅在特定硬件需要时才加载 ata_generic 模块。kdump 服务现在在将 SCSI 设备指定为转储目标的 IBM System z 架构上按预期启动。
- BZ#821376
- 在以前的版本中,kdump 始终调用 hwclock 命令来设置正确的时区。但是,IBM System z 架构上不提供 hwclock 所需的 Real Time Clock (RTC)接口。因此,在这些机器上运行 kdump 会导致发出以下出错信息:
hwclock: can't open '/dev/misc/rtc': No such file or directory
在这个版本中,kdump 已被修改为在 IBM System z 上运行时不再调用 hwclock 命令,并且不再发生上述错误消息。 - BZ#825640
- 当使用 SSH 将核心文件转储到远程目标时,kdump 会将随机 seeds 从 /dev/mem 设备发送到 /dev/random 设备,以生成建立成功 SSH 连接所需的足够熵。但是,当在启用了 CONFIG_STRICT_DEVMEM 配置选项的 IBM System z 上转储核心文件时,读取 /dev/mem 被拒绝,且转储尝试失败,并显示以下错误:
dd: /dev/mem: Operation not permitted
在这个版本中,kdump 被修改为重复使用 /etc/random_seed 文件,而不是读取 /dev/mem。转储不再失败,现在可以使用 SSH 成功转储到远程目标。 - BZ#842476
- 当引导到 kdump 内核和指定为 dump 目标的本地文件系统时,相应的文件系统驱动程序所需的内核模块不必包含在转储中。因此,kdump 无法挂载转储设备,且无法捕获 vmcore。在这个版本中,mkdumprd 已被修改,在将核心文件转储到本地文件系统时始终安装所需的文件系统模块。在这种情况下,vmcore 文件可以被成功捕获。
- BZ#859824
- 当使用绑定接口将核心文件转储到远程目标时,并且目标是 bond0 接口之外的目标,kdump 无法转储核心文件。这是因为 kdump 内核中的绑定驱动程序默认只创建一个名为 bond0 的绑定接口。在这个版本中,修改 kdump 以使用正确的绑定接口在 kdump 初始化脚本中,以便在这种情况下可以按预期转储核心文件。
- BZ#870957
- 当将核心文件转储到 IBM System z 上的 Fibre Channel Protol (FCP)的 SCSI 设备时,必须在向系统添加 WWPN 和 SCSI LUN 前在线配置并在线设置。在以前的版本中,mkdumprd 工具错误地解析 zfcp.conf 文件,以便无法设置 zFCP 设备,kdump 内核在引导过程中变得无响应。因此,kdump 无法将核心文件转储到目标 SCSI 设备。在这个版本中,mkdumprd 已被修改来正确解析 zfcp.conf 文件,kdump 现在可以成功将核心文件转储到 IBM System z 上的 SCSI 目标。另外,之前,mkdumprd 总是试图在 IBM System z 上设置在线直接访问存储设备(DASD)。这会导致 "hush: can't open '/sys/bus/ccw/devices//online': No such file or directory" 错误消息在仅使用 SCSI 的环境中引导 kdump 内核时发出。在这个版本中,如果 IMB System z 上的 Linux 在没有 DASD 设备的运行,则修改 mkdumprd,以从 dasd.conf 文件中跳过条目。在 IBM System z 上的 SCSI 内核引导时,上述错误消息不再发生。
- BZ#872086
- 在以前的版本中,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#874832
- 由于最近的更改,LVM 假设 udev 工具始终在系统中存在,并创建正确的设备节点和链接。但是,kdump initramfs 镜像不包含 udev,因此 LVM 无法创建磁盘设备,kdump 会失败。在这个版本中,mkdumprd 工具修改 lvm.conf 配置文件,以通知 LVM initramfs 不包含功能 udev。如果 lvm.conf 文件不存在,mkdumprd 会创建它。LVM 现在可以正确地创建设备,kdump 可以正常工作。
- BZ#876891
- 在以前的版本中,mlx4_core 内核模块在使用 Mellanox ConnectX InfiniBand 适配器卡的系统上载入 kdump 内核。但是,mlx4_core 模块需要大量内存,这会导致这些系统遇到 OOM 状况,kdump 会失败。在这个版本中,第二个内核不再加载 mlx4_core 模块,以便 OOM 情况不再发生,kdump 会在这种情况下成功捕获 vmcore 文件。
- BZ#880040
- 由于最近的更改,libdevmapper 库假定 udev 工具始终在系统中存在,并为 mulitpath 设备创建正确的设备节点。但是,kdump initramfs 镜像不包含 udev,因此 LVM 无法创建磁盘设备,kdump 会失败。在这个版本中,mkdumprd 工具将 DM_DISABLE_UDEV 环境变量设置为 1,以告知 libdevmapper 不包含功能 udev。LVM 现在可以正确地创建设备,kdump 可以成功将核心文件转储到多路径设备。
- BZ#892703
- 在 kdump 内核中设置网络时,mkdumprd 代码会错误地重命名网络桥接以及网络配置文件中的 NIC 名称。这会导致 kdump 网络设置失败,且在远程目标中无法捕获 vmcore 文件。在这个版本中,修改 kdump 来正确替换网络设备的名称,以便可以按预期在远程目标上设置和 vmcore 转储。
功能增强
- BZ#822146
- 在这个版本中,mkdumprd 工具已被修改来支持多路径设备作为转储目标,这包括在第二个内核中激活多个 NIC 的功能。
- BZ#850623
- 在这个版本中,修改 kdump 以始终从捕获的 vmcore 转储文件中提取 dmesg 输出,并在转储核心文件前将输出保存到单独的文本文件中。
- BZ#878200
- /usr/share/doc/kexec-tools-2.0.0/kexec-kdump-howto.txt 文件已被修改,在 "Dump Target support status" 部分下提供支持的、不支持和未知转储目标的完整列表。
7.105. krb5
7.105.1. RHBA-2013:0319 - krb5 程序错误修复更新
程序错误修复
- BZ#771687
- libsmbclient 软件包的旧版本错误地依赖于 krb5_locate_kdc ()函数,该函数不再被支持。因此,使用旧版本的 libsmbclient 的应用程序在 Kerberos 库更新后不兼容。在这个版本中,添加了与旧版本的 libsmbclient 的显式冲突。因此,无法安装不兼容的组合。
- BZ#773496
- 在以前的版本中,当使用 krb5-auth-dialog 应用程序时,提示程序长时间挂起时,一个大型时钟偏移会被错误地记录。这个时钟偏移在下一个 kinit 会话中被应用。因此,klist 函数会报告一个不正确的过期时间。这个程序错误已被解决,在上述场景中不会再发生假的时间偏移。
- BZ#834718
- 在以前的版本中,当 PKINIT 客户端的可信根列表包含 KDC 的证书列表时,某些 KDC 实现从签名数据结构中的证书列表中省略了此类锚。因此,客户端无法在签名数据中验证 KDC 的签名。在这个版本中,提供了一个向后移植修复,以便客户端使用自己的相关证书副本。因此,在上述场景中验证不再会失败。
- BZ#837855
- 在此次更新之前,当 keytab 文件不包含高级加密标准(AES)密钥时,尝试使用带有 keytab 文件的 kinit 命令通常会失败,但客户端的库和 KDC 都支持 AES。默认选择最强的加密类型(AES),即使 keytab 中不存在它。因此,会出现不匹配的错误。这个程序错误已被解决,包含任何支持的加密类型的 keytab 现在可以正确地处理。
- BZ#838548
- 在以前的版本中,krb5 软件包无法正确处理 timeout 变量。在某些情况下,timeout 变量成为一个负数。因此,在检查响应时客户端输入循环。在这个版本中,客户端逻辑已被修改,上面描述的错误不再发生。
- BZ#839017
- 在此次更新之前,当身份管理客户端使用 passwd 实用程序时会失败。因此,会出现带有以下信息的错误:令牌操作错误这个 bug 已被修复,passwd 实用程序现在可以按预期工作。
- BZ#845125, BZ#846472
- 由于之前的更新在本地应用补丁中,由 libkrb5 库创建的文件被授予正确的 SELinux 标签。但是,每次重播缓存的每个清除都会导致重新加载文件上下文配置,以确保将正确的标签应用到新创建的替换重播缓存文件中。这会导致应用程序出现大量性能下降,它们接受身份验证并使用重播缓存。在这个版本中,只有在修改上下文配置文件时,才会加载上下文配置,且仅在卸载库或调用应用程序退出时才释放配置,从而大大降低此问题的影响。
7.106. ksh
7.106.1. RHBA-2013:0430 - ksh 程序错误修复和功能增强更新
程序错误修复
- BZ#827512
- 最初,ksh 缓冲的子 shell 的输出,在子 shell 完成后清除它。这减慢了等待特定输出的进程,因为它们必须等待子 shell 完成。此外,很难确定事件顺序。当子 shell 执行新命令时,每次子 shell 都会清除 subshell 的新版本。由于这个变化,等待子 shell 输出的进程会在每个子 shell 命令和保留事件顺序后接收其数据。
- BZ#846663
- 在以前的版本中,在 shell 初始化过程中调用 sfprints ()函数不安全,这可能会破坏内存。因此,为较小的大小分配一个 right-aligned 变量可能会导致输出格式不当。在这个版本中,sfprints () 调用不会在上述场景中使用,这会修复输出格式。
- BZ#846678
- 由于 typeset 命令中存在一个错误,在使用 -Z 选项执行时,输出被格式化为不正确的宽度。因此,导出大小比预定义的字段大小小的正确对齐变量会导致它不会以"0"字符开头。提供了补丁,在上述场景中 typeset 命令现在可以正常工作。
功能增强
- BZ#869155
- 在这个版本中,ksh 已被改进,以支持 shell 输出的日志。
7.107. ledmon
7.107.1. RHBA-2013:0479 - 领导 bug 修复和功能增强更新
7.108. libburn
7.108.1. RHBA-2012:1273 - libburn 程序错误修复更新
- BZ#822906
- 在此次更新之前,libburn 库包含 "burn_write_close_track" 命令,该命令冗余,且不受所有刻录驱动器的完全支持。因此,刻录过程 CD-R 或 CD-RW 可在刻录过程后关闭跟踪时记录错误,即使数据被正确写入。在这个版本中,删除了这个冗余调用。
7.109. libcgroup
程序错误修复
- BZ#773544
- 在以前的版本中,cgrulesengd 守护进程会忽略 cgexec 命令的 "--sticky" 选项,因此,当名为 setuid ()或 setgid ()功能的进程需要卡住到当前 cgroup 时,也会将进程移到另一个 cgroup 中。现在,这个程序错误已被解决,cgrulesengd 守护进程现在检查进程是"sticky"还是当进程调用 setuid 或 setgid 时。
- BZ#819137
- 在以前的版本中,lscgroup 命令丢弃路径的第一个字符,除非以斜杠作为前缀,这会导致 lscgroup 生成无效路径。现在,这个程序错误已被解决,生成的路径现在可以正确。
- BZ#849757
- 在以前的版本中,在 cgrulesengd 守护进程启动后添加 cgroup 无法正常工作。因此,如果在 cgrulesengd 启动后创建了目录,则不会处理该目录的任何 /etc/cgrules.conf 配置。在这个版本中,添加了一个常规来扫描 cgrules.conf 文件,并将 /proc/pid/ 目录中的匹配运行任务移到配置的 cgroups 中。这个新例程会在 init 时间调用,并在 cgroup 上的 inotify 事件后调用。在这个版本中,添加了一个例程来扫描 cgrules.conf 文件,并将匹配的运行任务移到配置的 cgroups 中。
- BZ#869990
- 在以前的版本中,cgconfig 服务无法使用只读文件系统。因此,cgconfig 无法与 Red Hat Enterprise Virtualization Hypervisor 系统上的默认配置开始。在这个版本中,对 cgconfig 服务添加了只读文件系统的检查,现在它可以与 Red Hat Enterprise Virtualization Hypervisor 系统上的默认配置正常工作。
功能增强
- BZ#738737
- 这个版本改进了日志工具和 libcgroup 生成的错误消息。
7.110. libdbi
7.110.1. RHBA-2013:0326 - libdbi 程序错误修复更新
错误修复
- BZ#733413
- 在以前的版本中,当处理查询结果时,由于非一逻辑错误,查询结果的最后一行不会被释放。这会导致内存泄漏在处理大量查询结果后可能会变得显著。在这个版本中,底层源代码中的测试条件不正确,在这种情况下不再会出现内存泄漏的问题。
7.111. libdvdread
7.111.1. RHBA-2012:1247 - libdvdread 程序错误修复更新
错误修复
- BZ#842016
- 在此次更新之前,dvd_stat_t 结构不是公共的。因此,需要此类结构的源代码无法编译。在这个版本中,dvd_stat_t 结构变为公共结构,允许使用这个类型编译代码。
7.112. libguestfs
程序错误修复
- BZ#801640
- 在以前的版本中,当使用 resize2fs -M 命令以及因为缺少可用空间而出现错误时,返回的错误消息不正确,并可能会使用户混淆。在这个版本中,会返回正确的错误消息。
- BZ#822626
- 由于源代码中的一个错误,使用 virt-ls --checksum 命令时会出现一个错误,并返回以下出错信息:
libguestfs: error: checksum: path: parameter cannot be NULL
底层源代码已被修改,virt-ls --checksum 现在可以正常工作。 - BZ#830369
- 由于
guestfs_inspect_get_hostname()
功能,基于libguestfs
的命令在 Linux 客户端上创建空/etc/HOSTNAME
文件时无法正常工作。这个版本提供了一个补丁来修复这个程序错误,基于libguestfs
的命令现在可以在上述场景中正常工作。 - BZ#836573
- 在以前的版本中,
libguestfs
库无法处理/dev/disk/by-id expectations
路径。因此,无法使用带有这个路径的命令来检查客户机,并返回错误消息。在这个版本中,应用了补丁来修复这个程序错误,libguestfs
库在这种情况下不再返回错误。 - BZ#837691
- 在以前的版本中,在某些情况下,写入
qcow2
格式的磁盘可能会导致静默的数据丢失。底层源代码已被修改,以防止此行为并写入qcow2
格式的磁盘,现在可以按预期工作。 - BZ#838609
- 由于
guestmount
和fusermount
工具之间有一个竞争条件,取消,然后立即使用磁盘镜像不安全,并可能导致数据丢失或内存损坏。在这个版本中,为guestmount
添加了 new-pid-file
选项,以避免这些工具之间的竞争条件,并在卸载后立即使用磁盘镜像,可能会导致数据丢失或内存崩溃。 - BZ#852396
- 在以前的版本中,
libguestfs
库将下载 hive 文件的总大小从 Windows Registry 限制为 100 MB。因此,尝试检查有大量 hive 文件的系统会导致libguestfs
返回错误消息。在这个版本中,这个限制增加到 300 MB,libguestfs
现在可以正确检查更大的 Widows Registry。 - BZ#853763
- 在以前的版本中,使用
file
工具检测磁盘镜像格式可能会为这个工具的不同版本生成不同的输出。现在,对所有文件
实用程序版本都修改了底层源代码,并且输出信息现在都相同。 - BZ#858126
- 由于底层源代码中的一个错误,
virt-inspector
工具无法用于某些 Windows 客户机。这个版本应用了补丁来修复这个程序错误,virt-inspector
现在支持所有 Windows 客户机。 - BZ#858648
- 由于 iptables 软件包中的最近更改,
libguestfs
库无法使用新版本的iptables
工具安装。底层源代码已被修改来解决这个问题,libguestfs
的安装可以正常工作。 - BZ#872454
- 在以前的版本中,
libguestfs
库检测到 Red Hat Enterprise Linux 5.1 客户机,作为 NetBSD 客户机。这个版本提供了一个补丁来修复这个程序错误,libguestfs
现在会正确检测到 Red Hat Enterprise Linux 5.1 客户机。 - BZ#880805
- 带有 or
-a
or-d
参数的 virt-df 命令只适用于单个客户机。尝试使用带有多个参数(如 virt-df -a RHEL-Server-5.9-32-pv.raw -a opensuse.img )的这个命令,从而导致磁盘镜像名称错误显示。在这个版本中,会为每个附加磁盘显示加号(“+”),以便用户可以轻松地识别它们。另外,virt-df (1)
手册页中描述了 virt-df 命令的正确用法。
功能增强
7.113. libhbaapi
7.113.1. RHEA-2013:0416 - libhbaapi 增强更新
功能增强
- BZ#862386
- 在这个版本中,libhbaapi 代码转换为 Open-FCoE.org 中的合并的上游存储库。因此,libhbaapi 软件包不再从不同的源编译,从而使维护和进一步的开发更容易。
7.114. libhbalinux
7.115. libical
错误修复
- BZ#664332
- 当解析不当格式化的 iCalendar 数据时,libical 软件包可以配置为中止,主要用于测试和调试。在 Red Hat Enterprise Linux 中,这个行为被禁用,但 libical 源代码的某些部分被不当检查这个选项。因此,即使配置没有这样做,库也会中止。底层源代码已被修改,在上述场景中 libical 不再中止。
7.116. libica
7.116.1. RHEA-2013:0399 - libica 增强更新
功能增强
- BZ#738835
- libica 库已被修改,允许使用新的算法,该算法支持 Cryptographic Function (CPACF)功能中的 Message Security Assist Extension 4 说明。对于 DES 和 3DES 块密码,新功能支持以下操作模式:
- 使用 Ciphertext Stealing (CBC-CS)的 cipher Block Chaining
- 基于密码的消息身份验证代码(CMAC)
对于 AES 块密码,此功能支持以下操作模式:- 使用 Ciphertext Stealing (CBC-CS)的 cipher Block Chaining
- 带有 Cipher Block Chaining Message Authentication Code (CCM)的计数器.
- Galois/Counter (GCM)
通过这种复杂的加密算法的加速,IBM System z 机器的性能显著提高。
7.117. libldb
7.117.1. RHBA-2013:0372 - libldb 程序错误修复和安全更新
错误修复
- BZ#873422
- Samba 编译脚本的最新更改会导致 libldb 在公共接口中公开内部功能和符号。如果在 libldb 代码中直接使用这些内部符号,这可能会导致各种链接和构建问题。在这个版本中,修正了编译脚本,以便 libldb 公共接口的内部符号不再导出并可见。
7.118. libqb
7.118.1. RHBA-2013:0323 - libqb 程序错误修复和安全更新
错误修复
- BZ#869446
- 在以前的版本中,在等待回复时,为 qb_ipcc_recv ()API 函数提供的超时参数不会传递给 poll ()。因此,这个功能可能会消耗接近 100% 的 CPU 资源,并影响 pacemaker 工具。这个程序错误已通过在 qb_ipcc_recv ()中传递超时值到 poll ()来解决。因此,超时时间符合预期,在这样的情况下 pacemaker 可以正常工作。
7.118.2. RHBA-2013:1431 - libqb 程序错误修复和安全更新
7.119. libsemanage
程序错误修复
- BZ#798332
- 在以前的版本中,/etc/selinux/semanage.conf 文件中无法使用"usepasswd"参数。此更新将缺少的"usepasswd"参数添加到此文件中。
- BZ#829378
- 当使用自定义 SELinux 策略模块出错时,会返回一个不是非常信息的错误消息。在这个版本中,错误消息被修复,为用户更有帮助。
7.120. libsoup
7.120.1. RHBA-2013:0313 - libsoup 程序错误修复更新
程序错误修复
- BZ#657622
- 在此次更新之前,clock-applet 在 DNS 查找过程中无法正确处理取消的请求,并已访问已释放的内存。因此,在某些情况下,clock-applet 的消耗视图可能会中止,如果是而有 30 秒以上需要 30 秒,则在更新一个分段错误时中止,例如由于网络问题。在这个版本中,修改底层代码,以允许取消很长时间的请求。
- BZ#746587
- 在更新之前,clock-applet 的消耗视图试图永久连接到 expectations 服务器,就像其可能在不响应的情况下关闭连接时。在这个版本中,只有在服务器意外关闭之前使用的连接时,才会修改底层代码来重试请求,而不是新的连接。现在,libsoup 会返回 "Connection terminated unexpected" 错误,因此 clock-applet 不会更新 QPC 显示,并稍后重试。
7.121. libssh2
程序错误修复
- BZ#741919
- 在这个版本中,在 libssh2 中添加了几个稳定性补丁。因此,在管理大量节点时,避免内存泄漏、缓冲区溢出和空指针问题。
- BZ#801428
- 在以前的版本中,在 libssh2 代码中,使用数据类型用于某些位转换操作。当下载通过 SSH 文件传输协议(SFTP)大于 2 GB 的文件时,curl 工具会导致 curl 工具意外终止。在这个版本中,底层代码已被修改为使用正确的数据类型,在上述场景中 curl 现在可以正常工作。
- BZ#804145
- 在某些情况下,在通过 SSH 发送大量数据时 libssh2 无法恢复中断的密钥交换。此外,其他数据被错误地发送,导致远程站点立即关闭连接。在这个版本中,libssh2 已被修改,以便在发送任何进一步数据前正确恢复中断的密钥交换。因此,连接保持打开,数据传输可以如预期进行。
- BZ#804150
- 在以前的版本中,在 libssh2 中写入频道的功能会错误地处理错误状态,在某些情况下,会导致一个死循环。这个功能已被修复,错误处理现在可以正常工作。
- BZ#806862, BZ#873785
- 在以前的版本中,libssh2 中的窗口大小调整无法正常工作,这会导致在通过 SCP 或 SFTP 传输大量文件时,导致在通过 SCP 或 SFTP 传输大量内存消耗时,会导致未关闭的连接。window-adjusting 代码已被修复,现在可以针对任意大小的块正常工作。
- BZ#826511
- 在以前的版本中,当以阻塞模式运行时,libssh2 会错误地返回 LIBSSH2_ERROR_EAGAIN 错误代码。libssh2 在内部使用错误代码在套接字上启动阻止操作。但是,错误代码是,在成功时未正确清除,并通过 libssh2 的公共 API 泄漏。在启动阻塞操作前,应用了上游补丁来清除错误代码,当以阻塞模式运行时 libssh2 不再返回 LIBSSH2_ERROR_EAGAIN。
7.122. libtalloc
7.122.1. RHBA-2013:0352 - libtalloc 程序错误修复更新
7.123. libtdb
7.123.1. RHBA-2013:0353 - libtdb 程序错误修复和安全更新
7.124. libtevent
7.125. libusb1
7.125.1. RHBA-2013:0310 - libusb1 程序错误修复更新
程序错误修复
- BZ#820205
- 在此次更新之前,usbredir 网络协议会导致与 libusb 库冲突。因此,当尝试同时将一个 USB 设备重定向到两个客户机时,SPICE USB-redirection 会失败,并显示以下错误:usbredirhost error: 提交批量传输 on ep 02: -1"。在这个版本中,修改底层代码以发送错误消息 "Device is busy",并在第二次尝试后失败。
- BZ#830751
- 在此次更新之前,不允许来自用户空间的 USB 请求块(URB)传输缓冲区大于任意最大值。因此,尝试重定向特定的 USB mass-storage 设备可能会失败。这个版本修改了底层代码,以允许程序提交任何大小的 URB。如果没有足够的可用内存,则提交失败,并显示 ENOMEM 错误。另外,这个更新还会将单个传输缓冲区的旧限制替换为 USB 文件系统(usbfs)使用的总内存的 16MB 的全局限制,以防止程序提交大量小的 URB,并使用所有 DMA 内核内存。
7.126. libvirt-cim
程序错误修复
- BZ#805892
- 如果系统上安装了 sblim-sfcb 软件包,重建 libvirt-cim 软件包会失败,并显示错误,因为 Makefile 中有一个不完整的替换。这个替换已被修正,重建 libvirt-cim 现在可以正常工作。
- BZ#864096
- 当在 libvirt-cim 注册了带有 cim-server 的类后将 libvirt-cim 软件包升级到更新的版本时,%preun 代码取消注册了在没有注册 libvirt-cim 类的情况下保留系统的类。现在,libvirt-cim 软件包只在卸载时取消注册 libvirt-cim 类。
7.127. libvirt-java
错误修复
- BZ#836920
- 由于 Java 原生访问(JNA)转换失败,域的 "setSchedulerParameters ()" 方法无法正确处理输入参数。在这个版本中,转换过程已被修改。因此,setSchedulerParameters ()现在可以正常工作。
7.128. libvirt
程序错误修复
- BZ#908836
- AMD 系列 15h 处理器 CPU 架构由 "modules" 组成,它们表示为单独的内核和单独的线程。在其中一种方法之间进行选择所需的管理应用程序,libvirt 没有提供足够的信息来执行此操作。管理应用程序无法根据其需要代表 AMD 系列 15h 处理器内核中的模块。现在,能力 XML 输出包含有关处理器拓扑的更多信息,以便管理应用程序可以提取所需信息。
- BZ#913624
- 如果没有指定 auto-port 和 port,但 tlsPort 属性设置为 "-1",QEMU 命令行中指定的 tlsPort 参数被设置为 "1",而不是有效的端口。因此,QEMU 会失败,因为它无法在端口上绑定一个套接字。在这个版本中,使用新的 virPortAllocator API 替换当前的 QEMU 驱动程序代码来管理端口保留,QEMU 能够绑定端口上的套接字。
- BZ#915344
- 在以前的版本中,libvirtd 无法为运行客户机代理服务的 Microsoft Windows 客户机执行 s3/s4 操作。因此,这会导致 "domain s4 fail" 错误信息,因为域被销毁。在这个版本中,客户机被成功销毁,libvirtd 服务不再崩溃。
- BZ#915347
- 当虚拟机保存在压缩文件中时,当 libvirt 尝试恢复虚拟机时,当 libvirt 试图恢复虚拟机时,libvirt 会从正在运行的虚拟机列表中删除虚拟机,但不会删除对应的 QEMU 进程。在这个版本中,QEMU 进程会在这种情况下被终止。此外,现在忽略非严重的解压缩错误,如果出现此类错误,可以成功恢复虚拟机。
- BZ#915348
- libvirt 的 Python 绑定包含 virDomainSnapshot 类中不正确的 getDomain ()和 getConnect ()方法的实现。因此,Python 客户端会意外终止并出现分段错误。Python 绑定现在提供正确的 domain ()和 connect ()访问器,用于获取存储在 virDomainSnapshot 实例中的 Python 对象,且不再会发生崩溃。
- BZ#915349
- 在以前的版本中,libvirt 添加了存储文件后备链缓存,而不是重新发现每个操作的后备链详情。然后,这个缓存用于决定要为 sVirt 标记的文件,但当 libvirt 切换到使用缓存时,代码仅在使用 cgroups 时填充。在因为缺少后备链缓存信息导致不使用 cgroups 的设置中,sVirt 无法正确标记后备链文件,这会导致客户机观察到的回归问题被客户机无法运行。现在,填充缓存在之前被移动,以独立于 cgroups,缓存会产生更高效的 sVirt 操作,现在可以正常工作 cgroup 是否生效。
- BZ#915353
- 有时,当用户运行多个 virsh create/destroy 循环时,可能会出现竞争条件,libvirtd 会意外终止并出现 segmentation 错误。与已经销毁了调用者的域相关的错误错误消息。在这个版本中,概述的脚本会被运行并完成,而不会 libvirtd 崩溃。
- BZ#915354
- 在以前的版本中,libvirt 遵循与 QEMU 不同的相对后备链。这会导致在 libvirt 无法遵循链时缺少 sVirt 权限。有了这个更新,在 libvirt 和 QEMU 中,相对备份文件的处理现在相同,VDSM 使用相对后备文件可以正常工作。
- BZ#915363
- 在以前的版本中,libvirt 在快照失败时报告原始 QEMU 错误,并且提供的错误消息可能会造成混淆。在这个版本中,当 QEMU 无法进行快照时,libvirt 会给出一个清晰的错误消息,这可以启用对这种情况的更明确的处理。
- BZ#917063
- 在以前的版本中,libvirt 不知道运行内核中缺少非priv_sgio 支持,即使不需要。将主机系统升级到 Red Hat Enterprise Linux 6.4 后,用户无法使用可共享块磁盘设备启动域,除非它们将主机重启到新内核中。只有真正需要时,才会执行对 unpriv_sgio 支持的检查,并且 libvirt 现在能够启动所有不需要非priv_sgio 支持的域。
- BZ#918754
- 当要求创建带有零分配的逻辑卷时,libvirt 运行 lvcreate 来创建没有扩展的卷,这是不允许的。创建逻辑卷失败,libvirt 会返回一个未提及实际错误的错误消息。现在,libvirt 会尝试以最少扩展的数量创建卷,而不是要求不扩展。现在,这个代码已被修复,在卷创建过程失败时提供实际错误消息。现在可以使用 libvirt 成功创建具有零分配的逻辑卷。
- BZ#919504
- 在以前的版本中,当用户使用 sharable block CD-Rom 启动客户机时,libvirtd 可能会因为访问已释放的内存而意外失败。这个版本解决了上述问题,libvirtd 不再在上述场景中崩溃。
- BZ#922095
- 当用户运行 Coverity 和 Valgrind 泄漏检测工具时,会发现 libvirtd 中的各种内存泄漏。这个版本解决了这些问题,libvirtd 不再在上述场景中泄漏内存。
功能增强
- BZ#915352
- 在这个版本中,增加了对 QXL 设备的 ram_size 设置的支持。当在一个 PCI 设备中使用多个头时,该设备需要更多的 RAM。现在,RAM 栏大小的内存会大于默认大小,libvirt 可以驱动多斜杠 QXL。
libvirt
库,它是一个 C API,用于管理并与之交互 Linux 和其他操作系统的虚拟化功能。此外,libvirt
还提供了用于远程管理虚拟化系统的工具。
Open vSwitch
的支持,这是对详细 CPU 统计的新 API,改进了 LXC 方法的支持,包括 sVirt
技术、virsh edit 命令的改进,改进了列出各种对象和支持固定和调优仿真程序线程的 API。(BZ#836934)
安全修复
- CVE-2012-3411
- 在为虚拟机设置 DNS 伪装时,libvirt 发现了关于 dnsmasq 的命令行选项的某些无效假设,从而导致 dnsmasq 错误地处理预期禁止的网络接口的网络数据包。此更新包括使用新的命令行选项调用 dnsmasq 所需的更改,这通过 RHSA-2013:0277 引入到 dnsmasq。为了使 libvirt 能够利用新的命令行选项(--bind-dynamic),需要安装更新的 dnsmasq 软件包。如需了解更多信息,请参阅 RHSA-2013:0277。
程序错误修复
- BZ#794523
libvirt
库在 QEMU 处理器模拟器真正暂停前发出PAUSED
事件。因此,域可以在实际暂停前报告为暂停,这可能会使用libvirt
库混淆管理应用程序。在这个版本中,在监控上停止 QEMU 后启动PAUSED
事件,管理应用程序不再被libvirt
使用。- BZ#797279, BZ#808980, BZ#869557
- 在
libvirtd
守护进程和客户端(如virsh
实用程序)之间可以发送的最大 RPC 消息的固定限制是 65536 字节。但是,这个限制并不总是足够,且信息可能会丢失,使客户端无法获取重要数据。在这个版本中,传入消息的缓冲是动态的,一个客户端和libvirtd
,现在给定消息需要分配尽可能多的内存,从而允许发送更大的消息。 - BZ#807996
- 在以前的版本中,在使用隧道迁移时重复在两台机器间迁移客户机可能会导致
libvirtd
守护进程意外锁定。修复了用于锁定远程驱动程序的代码中的错误已被修复,重复转换域迁移现在可以正常工作。 - BZ#814664
- 在以前的版本中,需要多个
libvirt
API 调用来确定由libvirt
库控制的主机上的完整客户机列表。因此,当客户机在两个需要枚举启动和停止的客户端之间更改其状态时,可能会出现竞争条件。此行为导致客户机从两个列表中消失,因为枚举的时间不被视为列表的一部分。在这个版本中,添加了一个新的 API 功能,允许在驱动程序锁定时在一个调用中收集客户机列表。这样可保证在收集列表前 guest 不会更改其状态,以便在上述场景中客户机不再消失。 - BZ#818467
- 在以前的版本中,
libvirt
不会报告外部程序(如 QEMU)返回的很多有用的错误消息,只报告命令失败。因此,某些问题(其原因或解决方案)通过查看错误输出可能比较简单,很难诊断。在这个版本中,如果libvirt
运行的任何外部命令退出并显示失败,则其标准错误输出会作为libvirt
错误添加到系统日志中。因此,问题现在可以更容易诊断,因为有更好的信息可用。 - BZ#823716
- 在某些情况下,多次关闭文件描述符会导致执行 qemu-kvm 二进制文件失败。因此,客户机无法启动。现在,一个补丁已被应用于解决这个问题,因此客户机现在可以成功启动。
- BZ#825095
- 在此次更新之前,
libvirt
使用了一个不适合的检测流程来检测系统的 NUMA 和处理器拓扑。因此,一些高级多处理器系统的拓扑被错误地检测到,管理应用程序无法利用系统的完整潜力。现在,这个检测已被改进,即使现代系统中也会正确识别拓扑。 - BZ#825820
- 在以前的版本中,
libvirt
库在客户机启动或停止时调用用户写入脚本的 hook,但没有 hook 在libvirtd
守护进程本身重启时为每个客户机调用脚本。因此,在libvirtd
重启时,需要不直接由libvirt
提供的额外操作的某些自定义设置可能会失败。例如,通过libvirt
“刷新” 其自身 iptables 数据包转发规则,安装为将进入的传入连接重定向到特定客户机的数据包转发规则,从而破坏已设置的连接转发。这个版本改进了libvirt
,带有新的 “重新连接” hook;每次libvirtd
重启时,会调用 QEMU hook 脚本,并为每个活跃的客户机进行 “重新连接”。用户现在可以编写脚本来识别 “重新连接” 事件,例如在发生此事件时重新载入用户提供的 iptables 转发规则。因此,传入的连接将继续被正确转发,即使libvirtd
重启也是如此。 - BZ#828729
- 在某些 NUMA 构架中,
libvirt
无法处理并公开 NUMA 拓扑,有时会导致性能下降。在这个版本中,libvirt
可以解析并公开此类机器上的 NUMA 拓扑,并进行正确的 CPU 放置,从而避免性能下降。 - BZ#831877
- virsh undefine 命令支持删除与域关联的卷。使用此命令时,卷将作为附加参数传递,如果用户在基本命令后添加任何尾随字符串,则字符串将解释为要删除的卷。在以前的版本中,在客户端被删除后检查卷,这可能会导致用户的错误。在这个版本中,在删除过程前执行卷参数的检查,以便强制报告错误。因此,在尝试删除客户机前,带有错误参数的命令会失败,主机系统会处于 sane 状态。
- BZ#832081
- 由于在实现的 keep-alive 消息实现中有几个错误,它们用于检测有问题的连接或无法正常工作的对等点,这些连接和对等点可能会错误地认为无法正常工作或无法正常工作,因此在 Red Hat Enterprise Linux 6.3 中默认禁用 keep-alive 消息。keep-alive 消息的实现已被修复,这个功能现在被默认启用。
- BZ#834927
- 在以前的版本中,检查过程中使用的反向条件会阻止注册多个回调。在这个版本中,会应用一个补丁来修复这个条件,多个回调现在可以成功注册。
- BZ#836135
SPICE
服务器在迁移流程结束时需要一定时间将内部状态传送到目标客户机。在以前的版本中,libvirt
库可以在传输内部状态前终止源 QEMU 和SPICE
服务器。此行为会导致目标客户端变得无响应。在这个版本中,libvirt
会等待到SPICE
迁移结束。因此,在这种情况下,SPICE
服务器不再变得无响应。- BZ#837659
- 当使用
sanlock
守护进程锁定域所使用的资源时,如果这样的资源为只读,则锁定尝试会失败。因此,无法使用 CD-ROM 驱动器启动域。这个程序错误已被解决,sanlock
现在可以与只读设备正确使用。 - BZ#839661
- 在以前的版本中,
libvirt
库不支持 QEMU 域上的 S4 (Suspend-to-Disk)事件。因此,管理应用程序无法注册客户机是否暂停到磁盘或关闭。在这个版本中,增加了对 S4 事件的支持,管理应用程序现在可以请求接收 S4 事件。 - BZ#842208
- 由于安装
vdsm
守护进程,libvirt
库在某些情况下被重新配置,在某些情况下,libvirt
在vdsm
之外使用时搜索不存在的选项。因此,在这样的机器上使用virsh
工具会导致系统以分段错误终止。底层源代码已被修改来修复这个程序错误,用户现在可以在由vdsm
配置的机器上按预期使用virsh
。 - BZ#844266
- 在以前的版本中,检查中的一个条件,用于检查在保存的文件中修改域 XML 是否成功还是不符。因此,
virsh
工具会报告这个检查失败,即使成功,反之亦然。现在,这个更新会应用一个补丁来修复这个程序错误,并现在可以正确报告这个检查失败。 - BZ#844408
- 磁盘热插是一个两部分操作:
qemuMonitorAddDrive()
调用后跟qemuMonitorAddDevice()
调用。当第一部分成功但第二次失败时,libvirt
无法回滚第一部分,并且设备仍然在使用中,即使磁盘热插拔失败。在这个版本中,在上述场景中正确执行驱动器添加的回滚,磁盘热插现在可以正常工作。 - BZ#845448
- 在以前的版本中,当执行
virDomainGetBlockJobInfo()
功能时,SIGINT 信号不会被阻止。因此,尝试使用 CTRL+C 快捷方式指定的-
wait
选项命令初始化的进程无法正常工作。这个更新对virDomainGetBlockJobInfo()
期间的块SIGINT
进行了补丁,并使用 CTRL+C 快捷方式中止进程现在可以正常工作。 - BZ#845635
- 在以前的版本中,当客户机代理变得无响应时,会返回带有无意义错误代码的未指定错误。因此,管理应用程序无法识别客户机代理挂起的原因 ; 客户机代理没有被配置或者是否不可用。这个更新引入了一个新的
VIR_ERR_AGENT_UNRESPONSIVE
错误代码,并修复错误消息。因此,管理应用程序现在可以识别客户机代理挂起的原因。 - BZ#846639
- 由于
libvirt
代码中存在一个错误,可能会出现两个相互排斥的情况。在第一个情况下,客户机操作系统可能无法检测到它已被暂停,因为挂起的例程由 hypervisor 处理。在第二个情况下,需要客户机操作系统的合作,例如在恢复例程后同步时间。因此,可以在带有pmsuspended
状态的域上成功调用 suspend 例程,libvirt
在操作中返回成功,这实际上会失败。在这个版本中,添加了一个额外的检查,以防止libvirt
使用pmsuspended
状态挂起域。 - BZ#851397
- 由于端口分配的最新更改,SPICE 端口和 SPICE TLS 端口是相同的。因此,使用配置为使用相同的端口和 SPICE TLS 端口的两个选项启动的 QEMU 域无法分配一个端口两次。在这个版本中,端口分配已被修复,QEMU 域现在可以正常工作。
- BZ#853567
- 虚拟客户机可以有一个网络接口,它通过 passthrough 模式使用
macvtap
驱动程序连接到 SR-IOV (单根 I/O 虚拟化)设备的虚拟功能(VF),并从那里连接到支持802.1Qbh
的交换机。在以前的版本中,当关闭客户机时,libvirt
会错误地设置 SR-IOV 设备的物理功能( PF )而不是 VF,而不是离线设置 VF,而不是设置 VF 离线。以下是可能影响的接口类型的示例:<interface type='direct'> <source dev='eth7' mode='passthrough'/> <virtualport type='802.1Qbh'> <parameters profileid='test'/> </virtualport> </interface>
因此,如果主机将 PF 用于自己的网络连接,主机网络将受到负面影响,可能会在客户机关闭时或客户机网络设备分离时完全禁用。现在,底层源代码已被修改来解决这个问题,与macvtap
驱动程序使用的 VF 关联的 PF 现在继续在上述场景中正常工作。 - BZ#856247
- Red Hat Enterprise Linux 6.3 在 QEMU 的上游版本前实施
块
复制功能。自那时起,对这个功能的上游版本进行了一些改进。因此,以前版本的libvirt
库无法在当前 QEMU 版本中完全管理块副本
功能。在这个版本中,块复制功能
已更新至 QEMU 和libvirt
的上游版本。因此,libvirt
能够管理块
复制功能的所有版本。 - BZ#856864
- 在以前的版本中,
libvirt
在实时迁移到 Red Hat Enterprise Linux 6.1 主机过程中将默认 USB 控制器放入 XML 配置文件中。这些主机不支持 XML 文件中的 USB 控制器。因此,实时迁移这些主机会失败。这个版本可防止libvirt
在实时迁移过程中在 XML 配置文件中包括默认 USB 控制器,实时迁移可在上述场景中正常工作。 - BZ#856950
- 当
libvirt
正在销毁 QEMU 进程时,清理操作会释放一些内部结构和锁定。但是,由于用户可以同时销毁 QEMU 进程,libvirt
包含 QEMU 驱动程序 mutex 来保护域列表及其状态等。在以前的版本中,当它已被锁定时,函数会尝试锁定 QEMU 驱动程序 mutex,从而创建一个死锁。现在,代码已被修改,在尝试锁定前,始终检查 mutex 是空闲的,从而修复这个程序错误。 - BZ#858204
- 当
libvirtd.conf
文件中存在host_uuid
选项时,augeas libvirt
lens 无法解析该文件。这个 bug 已被修复,augeas libvirt
lens 现在会在上述场景中按预期解析libvirtd.conf
。 - BZ#862515
- 在以前的版本中,处理重复的 MAC 地址在 live attach 或 detach 间有所不同,以及网络设备的持久附加或分离。因此,具有与现有设备匹配的 MAC 地址的设备的持久附加接口可能会失败,即使此类设备的 live attach-interface 可以成功。这个行为不一致,有时会导致设备从客户机分离。在这个版本中,
libvirt
已修改,在所有情况下允许重复的 MAC 地址,并检查唯一的 PCI 地址,以便区分具有相同 MAC 地址的多个设备。 - BZ#863115
- 在以前的版本中,每次启动客户机时都会调用 qemu-kvm -help 命令的
libvirt
了解 QEMU 中可以使用哪些功能。在具有多个客户机的机器上,此行为会导致启动所有客户机的显著延迟。这个版本修改了libvirt
以存储有关 QEMU 的信息缓存,直到 QEMU 时间戳被改变为止。因此,当使用各种客户机启动机器时,libvirt
速度更快。 - BZ#865670
- 在以前的版本中,
ESX 5.1
服务器没有经过充分测试。因此,连接到ESX 5.1
会导致返回警告。ESX 5.1
服务器已正确测试并连接到此服务器,现在可以按预期工作。 - BZ#866369
- 在某些情况下,在保存域和内核时,
iohelper
进程无法将数据写入磁盘,而内核不会报告空间不足错误(ENOSPC
)。在这个版本中,libvirt
调用上述场景中的fdatasync()
功能,以强制将数据写入磁盘或捕获写错误。因此,如果发生写错误,它现在可以被正确捕获并报告。 - BZ#866388
libvirt
中的某些操作只能在域暂停时执行,以防止数据崩溃。但是,如果恢复操作失败,则管理应用程序不会因为没有发送事件而获得通知。在这个版本中引进了VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR
事件和管理应用程序,现在可以更接近域状态,并相应地操作。- BZ#866999
- 当
libvirt
找不到适合主机 CPU 的 CPU 模型时,它无法在主机功能中提供 CPU 拓扑,即使拓扑被正确检测到。因此,使用主机 CPU 拓扑但没有 CPU 模型的应用程序无法在主机功能中看到拓扑。在这个版本中,主机功能 XML 描述包含主机 CPU 拓扑,即使主机 CPU 模型未知。 - BZ#869096
- 在以前的版本中,
libvirt
支持emulatorpin
选项来为 QEMU 域进程设置 CPU 关联性。但是,在为域进程创建 cgroup 层次结构时,此行为覆盖vcpu placement="auto"
设置设置的 CPU 关联性。这个 CPU 关联性与来自numad
守护进程的公告节点设置。在这个版本中,如果vcpu 放置
设置为auto
,libvirt
不允许emulatorpin
选项更改域进程的 CPU 关联性。因此,numad
守护进程会如预期被支持。 - BZ#873792
libvirt
库允许用户取消持续迁移。在以前的版本中,如果在迁移准备阶段尝试取消迁移,QEMU 丢失了请求,且不会取消迁移。在这个版本中,virDomainAbortJob()
功能会在提交取消请求时设置标记,并在迁移的主阶段开始前检查此标记。现在,即使在准备阶段,也可以正确取消迁移。- BZ#874050
- 某些 AMD 处理器包含内核报告为线程和内核的模块。在以前的版本中,
libvirt
处理器拓扑检测代码无法检测到这些模块。因此,libvirt
报告了实际处理器数量两次。这个程序错误已被报告一个拓扑来解决,该拓扑最多可添加到系统报告的处理器总数中。但是,必须在virCapabilities()
功能的输出中检查实际拓扑。另外,还提供了回退输出的文档。注意请注意,出于性能原因,用户应指示用户使用功能输出进行拓扑检测。NUMA 拓扑对性能有重要影响,但物理拓扑可能与此不同。 - BZ#879780
- 由于
virStorageBackendLogicalCreateVol()
功能的更改,卷类型的设置会被删除。因此,逻辑卷被视为没有格式的文件,libvirt
无法克隆它们。这个更新提供了一个补丁,用于按预期设置卷类型和libvirt
克隆逻辑卷。 - BZ#880919
- 当无法打开保存的文件时,会使用
NULL
参数调用virFileWrapperFdCatchError()
功能。因此,libvirtd
守护进程会因为 NULL pointer dereference 而意外终止。在这个版本中,只有在文件打开而不是崩溃时,才会调用virFileWrapperFdCatchError()
功能,守护进程现在会报告错误。 - BZ#884650
- 每当在无响应域中执行
virDomainGetXMLDesc()
功能时,调用也会变得无响应。在这个版本中,QEMU 在域上的内存用量有变化时发送BALLOON_CHANGE
事件,以便virDomainGetXMLDesc()
不再需要查询无响应域。因此,virDomainGetXMLDesc()
调用在上述场景中不再挂起。
功能增强
- BZ#638512
- 在这个版本中,增加了对磁盘和 RAM 的外部实时快照的支持。
- BZ#693884
- 在以前的版本中,
libvirt
可以使用 nwfilter 子系统将数据包过滤器应用到客户机网络连接。但是,这些过滤规则需要手动将客户机的 IP 地址输入到客户机配置中。当客户机通过DHCP
协议获取其 IP 地址时,这个过程无效;网络需要为每个客户机手动添加静态主机条目
,客户机的网络接口定义需要将相同的 IP 地址添加到其过滤器中。此功能增强改进了libvirt
,通过监控连接的DHCP
和ARP
流量来自动了解客户机网络连接使用的 IP 和 MAC 地址,以便设置基于主机的客户机特定数据包过滤规则,以阻止客户机不正确的 IP 或 MAC 地址的流量。使用这个新功能,可以编写 nwfilter 数据包过滤器,以使用自动检测的 IP 和 MAC 地址,这简化了客户机的调配过程。 - BZ#724893
- 当因为用户的特殊配置而不支持客户机 CPU 定义时,会返回错误消息。此功能增强改进了这个错误消息,使其包含指示不支持用户配置的选项的标记。
- BZ#771424
- Resident Set Size (RSS)限制控制进程可以使用的 RAM 量。如果进程泄漏内存,限制不允许进程影响系统中的其他进程。在这个版本中,QEMU 进程的 RSS 限制会根据为域配置多少 RAM 和视频 RAM 来设置。
- BZ#772088
- 在以前的版本中,
libvirt
库可以创建块快照,但无法清理它们。对于长时间运行的客户机,创建大量快照会导致性能问题,因为 QEMU 进程模拟器必须遍历较长的后备镜像链。此增强改进了libvirt
库,以控制 QEMU 进程模拟器的功能,它负责将快照镜像中的更改提交回后备文件中,并且后备链现在保持在更易于管理长度。 - BZ#772290
- 在以前的版本中,为
SPICE
和VNC
协议自动分配的端口在端口号 5900 上启动。在这个版本中,SPICE
和VNC
的起始端口可由用户配置。 - BZ#789327
- QEMU 客户机和 CD_ROM 或 Floppy 介质可以在客户机中直接暂停或恢复,而不必使用
libvirt
API。此功能增强改进了libvirt
库,以支持QEMU 监控协议
(QMP)的三个新事件:SUSPEND、WAKEUP
、DEVICE_TRAY_MOVED
事件。这些事件可让管理应用程序知道客户机状态或辅助状态已更改:
- 发出
SUSPEND
事件时,域状态将更改为pmsuspended
; - 当发出
WAKEUP
事件时,域状态将变为running
; - 当为磁盘设备发出
DEVICE_TRAY_MOVED
事件时,磁盘的当前托盘状态反映到libvirt
XML 文件中,因此管理应用程序不会以中插入的介质启动客户机,而介质已在客户机中弹出了。
- BZ#804749
- QEMU 进程模拟器现在支持 Intel 64 架构上运行的客户机的
TSC-Deadline 计时器
模式。此功能增强改进了使用这个功能的标志的libvirt
库,以便与 QEMU 同步。 - BZ#805071
- 在以前的版本中,在没有停止客户机的情况下,无法将客户机的网络连接移到不同的网络中。要更改连接,需要完全从客户机分离网络,然后在更改配置以指定新连接后重新附加网络。有了这个更新,现在可以更改客户机的接口定义来指定不同类型的接口,并更改网络或网桥名称或两者,都无需停止或暂停客户机或分离其网络设备。从客户机的角度来看,网络在整个转换过程中仍然可用;如果移动需要新的 IP 地址,可以通过更改客户机上的配置来处理该地址,或者请求它续订其
DHCP
租期。 - BZ#805243
- 当连接到
libvirt
库时,可能需要某些形式的身份验证,如果是,则向用户显示交互式提示。然而,在某些情况下,无法使用交互式提示,例如在自动化后台进程时。此增强改进了libvirt
,以使用$HOME/.libvirt/
目录中的auth.conf
文件为连接提供身份验证凭据。因此,这些凭证会预先填充,从而避免交互式提示。 - BZ#805654
- 此增强改进了
libvirt
,以支持将虚拟客户机网络设备连接到 Open vSwitch 网桥,为标准 Linux 主机网桥提供功能更全面的替代。除了其他功能外,Open vSwitch 网桥允许使用 Open Flow 标准设置更多与单一网桥的连接、透明 VLAN 标记和更好的管理。因此,libvirt
现在可以在客户机的接口定义中直接使用已存在的 Open vSwitch 网桥,也可以作为libvirt
网络中的一个桥接。网桥的管理必须超出libvirt
范围,但可以附加和分离客户机网络设备,并且可以为每个 端口分配 VLAN 标签和接口 ID。 - BZ#818996
- 某些用户更喜欢为服务器系统运行最小配置,不需要图形或 USB 支持。此功能增强提供了一个新功能,允许用户在客户机机器中禁用 USB 和图形控制器。
- BZ#820808, BZ#826325
- 在这个版本中,使用 passthrough 设备的域支持 virsh dump 命令。因此,可以使用 additional
-memory-only
选项转储这些域。 - BZ#822064
libvirt
库已经支持固定并限制与虚拟 CPU 关联的 QEMU 线程,但 I/O 线程等其他线程无法单独固定和限制。此功能增强改进了libvirt
,以分别支持固定和限制 CPU 线程和其他仿真程序线程。- BZ#822589
- 此增强改进了
libvirt
库,以便能够为每个域配置 Discretionary Access Control (DAC),以便某些域可以访问不同的资源。 - BZ#822601
- 在以前的版本中,只有
libvirtd
守护进程 “的系统实例”,它是以 root 用户身份运行的,可以使用 tap 设备和主机网桥设置客户机网络连接。“会话实例” 是以非 root 用户身份运行的会话实例,只能使用 QEMU 的有限 “用户模式” 网络。用户模式网络连接有一些限制,例如,它们不允许进入的连接,或者以方向进行 ping,并且比基于 tap-device 的网络连接慢。在这个版本中,libvirt
已被更新,以支持 QEMU 的新 SUID “网络帮助程序”,以便无特权libvirt
用户可以使用 tap 设备和主机网桥创建客户机网络连接。需要此行为的用户需要在虚拟机配置中将接口类型设置为桥接
,libvirtd
会自动注意到它以非特权用户运行,并通知 QEMU 使用其 “网络帮助程序” 设置网络连接。注意只有在接口类型是网桥
时,才支持此功能,即使指定的网络
使用了网桥设备,也不会用于网络接口类型。 - BZ#822641
- 在以前的版本中,具有大量内存的域的核心转储不必要。在这个版本中,添加了一个新的
dumpCore
选项,用于控制客户机的内存是否应包含在内核转储中。当此选项设置为off
时,核心转储会减少客户机内存大小。 - BZ#831099
- 此增强允许
libvirt
库设置 World Wide Name (WWN),它为 IDE 和 SCSI 磁盘提供稳定的设备路径。 - BZ#836462
- 此功能增强增加了控制 S3 (Suspend-to-RAM)和 S4 (Suspend-to-Disk)域状态的可能性。因此,可以将受支持的 QEMU 版本配置为不向客户机公告 S3 或 S4 功能。
- BZ#838127
- 在这个版本中,在
libvirt
库中添加了对 AMD Opteron G5 处理器模型的支持。此更改允许用户充分利用新功能的完整潜力,如16c
、fma
和tbm
。 - BZ#843087
- 此增强为
libvirt
库增加了对下一代 Intel Core 和 Intel Xeon 处理器的支持。下一个生成支持以下功能:fma
,pcid
,movbe
,fsgsbase
,bmi1
,hle
,avx2
,smep
,bmi2
,erms
,invpcid
, invpcid , andrtm
, previous Intel Xeon Processor E5-XXXX 和 Intel Xeon Processor E5-XXXX V2 系列。 - BZ#844404
- 在更改
libvirt
虚拟网络的配置时,需要重启网络才能使这些更改生效。此增强添加了一个新的 virsh net-update 命令,该命令允许修改网络配置的某些部分,并在不需要重启网络并断开客户机的情况下立即应用更改。因此,现在可以将静态主机条目添加到 并从网络的 dhcp 部分中移除;更改 DHCP 服务器动态分配的 IP 地址范围;修改、添加和删除 portgroup 元素;以及从转发元素的接口池中添加和移除接口,无需重新启动网络。有关 virsh net-update 命令的详情,请参阅virsh (1)
手册页。 - BZ#860570
- 有了这个增强,virsh 程序支持其命令的所有
命令的-help
选项,并显示适当的文档。 - BZ#864606
- 有了这个增强,
libvirt
库现在可以控制hv_relaxed
功能。此功能使 Windows 客户机可以更好地接受长期不活跃的时间。 - BZ#874171
libvirt
库的当前发行版本添加了几个与快照相关的功能。在这方面,能够创建外部快照,无论域是否正在运行还是离线。因此,还需要改进用户界面来支持 virsh 程序中的这些功能。在这个版本中,在 virsh 中添加了这些与快照相关的改进,以提供对这些功能的完全支持。- BZ#878578
- 为了安全起见,虚拟机中会阻断某些 SCSI 命令。这个行为与 SCSI 磁盘 逻辑单元号 (LUN)传递给可信客户机的应用程序相关。此增强改进了
libvirt
,以支持新的sgio
属性。将此属性设置为unfiltered
可让可信客户机调用所有支持的 SCSI 命令。
libvirtd
restart 命令重启 libvirtd 守护进程,才能使此更新生效。
安全修复
- CVE-2013-4311
- libvirt 调用 PolicyKit pkcheck 实用程序来处理授权。在 libvirt 使用这个实用程序的方式中发现了一个竞争条件,允许本地用户绕过预期的 PolicyKit 授权或使用 root 特权执行任意命令。
- CVE-2013-4296
- 注: 有了这个更新,libvirt 已重新构建,以通过不容易受到竞争条件的不同 API 与 PolicyKit 通信。还必须安装 polkit RHSA-2013:1270 公告来修复 CVE-2013-4311 问题。在 libvirtd 的 remoteDispatchDomainMemoryStats 功能中发现了一个无效的空闲缺陷。一个攻击者可以建立对 libvirtd 的只读连接,可能会使用这个缺陷使 libvirtd 崩溃。
程序错误修复
- BZ#984556
- 在此次更新之前,libvirtd 守护进程会泄漏 virCgroupMoveTask ()函数中的内存。提供了一个修复,它可防止 libvirtd 管理内存分配不正确。
- BZ#984561
- 在以前的版本中,libvirtd 守护进程在 virCgroupGetValueStr ()函数中的数组之前访问一个字节。这个程序错误已被解决,libvirtd 现在保留在数组绑定中。
- BZ#984578
- 迁移时,libvirtd 会泄漏目的地上的迁移 URI (统一资源标识符)。现在,提供了一个补丁来修复这个错误,迁移 URI 现在被正确释放。
- BZ#1003934
- 当为该接口设置了引导顺序时,使用 virDomainUpdateDeviceFlags API 更新网络接口会失败。即使在提供的设备 XML 中设置引导顺序,更新也会失败。virDomainUpdateDeviceFlags API 已被修复,从所提供的设备 XML 中正确解析引导顺序规格,并使用引导顺序更新网络接口现在可以正常工作。
7.129. libwacom
7.129.1. RHEA-2013:0333 - libwacom 增强更新
功能增强
- BZ#857073
- 在以前的版本中,libwacom 库不支持 Wacom Cintiq 22HD 图形平板电脑。因此,系统无法识别这种特定类型的图形平板电脑。这个版本添加了对 Wacom Cintiq 22HD 的支持,现在可以在不复杂的情况下使用。
7.130. lldpad
7.130.1. RHBA-2013:0414 - lldpad 程序错误修复和安全更新
程序错误修复
- BZ#818598
- 在以前的版本中,LLDPAD 不会侦听多播 MAC 地址。因此,它无法从本地连接的网桥收集信息,lldptool 显示了错误的信息。现在,应用了补丁来监控广播 MAC 地址,用户现在可以显示有关本地连接的网桥的正确信息。
- BZ#824188
- 在以前的版本中,在某些情况下,dcbtool 命令无法在安装过程中为所选接口启用光纤通道(FCoE)应用程序类型长度-值(TLV)。因此,数据中心桥接交换(DCBX)对等可能无法启用各种重要功能(如优先级流控制或 PFC)。为防止此类问题,现在默认启用 DCBX 中的特定于应用程序的参数(如 FCoE 应用程序 TLV)。
- BZ#829857
- 在以前的版本中,在从 IEEE DCBX 转换到旧的 DCBX 模式的过程中,DCBX (数据中心桥接交换)版本选择逻辑中的错误可能会导致 LLDPDU (Link 层发现协议数据单元)不会以 TLV (Type-Length Value)格式编码。因此,可能会出现在主机和对等设备间同步 DCBX 的链路 flaps、延迟或故障。如果从远程 FCoE (Fibre-Channel Over Ethernet) LUN (逻辑单元号)引导,这个程序错误可能会导致引导失败。这个更新修复了这个 bug,现在始终在上述场景中使用 TLV。
- BZ#870576
- 当任何用户优先级属性都启用 PFC (基于Priority 的 Flow Control)时,尝试查询当前配置的 LocalAdminParam 值 "enabled" 参数会生成消息 "End of LLDPDU TLV"。上游补丁已被应用,现在 lldptool 工具在描述的场景中返回 "none"。
- BZ#870578
- 在以前的版本中,当对等删除了一个 TLV (ETS、PFC 或 APP)时,802.1Qaz 模块不会更新本地 MIB。因此,这会导致旧的对等数据保留,即使它不再在收到的 PDU 中。在这个版本中,即使 NULL PTR 收到 MIB,也会清除本地 MIB 来解决这个问题。因此,在描述的场景中,PFC 的操作状态会恢复到 localAdminParams 设置。
功能增强
- BZ#738897
- 在这个版本中,增加了对与绑定接口上的 IEEE 802.1Qbg 标准的支持。用户现在可以充分利用 802.1Qbg 功能。
7.131. lm_sensors
7.131.1. RHBA-2012:1309 - lm_sensors 程序错误修复
程序错误修复
- BZ#610000, BZ#623587
- 在此次更新之前,sensors-detect 脚本不会检测所有 GenuineIntel CPU。因此,lm_sensors 不会自动加载 coretemp 模块。在这个版本中,为 Intel CPU 使用更通用检测。现在,coretemp 模块会如预期加载。
- BZ#768365
- 在此次更新之前,sensors-detect 脚本会在没有用户定义的输入运行时报告错误。这个行为不会影响函数,但可能会导致用户混淆。在这个版本中,修改底层代码,以允许 sensors-detect 脚本在没有用户的情况下运行。
7.132. logrotate
7.132.1. RHBA-2012:1172 - logrotate 程序错误修复更新
错误修复
- BZ#827570
- 如果同时使用了"mailfirst"和"delaycompress"选项,则尝试将文件发送到特定的电子邮件地址会失败。这是因为 logrotate 搜索具有"gz"后缀的文件,但该文件尚未压缩。底层源代码已被修改,logrotate 可以正确地找到并发送文件。
7.133. lohit-telugu-fonts
错误修复
- BZ#640610
- 由于 lohit-telugu-fonts 软件包中的一个错误,四个特定的合成程序被错误地渲染。这个程序错误已被解决,这些同步现在可以正确呈现。
7.134. luci
7.134.1. RHBA-2013:0309 - luci 程序错误修复和功能增强更新
程序错误修复
- BZ#807344
- 在以前的版本中,包含非标准字符的
/
etc/cluster/cluster.confError 500 We're sorry but we weren't able to process this request.
这个程序错误已被解决,luci 现在处理其名称包含上述字符的资源和服务,而不复杂。 - BZ#815666
- 当
隔离实例
使用/etc/cluster/cluster.conf
文件中的delay
unfence
实例,没有延迟属性。unfence 状态在luci
界面中错误地显示为 disabled,但未执行 unfencing 但没有复杂情况。在这个版本中,底层源代码已被修改来解决这个问题。因此,在luci
中可以正确地报告 unfence。 - BZ#826951
- 在以前的版本中,可以使用 luci 应用程序创建带有无效名称的隔离设备(以数字开头)。该设备已被成功创建,但
/etc/cluster/cluster.conf
文件没有通过 schema 验证检查。这个 bug 已被修复,现在会显示一个警告信息以防止用户在/etc/cluster/cluster.conf
文件中设置无效的设备名称。 - BZ#853151
- 在以前的版本中,在没有向用户发出通知的情况下,会丢弃与 luci 和
ricci
应用程序之间的通信相关的某些错误。另外,在/var/log/luci/luci.log
文件中可能会出现以下信息:No object (name: translator) has been registered for this thread
在这个版本中,这个行为已被修改,上面描述的错误现在可以正确写入日志文件中。 - BZ#856253
- 在此次更新之前,在对话框窗口中,双击 按钮会导致列出集群两次。在这个版本中,底层源代码已被修改来解决这个问题,无论按下 按钮的次数,集群现在会只列出一次。
- BZ#860042
- 在以前的版本中,当试图创建引用同一全局资源两次的服务时,luci 应用程序会意外终止,并显示以下信息:
A resource named "<name>" already exists
这个程序错误已被解决,luci 现在接受服务组中的多个引用。 - BZ#877188
- 在以前的版本中,luci 应用程序允许设置
max_restarts
、__max_restarts
和__max_failures
变量,而无需设置对应的超时变量(restart_expire_time
、__restart_expire_time
、__failure_expire_time
),以及相反的方式。这个行为已被更改,现在会在未设置相应的变量时发出错误。 - BZ#877392
- 当使用
luci
接口启用 self_fence 属性时,/etc/cluster/cluster.conf
文件中的对应条目被错误地写入。以self_fence="on"
的形式分配一个值,而不是self_fence="1"
或self_fence="yes
"。因此,隔离操作会失败。这个程序错误已被解决,self_fence 现在使用正确的值分配。因此,当使用 luci 启用时,隔离现在可以正常工作。 - BZ#881796
- 某些之前版本的 Microsoft Internet Explorer 错误地处理包含尾随逗号的 JavaScript 文件。因此,luci 接口的多个对话框窗口会受到影响。在这个版本中,结尾的逗号已从 luci JavaScript 文件中删除,以确保旧版本 Microsoft Internet Explorer 中的正确 luci 功能。
- BZ#881955
- 在此次更新之前,接受布尔值输入的资源和服务属性不使用一致的值来指示启用或禁用的状态。接受的值为:
1
或0,
at 或off
,
yes
或no
,true
或false
。在这个版本中,只有1
或0
的值在使用布尔值输入的属性中只接受。 - BZ#882995
- 在以前的版本中,在使用启用的
unfence
选项重命名隔离设备后,这个unfence
实例没有使用新名称更新,并被称为不存在的设备。这个 bug 已被修复,在重命名隔离设备时,未隔离引用会被正确更新。 - BZ#886678
- 在此次更新之前,luci 资源模板在处理
/etc/cluster/cluster.conf
文件时搜索oracle
属性而不是 type。因此,无论实际分配的值是什么,oracledb 属性始终在 luci 界面中显示为type
Default
。这个 bug 已被修复,luci 现在可以正确地显示oracletype
类型。
功能增强
- BZ#740867
- 在这个版本中,在 luci 应用程序中添加了对 IBM iPDU 隔离设备的支持。
- BZ#809892
- 在这个版本中,在 luci 接口的 和 页面中添加了一个新的 user 表。现在,可以从 luci 中删除用户。
- BZ#821928
- 在这个版本中,支持配置 fence_ipmilan 隔离代理使用的
privlvl
(特权级别)属性。现在,luci 可以成功配置privlvl
。 - BZ#822502
- 在这个版本中,在 luci 应用程序中添加了对文件系统和集群文件系统资源代理的
nfsrestart
选项的支持。这个选项提供了一种强制重启 NFS 服务器的方法,并允许完全卸载导出的文件系统。 - BZ#865300
- 在这个版本中,增加了 fence_eaton 代理,以支持 Red Hat Enterprise Linux 6 中的 Eaton ePDU (Enclosure Power Distribution Unit)设备到 luci 软件包中。
- BZ#865533
- 在这个版本中,在 luci 应用程序中添加了用于配置和显示 fence_hpblade 隔离设备的接口。
7.134.2. RHBA-2013:1445 - luci 程序漏洞修复更新
程序错误修复
- BZ#969328
- 在以前的版本中,luci 没有包括一些隔离设备的参数的并发添加(包括 "cmd_prompt", "login_timeout", "power_timeout", "retry_on", "shell_timeout")或相应的实例("delay")在 fence-agents 软件包中发生。因此,在提交 luci 的专用表单时,可从配置的相应部分丢弃有效的参数。这个版本恢复了 luci 功能,以便使用完整的隔离代理参数集合,并防止 luci 意外丢弃已经配置的功能。
- BZ#996423
- 在以前的版本中,luci 不包括隔离设备覆盖的并发添加,如 fence-agents 软件包所发生。因此,Dell iDRAC (idrac)、HP iLO2 (ilo2)、HP iLO3 (ilo3)和 IBM Integrated Management Module (imm)设备或代理没有遵守 luci,从而导致不能正常工作或设置组成它们的集群。在这个版本中,恢复了 luci 功能,以便使用完整的隔离设备集合。
7.135. lvm2
7.135.1. RHBA-2013:0501 - lvm2 程序错误修复和安全更新
程序错误修复
- BZ#837927
- 在创建 RAID 逻辑卷时,如果未指定"-
regionsize (-R)
"选项(与 lvcreate 命令一起使用),则无法创建或扩展大于 2 TB 的 LV。因此,创建或扩展此类卷会导致错误。在这个版本中,在创建或扩展时会自动调整区域大小,现在可以创建大型 LV。 - BZ#834703
- 扩展 RAID 4/5/6 逻辑卷无法正常工作,因为没有考虑奇偶校验设备。这个问题已通过涵盖"简单"案例,其中 LV 扩展与原始条带数相同(使用不同数目的条带化或扩展 RAID 4/5/6 LV 尚未实施)。因此,现在可以扩展 RAID 4/5/6 逻辑卷。
- BZ#832392
- 当在
/etc/lvm/lvm.conf
文件中使用或配置issue_discards=1
配置选项时,通过 pvmove 命令移动物理卷会导致数据丢失。这个版本解决了这个问题。 - BZ#713599, BZ#800801
- 在系统关闭时,设备映射器设备(包括 LVM 设备)没有被取消激活。因此,当设备映射器设备在其它块设备之上分层,且在关闭或重启过程中分离它们时,任何对设备映射器设备的访问都会最终出现 I/O 错误或无响应系统,因为底层设备无法访问(如 iSCSI 或 FCoE 设备)。在这个版本中,提供了一个新的
blkdeactivate
脚本和blk-availability
shutdown 脚本。这些脚本会在关闭或重启时停用和分离底层设备前卸载和停用任何现有设备映射器设备。因此,如果在关闭或重启过程中使用附加存储,则不会出现 I/O 错误或挂起。 - BZ#619574
- 可使用三种不同类型的日志设备创建 LVM 镜像:核心(内存中)、磁盘和镜像。镜像日志 本身冗余,并位于两个不同的物理卷中。在以前的版本中,如果组成镜像日志的设备都丢失,它们并不总是会在修复过程中正确替换,即使存在备用设备。在这个版本中,如果有足够的替换 PV,镜像的日志可以正确地被 镜像日志 替换。
- BZ#832120, BZ#743505
- 镜像逻辑卷本身可以有一个镜像日志设备。当镜像中的一个设备同时失败且其日志同时失败时,可能会导致意外的 I/O 错误出现在 mirror LV 中。依赖于剩余的设备,内核没有从故障设备显示 I/O 错误。然后,这会导致在设备上构建的文件系统响应 I/O 错误(如果是 ext3/4 文件系统,则使只读)。原因可能是镜像没有暂停进行修复,使用
noflush
标志进行修复。此标志允许内核重新排序需要重试的 I/O 请求。因为内核不允许重新排队请求,所以没有选择,而是返回 I/O 错误。这个 bug 已被修正,允许首先修复日志,因此可以成功完成顶级镜像的日志。现在,使用noflush
标志正确暂停镜像。 - BZ#803271
- 当在集群环境中处理 LVM2
命令时使用
LVM2 配置选项)时,LVM2 命令无法正常工作并发出各种错误消息。在这个版本中,如果设置了集群锁定,则会自动禁用lvmetad
守护进程(全局/use_
lvmetad=1lvmetad
守护进程,因为 LVM2 尚不支持此配置。因此,如果使用集群锁定并发出警告信息,LVM2 中现在有一个非lvmetad 操作:WARNING: configuration setting the
use_lvmetad
parameter overriden to 0 due to thelocking_type 3
parameter. Clustered environment is not supported by thelvmetad
daemon yet. - BZ#855180
- 当用户试图将精简快照卷转换为只读卷时,会显示内部错误消息,操作会失败。在这个版本中,精简快照卷可以转换为只读模式。另外,要将精简池转换为只读模式,请明确添加有关不支持的功能的错误消息。
- BZ#801571
- 在以前的版本中,当 RAID 逻辑卷没有同步时设备失败,则任何尝试修复它都会失败。现在,这个问题单已被处理,但请注意以下限制:
- 用户无法修复或替换没有激活的 RAID 逻辑卷中的设备。工具( lvconvert -repair 命令)必须知道阵列的同步状态,只能在阵列激活时获得。
- 用户不能替换 RAID 逻辑卷中未完成其初始同步的设备。这样做会产生无法预计的结果,因此不允许使用。
- 用户可以修复尚未完成初始同步的 RAID 逻辑卷,但有些数据可能无法恢复,因为它没有时间使这些数据完全冗余。在这种情况下,会输出警告信息,如果用户希望继续,则会查询用户。
- BZ#871058
lvmetad
守护进程中的竞争条件偶尔会导致 LVM 命令间歇性失败,无法找到由另一个命令同时更新的 VG。在这个版本中,竞争条件不再发生。- BZ#857554
- 如果在配置文件中启用了
issue_discards
选项,并且 lvremove 命令针对缺少物理卷的部分逻辑卷运行,则 lvremove 命令会意外终止。这个程序错误已被解决。另外,当逻辑卷部分时,LVS 命令输出中也会设置新的p
属性。 - BZ#820116
- 在以前的版本中,当卷组中有零物理扩展(PE)的物理卷时,使用物理卷只存储元数据时,vgcfgrestore 命令会失败并显示 "Floating point exception" 错误,因为命令尝试按零划分。添加了正确检查条件以防止错误,现在在使用 vgcfgrestore 命令后,会成功写入 VG 元数据。
- BZ#820229
- 在以前的版本中,当尝试重命名精简逻辑卷时,流程会失败并显示以下错误消息:
"lvrename Cannot rename <volume_name>: name format not recognized for internal LV <pool_name>"
这个程序错误现已解决,用户可以成功重命名精简逻辑卷。 - BZ#843546
- 在以前的版本中,如果 RAID 逻辑卷中发生设备失败,且 VG 中没有备用设备,则无法将物理卷添加到卷组中。因此,用户无法替换 RAID LV 中失败的设备,且 VG 在不物理编辑 LVM 元数据的情况下无法保持一致。现在,可以在缺少或失败的设备的 VG 中添加 PV,并使用 lvconvert --repair <vg>/<LV> 命令替换 RAID LV 中的失败的设备。
- BZ#855398
- 对镜像逻辑卷进行不正确的限制会导致在激活过程中忽略它们。用户无法在集群的 mirror LV 上创建卷组,且无法递归堆栈集群 VG。这个限制已被优化为传递镜像,这会导致 LVM 命令无限期阻断,并现在可以在集群的 mirror LV 上分层 VG。
- BZ#865035
- 当卷组或逻辑卷中缺少设备时,无法从 LV 中添加或删除标签。如果 LV 的激活是基于在配置文件中的
volume_list
参数标记的,则 LV 无法激活。受影响的高可用性 LVM (HA-LVM),在没有缺少设备时添加或删除标签,则无法使用 HA-LVM 配置中的 RAID LV。在这个版本中,在缺少 PV 时,允许 vgchange 和 lvchange 更改有限选项集的 LVM 元数据。包括了 "- --add|del]" 标签,并且允许选项集不会导致对设备映射器内核目标的更改,且不会更改 LV 的结构。
- BZ#845269
- 当 LVM 命令遇到
lvmetad
守护进程的响应问题时,命令可能会导致系统意外终止,并显示分段错误。目前,LVM 命令可以与lvmetad
正常工作,即使lvmetad
中有不正确的响应,也不会崩溃。 - BZ#823918
- 运行 LVM 进程无法在
lvmetad
守护进程和非lvmetad 操作的模式间切换,这会导致 LVM 进程在轮询运行 lvconvert 操作的结果时意外终止并出现分段错误。在这个版本中,分段错误不再发生。 - BZ#730289
clvmd
守护进程消耗了大量内存资源来处理每个请求。每个请求调用线程,默认情况下,每个线程为堆栈分配了大约 9 MB 的 RAM。要修复这个程序错误,默认的线程的堆栈大小已减少到 128 KB,这足以使当前版本的 LVM 处理所有任务。这会导致clvmd
守护进程在运行时使用大量内存减少。- BZ#869254
- 在以前的版本中,禁用
udev
同步会导致udev
验证持续启用,忽略实际的用户定义的设置。因此,在处理相关节点时,libdevmapper
/LVM2 会错误地绕过udev
。已修复libdevmapper
库,以遵守udev
验证的实际用户设置。因此,即使udev
验证和udev
同步同时被禁用,udev
也会正常工作。 - BZ#832033
- 在以前的版本中,当使用
lvmetad
守护进程时,将--test
参数传递给命令偶尔会导致lvmetad
缓存维护的lvmetad
缓存不一致。因此,当涉及共享磁盘时,磁盘崩溃会发生。上游补丁已被应用来修复这个错误。 - BZ#870248
- 由于对 device-mapper-persistent-data 精简池设备缺少的依赖在激活时不会被监控。因此,未监控的池可能会覆盖配置的阈值。要修复这个程序错误,启用精简池监控的代码路径已被修复,缺少的软件包依赖项会添加。因此,在配置了精简池监控时,
dmeventd
守护进程会被启用来监视池填充。 - BZ#836653
- 有时没有检测到逻辑卷大小失败,lvremove 命令也会成功退出,即使它未能操作 LV。在这个版本中,lvremove 在上述场景中返回正确的退出代码。
- BZ#836663
- 当使用包含忽略元数据区域的物理卷(PV)时,LVM 命令(如 pvs )可能会因为 VG 中处理独立 PV 的顺序将 PV 错误地显示为孤立。在这个版本中,在 VG 中处理 PV 已被修复,可以正确考虑带有忽略的元数据区域的 PV,因此处理顺序不再重要,LVM 命令现在总是提供相同的正确结果,无论有忽略的元数据区域的 PV 是什么。
- BZ#837599
- 发出 vgscan --cache 命令(用于刷新
lvmetad
守护进程)不会删除不再存在的物理卷或卷组的数据 - 它只会更新现有实体的元数据。在这个版本中,vg scan --cache 命令删除所有不再相关元数据。 - BZ#862253
- 当有多个并行 LVM 命令运行时,
lvmetad
守护进程可能会死锁,并导致其他 LVM 命令停止响应。这个行为是由lvmetad 的
多线程代码中的一个竞争条件造成的。现在,这个代码已被改进,现在并行命令可以成功,且不会发生死锁。 - BZ#839811
- 在以前的版本中,当出现无效的快照时,第一个属性标志被错误地设置为
S
,而第一个位置中的这个值应该代表合并快照。无效的快照通常通过大写第五个逻辑卷属性字符来指示。这个 bug 已被修复,lvs
工具不再为无效的快照使用第一个 LV 属性字符,但根据需要使用第五个。 - BZ#842019
- 在以前的版本中,在创建 RAID 逻辑卷时可以指定不正确的参数,这可能会损害创建的设备。不再允许这些不当参数。
- BZ#839796
- 由于处理子逻辑卷(LVs)不正确,
pvmove
工具不一致,并返回 RAID 误导消息。要修复这个程序错误,使用pvmove
无法在 RAID LV 上运行。现在,如果需要将 RAID LV 的组件从一个设备移到另一个设备,使用 lvconvert --replace <old_pv> <vg>/<lv> <new_pv& gt; 命令。 - BZ#836381
- 内核不允许在 RAID 逻辑卷中添加镜像,而这个阵列没有同步。在以前的版本中,LVM RAID 代码不会检查 LV 是否已同步。因此,可能会发出无效的请求,这会导致错误。在这个版本中,会检查上述条件,用户会通知操作无法进行,直到同步阵列为止。当阵列没有同步时,内核不允许将额外镜像添加到 RAID 逻辑卷中。在以前的版本中,LVM RAID 代码不会检查 LV 是否处于同步条件,这可能会导致请求无效。在这个版本中,LVM RAID 已被修改来检查上述条件,现在会在因为未同步阵列停止操作时通知用户。
- BZ#855171, BZ#855179
- 在此次更新之前,将精简池转换为镜像会导致中止错误消息。因为不支持这个转换,所以一个明确的检查会在
lvm
工具试图执行它前阻止这个转换。现在,错误消息会返回一个明确的错误消息,表示不支持该功能。 - BZ#822248
- 在此次更新之前,如果 RAID 逻辑卷在集群卷组中激活,则 RAID 逻辑卷可能会被破坏。要修复这个程序错误,如果 VG 中存在 RAID LV,则不再允许 VG 变为集群的 VG。
- BZ#822243
- 在以前的版本中,可以在集群卷组中创建 RAID 逻辑卷。由于 RAID LV 无法集群,并在集群中激活它们可能会导致数据损坏,因此在集群中创建 RAID LV 的功能已被禁用。
- BZ#821007
- 在以前的版本中,如果没有定义预先存在的逻辑卷上的最后一个片段,则应用正常的
cling
分配策略,并且会成功创建或扩展 LV,即使单个物理卷上没有足够的空间,且lvm.conf
文件中没有定义额外的 PV。在这个版本中,修正了cling
allocation 策略的行为以及在这些情况下创建或扩展 LV 的任何尝试现在都会如预期失败。 - BZ#814782
- LVM 过滤器和
lvmetad
的交互可能会导致意外和不必要的结果。另外,在lvmetad
守护进程运行时对"filter"设置的更新不会强制lvmetad
忘记过滤器禁止的设备。由于lvm.conf
文件中的普通"filter"设置经常在命令行中使用,因此新选项已添加到lvm.conf
(global_filter)中,它也适用于lvmetad
。传统的"filter"设置仅适用于命令级别,不会影响对lvmetad
的设备可见性。这些选项在示例配置文件中更为详细地记录。 - BZ#814777
- 在此次更新之前,lvrename 工具无法正确地用于精简配置(池、元数据或快照)。
这个程序错误已通过对堆栈设备进行全面支持来解决。现在
,
lvrename 会如预期处理所有类型的精简逻辑卷。 - BZ#861456
- 当使用带有--
thinpool
和-mirror
选项的 lvcreate 命令创建逻辑卷时,thinpool
标志会被忽略,并创建了常规逻辑卷。在这个版本中,不再允许将--thinpool
选项与--mirror
选项搭配使用,lvcreate 命令会在这些情况下失败,并显示正确的错误消息。 - BZ#861841
- 在以前的版本中,
lvm2app.h
头文件中声明的 lvm_percent_to_floatlvm2app
库中有一个实现。任何尝试使用这个功能的程序都会在链接时失败。应用了lvm2app.h
的补丁来修复这个错误,lvm_percent_to_float
() 现在可以正常工作。 - BZ#813766
- 在以前的版本中,如果
lvm.conf
文件中设置了use_lvmetad = 1
选项,LVM 工具会在引导过程中返回假的警告信息。这个问题已被解决,引导过程中不再发出警告消息。 - BZ#862095
- 由于
lvm2app
库的未实现的 <data_percent
> 属性,精简卷返回不正确的 value-1
。这个程序错误已通过添加对lvm_lv_get_property (lv, <data_percent>)
功能的正确支持来解决。现在,lvm2app
返回正确的值。 - BZ#870534
- 由于一个错误的初始化序列,运行(LVM)命令会导致 LVM 工具中止,而不是继续扫描基于扫描的元数据发现(通过使用-
config "global{use_lvmetad=0"}
选项请求)。只有在 LVM 命令运行时带有lvmetad
缓存守护进程时,才会发生这个程序错误。这个程序错误已被解决,LVM 不再中止。 - BZ#863401
- 在以前的版本中,pvscan --cache 命令无法读取 LVM1 元数据的一部分。因此,当将 LVM1 (传统)元数据和
lvmetad
守护进程一起使用时,LVM 命令可能会在调用时运行到无限循环。这个程序错误已被解决,LVM1 和lvmetad
现在可以正常工作。 - BZ#863881
- 由于缺少
lvm2app
库支持,报告精简快照origin
字段的值不正确。补丁已更新,为lvm_lv_get_property (lv, "origin")
函数返回正确的响应。 - BZ#865850
- 在以前的版本中,RAID 4/5/6 逻辑卷完成其初始阵列同步的程度(例如,初始奇偶校验计算)没有在 lvs 命令输出中打印。现在,此信息包含在从
Copy%
改为Cpy%Sync
的标题下。用户现在可以使用lvs -o copy_percent
或lvs -o sync_percent
选项直接请求Cpy%Sync
信息。 - BZ#644752
- 在以前的版本中,当使用物理卷时,保留专用锁定以防止在需要读取任何卷组元数据时同时运行其他 PV 命令。当使用
lvmetad
作为lvmetad
缓存 VG 元数据时,这不再需要,因此避免了专用锁定。因此,可以并行运行大量读取 VG 元数据的 PV 命令,而无需专用锁定。 - BZ#833180
- 不允许将线性逻辑卷转换为 RAID 4/5/6 逻辑卷。当用户试图执行此操作时,会返回一个信息,表示返回原始 LV 已
条带
而不是线性
。现在,消息已被更新,现在只返回带有正确和相关内容的消息。 - BZ#837114
- 在以前的版本中,尝试测试 RAID 逻辑卷的 create 命令会导致失败,即使进程本身在没有该命令的-
test
参数的情况下成功。在这个版本中,如果命令成功,对 create 命令的测试会正确指示成功。 - BZ#837098
- 在以前的版本中,RAID 逻辑卷的用户恢复重新同步无法导致 RAID LV 执行实际的重新同步。这个程序错误已被解决,LV 现在会如预期执行重新同步。
- BZ#837093
- 使用--
nosync 选项创建 RAID 或镜像逻辑卷
时,会将带有此信息的属性附加到 LV。在以前的版本中,当 LV 转换为线性 LV 时,RAID1 LV 不会清除此属性,即使它在此过程中完全重新同步也是如此。在这个版本中,--nosync
已被修复,属性现在可以在 LV 转换后正确清除。 - BZ#836391
- 由于代码中出现错误,RAID 逻辑卷的用户发起重新同步非常有效。在这个版本中,在 RAID LV 上添加了 lvchange --resync 命令,这样就使 LV 进行完全重新同步。
- BZ#885811
- 在以前的版本中,卷组(VG)自动激活代码中的错误可能会导致 LVM 命令意外终止,并显示以下信息:
Internal error: Handler needs existing VG
在这个版本中,使用缓存的 VG 元数据,而不依赖于最后一次发现的 PV 的 absent MDA 内容。因此,不再发生上述错误。 - BZ#885993
- 在此次更新之前,测试
mirror
工具的健康状况会导致较小的内存泄漏。要修复这个程序错误,这个功能中的所有资源都已释放,长期延迟进程(如dmeventd
守护进程)不再会发生内存泄漏。 - BZ#887228
- 在以前的版本中,嵌套的 mutex 锁定可能会导致
lvmetad
守护进程中的死锁。因此,与lvmetad
对话的逻辑卷管理器(LVM)命令变得不利。嵌套锁定已被删除,死锁不再发生。 - BZ#877811
- 在以前的版本中,当修复镜像或 RAID 卷时,
lvconvert
工具处理-y
and-f
命令行选项不一致。虽然-f
选项本身可以正常工作,当与-y
选项一同使用时,会忽略 the-f
选项。在这个版本中,lvconvert
可以正确处理-f
选项,如 man page 所述。 - BZ#860338
- 当物理卷存储在只读磁盘上时,vgchange -ay 命令无法激活任何逻辑卷,并返回以下出错信息:
/dev/dasdf1: open failed: Read-only file system device-mapper: reload ioctl failed: Invalid argument 1 logical volume(s) in volume group "v-9c0ed7a0-1271-452a-9342-60dacafe5d17" now active
但是,这个错误消息没有反映错误的性质。在这个版本中,命令已被修复,卷组现在可以在只读磁盘上激活。 - BZ#832596
- 空间分配逻辑中的错误会导致使用--
alloc anywhere
选项创建逻辑卷偶尔失败。RAID 4/5/6 系统特别影响。这个程序错误已被解决,以避免为 RAID 设备选择已满区域。
功能增强
- BZ#783097
- 在以前的版本中,
device-mapper
驱动程序 UUID 可使用udev
工具创建/dev
内容。如果没有启用 mangling,则udev
为包含不支持的字符的 UUID 创建不正确的条目。在这个版本中,libdevmapper
库中的字符支持以及没有在 udev 支持的白名单中的字符的dmsetup
工具已被改进,以处理设备映射器
UUID 与设备映射器
名称相同。UUID 和名称现在总是由相同的 mangling 模式控制,因此现有的--manglename dmsetup
选项也会影响 UUID。另外,dm setup info -c -o 命令有要显示的新字段:mangled_uuid
和unmangled_uuid
。 - BZ#817866, BZ#621375
- 在以前的版本中,用户必须通过在命令行中调用 vgchange/lvchange -ay 来手动激活卷组和逻辑卷。这个更新添加了自动激活功能,LVM2 现在允许用户在引导时精确地激活哪个逻辑卷,哪些逻辑卷应保持不活跃状态。目前,这个功能只在非集群和完整的 VG 中被支持。请注意,要激活这个功能,必须启用
lvmetad
(全局/use_lvmetad=1
LVM2 配置选项)。 - BZ#869402
lvconvert
工具的手册页已使用新的支持选项更新,以便将现有卷转换为精简池。- BZ#814732
- 在以前的版本中,用户无法指定逻辑卷已经包含池信息("预格式化的 LV")转换为合法精简池 LV。此外,为数据和元数据 LV 使用适当的物理卷(PV)和元数据 LV,指导分配机制是很复杂。由于在这些情况下可以使用
lvconvert
工具,所以lvconvert
已被改进,以支持将预先格式化的 LV转换为精简池卷。使用--thinpool data_lv_name
和--poolmetadata metadata_lv_name
选项时,用户可以使用预格式化的 LV 来构造精简池,就像 lvcreate 实用程序一样。 - BZ#636001
- 新的可选元数据缓存守护进程(
lvmetad
)作为 LVM2 更新的一部分提供,以及用于设备扫描的udev
集成。如果启用了守护进程,可以避免使用每个 LVM 命令重复扫描系统中的所有块设备。通过在lvm.conf
文件中禁用lvmetad
可随时恢复原始行为。 - BZ#814766
- 在以前的版本中,无法使用默认行为来微调某些工作负载的性能。现在,通过可配置的丢弃支持改进了精简池支持。用户现在可以从三种类型的行为中选择:
passdown
是默认的,并允许将丢弃请求传递给精简池后备设备;nopassdown
进程只允许在精简池级别丢弃,请求不会传递给后备设备;忽略
忽略请求。 - BZ#844492
- 添加了对双向镜像 RAID10 的 LVM 支持。LVM 现在可以创建、删除和调整 RAID10 逻辑卷的大小。要创建 RAID10 逻辑卷,请像其它 RAID 类型一样指定独立的 RAID 参数,如下例所示:
~]# lvcreate --type raid10 -m 1 -i 2 -L 1G -n lv vg
请注意,-m
和-i
参数的行为与用于其他片段类型的行为相同。也就是说,-i
是条带的总数,-m
是(additional)副本的数量(即,-m 1 -i 2
在双向镜像顶部提供 2 个条带)。 - BZ#861843
lvm2app
库现在报告 data_percent 字段,该字段指示完整快照、精简池和卷的方式。逻辑卷需要处于活动状态才能获取此信息。- BZ#814824
- 精简池现在支持非指数 2 块大小。但是,大小必须是 64KiB 的倍数。
- BZ#823660
- 将
-l
选项添加到lvmetad
守护进程中,以允许记录有线流量以及有关内部操作到标准错误
流的详细信息。这一新功能主要用于故障排除和调试。 - BZ#834031
- 在以前的版本中,在创建 RAID 逻辑卷时,可以在命令行上传递不正确的参数,例如 RAID 5 的- mirrors 命令。因此,会产生错误和意外的结果。在这个版本中,会发现并报告无效的参数。
- BZ#823667
lvmdump
工具已扩展为包括内部lvmetad
守护进程状态的转储,有助于对与lvmetad
相关的问题进行故障排除和分析。- BZ#830250
- 在 Red Hat Enterprise Linux 6.4 中,LVM 添加了对 Micron PCIe Solid State Drives (SSD)的支持,作为可能构成卷组一部分的设备。
- BZ#883416
DM_DISABLE_UDEV
环境变量现在被识别,在使用 LVM2 工具时优先于其他现有设置,dmsetup 和 libdevmapper 回退到非udev 操作。设置DM_DISABLE_UDEV
环境变量提供了一种更加便捷的方式,可以在 libdevmapper、dmsetup 和 LVM2 工具中禁用 udev 支持,而无需修改任何现有配置设置。这在系统环境没有使用udev
时很有用。- BZ#829221
- 物理卷(PV)现在在再次访问后会自动从 缺失 状态恢复,即使它们没有活跃的元数据区域。对于 PV 的临时访问性(例如,互联网小型计算机系统接口(iSCSI)或其他不可靠的传输),LVM 需要手动操作来恢复 PV,即使没有冲突空间,因为 PV 上没有活跃的元数据区域(MDA)。在这个版本中,如果 PV 没有活跃的元数据区域,则不再需要手动操作。
7.135.2. RHBA-2013:1504 - lvm2 程序错误修复更新
错误修复
- BZ#1024911
- 当系统中有可见的集群卷组时,在非集群锁定类型(全局/locking_type lvm.conf 设置)时无法静默地跳过它们,并带有正确的返回错误代码。要修复这个程序错误,为几个 LVM 命令添加了"--ignoreskippedcluster"选项(pvs、vgs、lvdisplay、vgdisplay、lvdisplay、vgchange 和 lvchange)。使用此选项时,当返回错误代码不依赖于这些集群卷组时,集群卷组会被正确跳过。
7.135.3. RHBA-2013:1471 - lvm2 程序错误修复更新
程序错误修复
- BZ#965810
- 在以前的版本中,在使用带有 xfs 文件系统的 Red Hat Enterprise Linux 6 的某些 HP 服务器中,代码中的一个回归会导致 lvm2 工具忽略 "optimal_io_size" 参数,并使用 1MB 偏移启动。因此,磁盘写入操作会增加,这会导致数据对齐,并大大降低服务器的性能。在这个版本中,lvm2 不再忽略 "optimal_io_size",在这种情况下不再发生数据错误对齐。
- BZ#965968
- lvm2 工具通过在 /proc/devices 文件中搜索 "emcpower" 行来确定 PowerPath 主号码。在以前的版本中,一些 PowerPath 版本使用 ID 字符串 "power2"。因此,在使用这样的标识符的系统上,PowerPath 设备没有给出与存在相同的物理卷 UUID 的 PowerPath 组件的预期优先级。在这个版本中,对 EMC 电源设备的检测可以正常工作,设备的优先级会被正确设置。
- BZ#1016083
- 由于 LVM 分配代码中的一个错误,lvm2 会尝试释放空间分配连续到现有条带空间。当尝试使用 lvextend 命令扩展三向条状逻辑卷时,lvm2 工具会意外终止并出现分段错误。有了这个更新,LVM 的行为已被修改,lvextend 现在会在没有分段错误的情况下完成扩展。
7.136. mailman
7.136.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"字符串现在可以正确地转义,在上述场景中信息不再分割。
7.137. man-pages-overrides
程序错误修复
- BZ#806845
- 在此次更新之前,在 dmidecode (8)手册页中有关 SMBIOS 的文档不明确。在这个版本中,在 dmidecode (8)手册页中修复了有关 SMBIOS 的信息。
- BZ#814417
- 在此次更新之前,vncviewer (1)和 Xvnc (1)手册页中缺少 TigerVNC 工具中的"-SecurityTypes"选项的描述。在这个版本中,在 vncviewer (1)和 Xvnc (1)手册页中添加了一个描述。
- BZ#845657
- 在此次更新之前,numactl (8)手册页上的 localalloc 选项没有明确描述。在这个版本中,在 numactl (8)工具中添加了一个 localalloc 选项的清晰描述。
- BZ#846591
- 在此次更新之前,ipmitool (1)手册页中缺少一些选项。在这个版本中,ipmitool (1)手册页中描述了所有选项。
- BZ#849201
- 在以前的版本中,alsaunmute (1)手册页缺失。在这个版本中,添加了 alsaunmute (1)手册页。
- BZ#853959
- 在此次更新之前,rngd (8)手册页没有描述 "--no-tpm" 选项。在这个版本中,添加了 "--no-tpm" 选项的描述。
- BZ#867332
- 在此次更新之前,groupmems (8)手册页缺少了 groupmems 二进制的 setuid 权限的信息。在这个版本中,通知 groupmems (8)手册页中的 setuid 权限。
- BZ#872526
- 在此次更新之前,dump (8)手册页缺少 ext4 文件系统支持的信息。在这个版本中,在 dump (8)手册页中添加了此信息。
7.138. man-pages
程序错误修复
- BZ#714073
- 在这个版本中,缺少
fattach()
功能的手册页。在这个版本中,添加了fattach (2)
手册页。 - BZ#714074
- 在此次更新之前,缺少
recvmmsg ()
调用的手册页。在这个版本中,添加了recvmmsg (2)
手册页。 - BZ#714075
- 在此次更新之前,cciss 和
hpsa
工具的手册页缺少。在这个版本中,添加了
cciss (4)
和hpsa (4)
手册页。 - BZ#714078
host.conf (5)
手册页包含不支持的order
关键字的描述。在这个版本中删除了不正确的描述。- BZ#735789
- 在此次更新之前,
clock_gettime (2)
,clock_getres (2)
, 和clock_nanosleep (2)
手册页没有提到 the-lrt
选项。在这个版本中,在上述手册页中添加了 the-lrt
选项的描述。 - BZ#745152
- 在这个版本中,将
single-request-reopen
的描述添加到resolv.conf (5)
手册页中。 - BZ#745501
- 在这个版本中,
nsswitch.conf
文件中的SSSD
在nsswitch.conf (5)
手册页中进行了描述。 - BZ#745521
- 在这个版本中,u
umount (2)
手册页中描述了新的UMOUNT_NOFOLLOW
标志。 - BZ#745733
- 在以前的版本中,缺少
sendmmsg ()
函数的手册页。在这个版本中,添加了sendmmsg (2)
手册页。 - BZ#752778
- 在以前的版本中,
db (3)
手册页指向不存在的dbopen (3)
手册页。发出 man db 命令时,返回以下出错信息:fopen: No such file or directory.
在这个版本中,db (3)
手册页被删除。 - BZ#771540
- 在这个版本中,在
tcp (7)
手册页中添加了TCP_CONGESTION
套接字选项缺少的描述。 - BZ#804003
ip (7)
手册页中缺少一些套接字选项的描述。在这个版本中,在ip (7)
手册页中添加了这些描述。- BZ#809564
- 在此次更新之前,
shmat (2)
手册页缺少EIDRM
错误代码的描述。在这个版本中,这个描述已添加到shmat (2)
手册页中。 - BZ#822317
bdflush (2)
系统调用手册页缺少此系统调用过时的信息。在这个版本中,在bdflush (2)
手册页中添加了此信息。- BZ#835679
nscd.conf (5)
手册页没有在有效 “服务” 中列出服务。在这个版本中,“服务” 会如预期在nscd.conf (5)
手册页中列出。- BZ#840791
- 在以前的版本中,
nsswitch.conf (5)
手册页缺少搜索机制的信息,特别是未找到
的状态。此更新提供了一个改进的 man page,它添加了notfound
的描述。 - BZ#840796
- 在此次更新之前,
ip (7)
手册页中关于将本地地址设置为INADDR_ANY
通配符地址的connect ()
调用的行为不足。在未确认调用后,本地端口可能重复。在这个版本中,文档已被重新执行,以便正确反映connect ()
调用的行为。 - BZ#840798
- 由于
getdents (2)
手册页中getdents ()
函数的场所描述,因此直接使用这个功能的风险不够清晰。该描述已进行了扩展,并显示一个警告,以防止使用getdents ()
函数不正确。 - BZ#840805
nscd.conf (5)
手册页缺少描述,其中包含几个重复条目。在这个版本中,文本已被清除,删除了冗余条目。- BZ#857163
- 在以前的版本中,
tzset (3)
手册页在 Daylight Saving Time 的开始和结束格式的描述中包含了一个不正确的间隔。因此,当不使用J
选项时,用户认为这个数字基于 1,而不是基于 0。在这个版本中,手册页面已被修正。可以使用 0 到 365 的时间间隔指定 Julian 日期,当不使用J
选项时,2 月 29 日被计算为 6 年。 - BZ#857962
proc (5)
手册页中的/proc/sys/fs/file-nr
文件的描述已过时。在这个版本中,在这个手册页中添加了当前的信息。- BZ#858278
connect (2)
手册页列出了EAGAIN
错误代码而不是EADDRNOTAVAIL
错误代码。在这个版本中,man page 带有正确的信息。
功能增强
7.139. man
7.139.1. RHBA-2013:0392 - man bug fix update
错误修复
- BZ#815209
- 在以前的版本中,man-pages-overrides 软件包的补丁会忽略 localized man page。因此,安装此软件包也会在不同语言中本地化的 man page。在这个版本中,这个程序错误已被解决,man-pages-overrides 软件包中的 man page 现在只覆盖相同的语言的 man page。
7.140. matahari
7.140.1. RHBA-2013:0404 - 删除的软件包:matahari
7.141. mcelog
7.141.1. RHBA-2013:0285 - mcelog 程序错误修复和安全更新
程序错误修复
- BZ#851406
- mcelog (8)手册页包含有关使用"支持的"标志的不正确的信息。这个 man page 已被更新,信息现在正确。
- BZ#871249
- 在以前的版本中,mcelog 守护进程会忽略 AMD 处理器的 15h 微架构系列,且不会报告 Machine Check Exception (MCE)错误。因此,系统管理员无法使用报告的错误。AMD 处理器的 15h 微架构系列已包含在支持的处理器列表中,mcelog 正确报告 MCE 错误。
功能增强
- BZ#740915
- 此增强为 mcelog 软件包添加了对 Intel Core i5 和 i7 处理器的支持。
7.142. mdadm
7.142.1. RHBA-2013:0440 - mdadm 程序错误修复更新
程序错误修复
- BZ#824815
- 虽然 Intel Matrix Storage Manager (IMSM) RAID 卷在重塑过程中,但尝试停止所有阵列可能会导致 IMSM RAID 阵列被破坏或损坏。底层源代码已被修改,mdadm 在上述场景中可以正常工作。
- BZ#862565
- 这个更新明确了很多 mdadm 许可证模糊。
- BZ#878810
- IMSM 可选 ROM (OpROM)不支持多个控制器中的 RAID 卷。在以前的版本中,在多个控制器中创建 IMSM RAID 卷会导致数据丢失。在这个版本中,禁止在多个控制器上创建 IMSM RAID 卷以防止数据丢失。
- BZ#880208
- 在以前的版本中,可以创建第二个 RAID1 卷,其大小等于 0。因此,当重新同步第一个 RAID1 卷完成时,系统会变得无响应。这个版本应用补丁来更正这个错误,无法再创建第二个 RAID1 卷,其大小等于 0。
- BZ#880225
- 关闭 RAID1 卷的两个磁盘驱动器后,使用 "mdadm --detail" 命令会导致 mdadm 意外终止,并带有分段错误。这个版本应用了一个修复这个程序错误的补丁。使用 "mdadm --detail" 命令现在返回有效的信息,在上述场景中 mdadm 不再崩溃。
- BZ#820643
- 在这个版本中解决了 mdadm (8) man page 中的映射文件位置。
7.143. mesa
7.143.1. RHBA-2013:0344 - mesa 程序漏洞修复和功能增强更新
程序错误修复
- BZ#786508, BZ#820746
- 如果用户使用 "-Y" 选项从 Red Hat Enterprise Linux 5 登录到 Red Hat Enterprise Linux 6 机器,则尝试运行使用 GLX 的应用程序,并显示 "Error: couldn't find RGB GLX visual 或 fbconfig" 错误消息。这个程序错误已被解决,远程登录现在可以正常工作。
- BZ#885882
- 由于 mesa 软件包中的错误,使用带有 KWin 窗口管理器的 multisample anti-aliasing (MSAA)技术会导致桌面合成错误。这个版本提供了一个补丁,修复这个 bug 和 MSAA 现在可以与 KWin 窗口管理器正常工作。
- BZ#901627
- 在以前的版本中,当使用启用了 X11 转发的 SSH 连接到远程机器时,会导致 libGL 库中的 "failed to load driver: i965" 错误。在这个版本中,提供了一个补丁来修复这个错误,驱动程序现在可以按预期载入。
功能增强
- BZ#816661
- Intel Core i5 和 i7 处理器的加速驱动程序已添加到 mesa 软件包中。
- BZ#835201
- 在这个版本中,在 mesa 中添加了新的 mesa-dril-drivers 软件包。这个软件包实现了对 DRI1 驱动程序的支持。
安全修复
- CVE-2013-1872
- 在 Mesa 中发现了一个越界访问缺陷。如果使用 Mesa 将 Mesa API 公开给不受信任的输入(Mozilla Firefox 这样做),攻击者可能会导致应用程序崩溃或可能,执行具有运行应用程序的用户特权的任意代码。
- CVE-2013-1993
- 发现 Mesa 没有正确地验证来自 X 服务器的消息。恶意 X 服务器可能会导致应用程序使用 Mesa 崩溃或可能,执行具有运行应用的用户特权的任意代码。
7.144. microcode_ctl
错误修复
- BZ#740932
- 在以前的版本中,/lib/udev/rules.d/89-microcode.rules 中的 udev 规则允许模块多次加载。在非常大的系统上(例如,具有 2048 个或更多 CPU 的系统),这可能会导致系统在引导时变得无响应。在这个版本中,udev 规则已被修改,以确保该模块只加载一次。现在,非常大的系统可以按预期引导。
功能增强
- BZ#818096
- Intel CPU microcode 文件已更新至版本 20120606。
- BZ#867078
- AMD CPU microcode 文件已更新至版本 20120910。
7.145. mlocate
程序错误修复
7.146. mod_authz_ldap
程序错误修复
- BZ#607797
- 在此次更新之前,mod_authz_ldap 软件包的 License 字段包含不正确的标签。在这个版本中,修改许可证文本。现在,license 标签可以正确地读取 "ASL1.0"。
- BZ#643691
- 在此次更新之前,mod_authz_ldap 模块可能会泄漏内存。因此,在处理更多请求时,httpd 进程的内存消耗可能会增加。这个版本修改了底层代码来正确处理 LDAP。现在,内存消耗如预期级别一样。
- BZ#782442
- 在此次更新之前,当出现连接错误时,当配置了 LDAP 绑定密码时,密码会以纯文本形式记录到错误日志中。在这个版本中,修改底层代码,以防止密码被记录在错误条件中。
7.147. mod_nss
7.147.1. RHBA-2013:0513 - mod_nss 程序错误修复和安全更新
错误修复
- BZ#769906
- mod_nss 模块报告 'Required value NSSCipherSuite not set.',即使虚拟主机中存在 NSSCipherSuite 的值。这个程序错误是一个配置问题,它被一些混淆的日志消息造成。因此,更改了一些日志消息,以帮助阐明实际缺少的值。
功能增强
- BZ#816394
- 向 mod_nss 模块添加了对 TLSv1.1 的支持。
- BZ#835071
- 添加了与其他 SSL 提供程序共享 mod_proxy 的功能。
7.148. mod_revocator
错误修复
- BZ#861999
- 当使用"exec" URI 配置证书撤销列表(CRLs)时,mod_revocator 模块将无法加载这些 URI,并显示以下错误消息:无法加载撤销模块,NSS 错误 -8187.将禁用 CRL 检索。已提供了一个补丁来解决这个问题,现在这个场景中会按预期载入 CRL URI。
7.149. module-init-tools
错误修复
- BZ#670653
- 在以前的版本中,rpmbuild 工具会收到有关 module-init-tools 弃用的特定标签的警告。在这个版本中修复了 module-init-tools spec 文件,rpmbuild 不再接收警告。
7.150. mod_wsgi
错误修复
- BZ#670577
- 在以前的版本中,在启动 Apache httpd 守护进程的过程中,mod_wsgi 工具中的误导警告信息会被记录。在这个版本中,从 mod_wsgi 模块中删除此消息。
功能增强
- BZ#719409
- 在这个版本中,使用 "mod_ssl.is_https" 和 "mod_ssl.var_lookup" 方法访问 SSL 连接状态现在包括在 WSGI 脚本中。
7.151. mrtg
7.151.1. RHBA-2012:1449 - mrtg 程序错误修复更新
错误修复
- BZ#706519
- 在此次更新之前,MRTG 工具无法正确处理 socket6。因此,因为套接字冲突,在具有 IPv6 网络接口的系统中,MRTG 会报告错误。这个版本会如预期将底层代码改为 socket6。(#706519)
- BZ#707188
- 在此次更新之前,更改 MRTG 配置中的 "kMG" 关键字可能会导致 y-axis 上的标签重叠生成的 chart 的主区域。在这个版本中,一个上游补丁已被应用于解决这个问题,并在配置中更改 "kMG" 关键字不再会导致结果图表的错误渲染。
- BZ#836197
- 在此次更新之前,使用 ifSpeed 接口时,从 IBM Fibrechannel 开关返回错误的值。因此,如果 IBM FibreChannel 交换机上的HighSpeed,mrtg cfgmaker 无法使用。这个版本修改了底层代码,以返回正确的值。
7.152. mt-st
7.152.1. RHBA-2012:1409 - mt-st 程序错误修复更新
错误修复
- BZ#820245
- 在此次更新之前,stinit 初始化脚本不支持 "status" 或 "restart" 等标准操作。因此,会返回一个错误代码。这个版本修改了底层代码,以使用所有标准操作。
7.153. netcf
7.153.1. RHBA-2013:0494 - netcf 程序错误修复更新
错误修复
- BZ#886862
- 在以前的版本中,netcf 工具已在 libnl 库中调用 nl_cache_mngt_provide () 函数,它不是 thread-safe。因此,libvirtd 守护进程可能会意外终止。因为正确的操作不需要 nl_cache_mngt_provide (),所以 netcf 不再调用它,从而防止这个程序错误。
7.154. net-snmp
7.154.1. RHBA-2013:0421 - net-snmp 程序错误修复更新
netstat
实用程序版本。
程序错误修复
- BZ#829271
- 在以前的版本中,
/etc/snmp/snmpd.conf
congiguration 文件中有 50exec
条目的限制。在文件中有超过 50 个这样的条目,snmpd
守护进程会报告以下出错信息:Error: No further UCD-compatible entries
在这个版本中,固定限制已被删除,现在可以在/etc/snmp/snmpd.conf
中有任意数量的exec
条目。 - BZ#848319
- 在此次更新之前,
libnetsnmpmibs.so.20
和libnetsnmphelpers.so.20
库不包含 libperl.so 软件包到 libperl.so 软件包,用于嵌入 Perl。在链接自定义 SNMP 应用程序或模块时,这可能会导致问题。现在,为 Perl 库添加 RPATH 的上游补丁,所有 libperl.so 引用都已解决。 - BZ#800671
- 在以前的版本中,
snmpd
守护进程会忽略/etc/snmp/snmpd.conf
文件中的trapses -e <engineID
> 配置选项,并发送默认的 engineID 字符串,即使trapses
配置了显式 engineID 值。已提供了一个上游补丁来修复这个程序错误,snmpd
现在发送带有 engineID 字符串的传出陷阱,如/etc/snmp/snmpd.conf
中指定的。 - BZ#846436
- 由于一个可能的竞争条件,
snmpd
守护进程可能无法在填充UCD-SNMP-MIB::prTable
表时计算一些进程。在这个版本中,底层源代码已被调整,以防止出现这样的竞争条件,因此所有进程现在都如预期计算。 - BZ#833013
- 在此次更新之前,
snmpd
守护进程在指定传出 SNMP 请求的源地址时会忽略clientaddr
选项的端口号。因此,系统会为udp
套接字分配一个随机端口号。此更新引入了一个新的配置选项clientaddrUsesPort
,如果设为yes
,则允许在clientaddr
选项中指定端口号和源 IP 地址。现在,管理员可以通过配置传出陷阱和其他请求的特定源端口来提高防火墙规则和 SELinux 策略的安全性。 - BZ#851637
- 当
snmpd
守护进程在处理内部查询过程中关闭时,请求不会标记为失败或完成,snmpd
会无限期等待请求进行处理。在这个版本中,snmpd
会在关闭过程中将所有内部查询标记为失败。 - BZ#842279
- 在以前的版本中,在
snmpd
守护进程中实现UCD-SNMP-MIB::extCommand
变量只报告可执行参数的名称,缺少所有其他命令行参数。在这个版本中,UCD-SNMP-MIB::extCommand
已被修复,snmpd
返回完整的命令行输出。 - BZ#784502
- 在以前的版本中,snmptrapd
(8)
手册页没有正确地描述如何使用-c
选项载入多个配置文件。在这个版本中,man page 已被修复,描述了多个配置文件必须使用逗号字符分开。 - BZ#846532, BZ#861152
- 在前面的 net-snmp 更新中,对
HOST-RESOURCES-MIB::hrStorageTable
表的实现已被重写,使用 CentraVision 文件系统(CVFS)和 OpenVZ 容器文件系统(simfs
)的设备没有被报告。在这个版本中,snmpd
守护进程可以正确地识别CVFS
和simfs
设备,并在HOST-RESOURCES-MIB::hrStorageTable
中报告它们。 - BZ#846906
- 当
snmpd
守护进程无法将操作系统提供的 32 位计数器扩展到 64 位时,snmpd
守护进程偶尔会报告以下出错信息:c64 32 bit check failed
Error expanding XXX to 64bits
looks like a 64bit wrap, but prev!=new
这些消息实际上并没有害但混淆。这个版本会阻止它们,在上述场景中不再返回它们。 - BZ#845157
- 当无法打开以下文件时,
snmpd
守护进程会向系统日志文件报告错误消息:/proc/net/if_inet6
、/proc/net/snmp6、
、/
proc/net/ipv6_route/proc/net/tcp6
和/proc/net/udp6
。禁用 IPv6 网络的机器上通常缺少这些文件,因此不会为它们报告此类错误消息。在这个版本中,错误消息会被禁止,系统日志文件不会填充冗余消息。 - BZ#848155
- 在此次更新之前,
net-snmp
工具无法读取 UCD-DISKIO-MIB 对象的diskIOLA1
、diskIOLA5
和diskIOLA15
对象变量,因为这些变量没有在 Linux 操作系统中实施。因此,snmptable
工具无法正确返回三个变量的值。在这个版本中,这些对象已被实现,它们的值现在会如预期显示在UCD-DISKIO-MIB::diskIOTable
表中。 - BZ#825889
- 在以前的版本中,
snmpd
守护进程被更新,以发送 SNMP 响应来广播来自同一接口的请求,该接口收到了 SNMP 响应。但是,这个更新还引入了一个程序错误,它会阻止snmpd
向多homed 机器上的单播请求发送响应。在这个版本中解决了这个程序错误,因此snmpd
守护进程现在可以在多homed 机器上应答单播请求,并将响应发送到接收请求的同一接口。 - BZ#824402
- 在以前的版本中,
snmp
trapd 守护进程会在收到TERM
信号后立即终止嵌入的 Perl 解释器,无论是否仍然使用嵌入的 Perl 代码。因此,snmp
trapd 通常在关闭过程中意外终止。在这个版本中,当所有 Perl 处理完成后,嵌入的 Perl 解释器会在snmptrapd
关闭过程中被销毁。
7.155. NetworkManager
程序错误修复
- BZ#813573
- 在以前的版本中,NetworkManager 不允许为连接选择 WPA 协议版本。某些使用 Cisco 设备的企业 WLAN 网络不允许在相同物理访问点提供的 WPA 和 WPA2 虚拟访问点(VAP)之间漫游,需要使用特定的 WPA 协议版本来防止断开连接。在这个版本中,在 NetworkManager 用户界面添加了一个 WPA 协议组合框,允许在需要时使用特定的 WPA 协议版本,从而防止这个问题。
- BZ#829499
- 在以前的版本中,NetworkManager 只尝试启用接口一次。因此,在网络失败后,如果在到 DHCP 服务器的连接正常工作前恢复了链接,NetworkManager 有时会超时,且无法启动接口。应用了补丁,以便 NetworkManager 现在在失败后尝试三次连接,然后在五分钟的间隔内再次尝试连接。因此,NetworkManager 现在可以在网络失败后可以更可靠地恢复连接。
- BZ#833199
- 由于读取和写入网络配置文件中的一个错误,使用 LEAP 身份验证方法的网络连接无法被所有用户使用。现在,一个补丁已被应用于解决这个问题,网络配置文件现在允许 LEAP。
- BZ#834349
- 当通过 GConf 系统或"/etc/sysconfig/network-scripts/"配置文件中的设置锁定到特定的 WPA 协议版本(v1 或 v2/RSN)时,NetworkManager 会覆盖在编辑并保存连接时首选。这个程序错误已被解决,现在在上述场景中保留了 WPA 首选项。
- BZ#837056
- 当尝试配置无线 LEAP 验证连接时,身份验证对话框会要求凭据两次。应用了补丁,问题将不再发生。
- BZ#840580
- 当 Bluetooth 服务没有运行或未安装时,NetworkManager 服务会记录警告。应用了补丁来防止这个问题,且问题不再发生。
功能增强
- BZ#558983
- 这个版本添加了对 NetworkManager 的桥接支持。请注意,这取决于 /etc/sysconfig/network 中的 NM_BOND_VLAN_ENABLED 指令。只有存在该指令并且为 yes、y 或 true 时,才会检测和管理桥接、绑定和 VLAN 接口。
- BZ#465345
- NetworkManager 服务现在提供对绑定网络连接以及创建 VLAN 和 IPoIB 网络连接的支持。
- BZ#817660
- NetworkManager 现在复制由初始化脚本创建的 DHCP 租期文件(如果它们更新),则 NetworkManager 当前具有这些 NetworkManager。这会导致更加无缝地接管 DHCP 分配的连接。
- BZ#834444
- 这个版本启用了主动密钥缓存(PKC),也称为 Opportunistic Key Caching (OKC),适用于所有 WPA-Enterprise 配置。
- BZ#901662
- 网络管理器(NetworkManager)进行了很多改进,以便允许更多绑定选项并处理选项间的不兼容。因此,网络管理器(NetworkManager)现在可以控制更复杂的绑定配置。
7.156. nfs-utils-lib
错误修复
- BZ#804812
- 在构建本地域列表时,idmapd 覆盖字符串缓冲区(用于保留该列表),每次将新域添加到列表中时。因此,idmapd 守护进程只会记录添加到列表中的最后一个本地域。在这个版本中,修改源代码,因此域会被正确附加到字符串缓冲区中,idmapd 现在会按预期记录本地域的完整列表。另外,缓冲区大小计算已被修正。
7.157. nfs-utils
7.157.1. RHBA-2013:0468 - nfs-utils 程序错误修复更新
程序错误修复
- BZ#797209
- 在此次更新之前,rpc.mound 守护进程可能会导致已挂载的 NFSv3 共享的 NFS 客户端暂停。在这个版本中,修改底层代码来解析 IP 地址。
- BZ#802469
- 在此次更新之前,nfs-utils 允许比 Single DES 更强大的加密类型。因此,挂载到使用 "-o sec=krb5" 选项的传统服务器会失败。在这个版本中,添加了 -l 标志来只允许单一 DES。现在,安全挂载可以按预期工作。
- BZ#815673
- 在此次更新之前,如果服务器对 netgroups 有大量导出,NFS 客户端可能无法与 NFSv4 服务器挂载共享。因此,NFSv4 挂载可能会挂起。这个版本修改了 use_ipaddr 问题单,以便 NFSv4 现在按预期挂载。
- BZ#849945
- 在此次更新之前,NFS idmapper 无法按预期初始化。因此,文件权限不正确。在这个版本中,修改底层代码,以便 idmapper 会正确初始化。
7.158. nss-pam-ldapd
程序错误修复
- BZ#747281
- 在此次更新之前,断开连接逻辑包含错误打印,缺少失败返回值。在这个版本中修正了错误打印,并添加缺少的返回值。
- BZ#769289
- 在此次更新之前,nslcd 守护进程在启动 LDAP 搜索操作前对 LDAP 连接执行闲置时间到期检查。在丢失网络中,或者 LDAP 服务器负载过重,则连接可能会在成功检查后超时,然后搜索操作会失败。在这个版本中,闲置时间过期测试会在 LDAP 搜索操作过程中执行,以便连接现在不再在这些情况下过期。
- BZ#791042
- 在此次更新之前,当 nslcd 守护进程请求对大型组的访问时,glibc 库提供的缓冲区不能包含这样的组,并再次使用较大的缓冲区重试,以成功处理操作。因此,在 /var/log/message 文件中会记录冗余错误消息。在这个版本中,即使 glibc 提供了在上述场景中首次尝试太小的缓冲区,也不会返回冗余错误消息。
安全修复
- CVE-2013-0288
- nss-pam-ldapd 管理的打开文件描述符的方式中发现了一个阵列索引错误,导致基于堆栈的缓冲区溢出漏洞。攻击者能够使进程具有大量打开的文件描述符,并执行名称查找可能会使用这个缺陷,从而导致进程崩溃或可能,使用运行进程的用户特权执行任意代码。
7.159. nss, nss-util, nspr
程序错误修复
- BZ#555019
- Privacy Enhanced Mail (PEM)模块初始化功能不会返回错误,通知调用者不是 thread-safe。因此,进行无效的写入会在基于多线程 libcurl 的应用程序中造成意外终止。现在,当调用者请求的锁定类型无法获得线程安全性时,PEM 模块初始化功能现在会返回 PKCSxdg 规定的 KR_CANT_LOCK 常量。因此,客户端会通知缺少线程安全性,并提供自己的锁定以防止崩溃。
- BZ#827351
- 由于缺少内存不足(OOM)检查和错误地释放分配的内存,因此 Privacy Enhanced Mail (PEM)模块没有完全验证存储在 PEM 格式的文件中的证书编码。因此,错误处理测试会失败。在这个版本中,PEM 模块可以正确地验证编码,正确处理内存取消分配,以及处理测试的错误处理测试按预期传递。
7.160. ntp
7.160.1. RHBA-2013:0495 - ntp 程序错误修复更新
错误修复
- BZ#875798
- 当至少有一个系统网络接口具有 IPv6 地址且网络服务停止或启动时,ntpd 守护进程可能会意外终止。如果 ntpd 服务试图在网络服务仅配置第一个设备的 IPv6 地址时尝试读取设备地址,会出现这种情况。在这个版本中,底层库功能已被修复,守护进程不会在上述场景中崩溃。
7.161. numactl
程序错误修复
- BZ#804480
- 在以前的版本中,CPU 数量被错误地计算在 "/sys/devices/system/cpu" 目录中,因为 "cpufreq" 和 "cpuidle" 文件被计算,因此额外的两个 CPU 被错误地添加。在这个版本中,CPU 数量会被正确计算。
- BZ#814294
- 全局指针 "numa_all_cpus_ptr" 应该设置为由库分配的位掩码,该位代表调用线程可以执行的所有 CPU。因此,当位掩码只设置为 CPU0 时,它无法正常工作。在这个版本中,底层源代码已被修复,当 taskset 选项包含 CPU0 时,"numa_all_cpus_ptr" 仅包含指定的 CPU。
功能增强
- BZ#829896
- 现有工具 numastat 是一个 Perl 脚本,被重写为 C 程序,以提供更多 NUMA 信息。numastat 的默认操作将保持不变,以便与当前用户的最终脚本兼容。
7.162. numad
7.162.1. RHBA-2013:0358 - numad 程序错误修复和功能增强更新
错误修复
- BZ#825153
- 在此次更新之前,"-lpthread" linker 标志是从 Makefile 和 spec 文件中提供的。因此,numad 软件包会遇到链接问题,在尝试从源 rpm 重建这些软件包时无法构建。在这个版本中,该标志只从 specfile 提供,重建软件包不再会失败。
功能增强
- BZ#830919
- 在这个版本中,将 numad 源代码升级到 20121015 版本,使其被 Red Hat Enterprise Linux 6 完全支持。
7.163. openchange
安全修复
- CVE-2012-1182
- 在 Samba 套件的基于 Perl 的 DCE/RPC IDL (PIDL)编译器中发现了一个安全漏洞。由于 OpenChange 使用 PIDL 生成的代码,这可能会导致 OpenChange 处理 RPC 调用的方式缓冲溢出。在这个版本中,代码已使用更新版本的 PIDL 生成,以更正此问题。
程序错误修复
7.164. OpenIPMI
7.164.1. RHBA-2013:0492 - OpenIPMI 程序错误修复更新
错误修复
- BZ#881450
- 内核 ipmi_msghandler 和 ipmi_si 模块不再作为独立模块提供。因此,如果这些模块独立使用,则会出现错误。在这个版本中,OpenIPMI 初始化脚本已被修改,在内核中静态编译的带有 ipmi_si 和 ipmi_msghandler 的内核中启用 IPMI 服务操作。另外,服务状态消息现在包含一个新的 "in kernel" 模块状态。
7.165. openldap
程序错误修复
- BZ#820278
- 当在 OpenLDAP 服务器上启用了
smbk5pwd
overlay 且用户更改了其密码时,Microsoft NT LAN Manager (NTLM)和 Microsoft LAN Manager (LM)哈希没有被正确计算。因此,sambaLMPassword
和sambaNTPassword
属性被更新为不正确的值,从而阻止用户使用基于 Windows 的客户端或 Samba 客户端登录。在这个版本中,smbk5pwd
overlay 与 OpenSSL 链接。因此,NTLM 和 LM 哈希会被正确计算,在使用smbk5pwd
时密码更改可以正常工作。 - BZ#857390
- 如果
TLS_CACERTDIR
配置选项使用了前缀,它指定了 Mozilla NSS 数据库类型,如sql:
,当请求 TLS 操作时,证书数据库将无法打开。这个更新提供了一个补丁,它会在检查带有证书数据库的目录时删除数据库类型前缀,即使使用了数据库类型前缀,证书数据库也会成功打开。 - BZ#829319
- 当提供包含密码的文件在没有用户交互的情况下打开数据库时,可能会读取并错误地包含密码,从而导致连接变得无响应。补丁已被应用来正确地为密码文件分配内存,在上述场景中连接不再挂起。
- BZ#818572
- 当建立到 LDAP 服务器的 TLS 连接时,使用并正确终止时,内部 TLS 关闭操作的顺序不正确。因此,在底层加密库中可能会出现意外的终止和其他问题(Mozilla NSS)。已提供了一个补丁来重新排序关闭连接时执行的操作。现在,TLS 关闭操作的顺序与 Mozilla NSS 文档匹配,从而解决了这个问题。
- BZ#859858
- 当 TLS 被配置为使用 PEM 文件中的证书时,
TLS_CACERTDIR
设置为使用 Mozilla NSS 证书数据库,PEM 证书将无法加载。在这个版本中,证书首先在 Mozilla NSS 证书数据库中查找,如果未找到,则 PEM 文件将用作回退。现在,在上述场景中可以正确载入 PEM 证书。 - BZ#707599
- 可以为启用了 TLS 的复制配置 OpenLDAP 服务器,以便接受远程对等点和 TLS 客户端身份验证到其他副本的连接。当将不同的 TLS 配置用于服务器并连接到副本时,与副本的连接可能会因为 TLS 证书查找错误或未知 PKCS appears TLS 错误而失败。这个版本提供了一组补丁,这会导致一个进程中的多个 TLS LDAP 上下文,而不影响其他进程。因此,OpenLDAP 复制在上述场景中可以正常工作。
- BZ#811468
- 当通过 OpenSSL 进行 CA (证书授权机构)证书目录散列配置为用作可信 CA 证书的来源时,lib
ldap
库会错误地预期所有散列证书的文件名以.0
后缀结尾。因此,即使允许任何数字后缀,但只有带有.0
后缀的证书会被加载。在这个版本中,提供了一个补丁,它可以正确地检查 OpenSSL CA 证书目录中的文件名,现在所有允许在该目录中的所有证书都如预期载入libldap
。 - BZ#843056
- 当多个 LDAP 服务器被指定且到服务器的连接失败时,因为主机名与证书中的名称不匹配,则执行回退到另一个服务器。但是,在 TLS 握手过程中,回退连接变得无响应。这个版本提供了一个补丁,重新创建内部结构来处理连接状态,在上述场景中回退连接不再挂起。
- BZ#864913
- 当 OpenLDAP 服务器被配置为使用
rwm
overlay,并且客户端发送modrdn
操作,其中包含与被修改条目的当前未传输属性匹配的newsuperior
属性时,slapd
服务器会意外地终止分段错误。在这个版本中,
slapd
无法在上述场景中访问未初始化的内存,不再会发生崩溃,客户端操作现在可以成功完成。 - BZ#828787
- 当一个没有 Basic Constraint Extension (BCE)的自签名证书用作服务器 TLS 证书时,TLS 客户端被配置为忽略任何 TLS 证书验证错误,客户端无法连接到服务器,并返回有关缺失 BCE 的不正确的消息。在这个版本中,如果证书中没有 BCE,提供了一个补丁来保留原始 TLS 证书验证错误。因此,客户端可以连接到服务器,有关返回服务器证书的不受信任的证书颁发机构的正确错误消息,并且连接可以继续如预期。
- BZ#821848
- 当
slapd
服务器配置数据库(cn=config
)被配置为镜像模式,且复制配置(olcSyncrepl
)被改变时,cn=config
数据库会从镜像模式静默中删除,在没有重启slapd
守护进程的情况下无法修改。在这个版本中,复制配置的更改会被正确处理,以便正确保留镜像模式的状态,并在上述场景中修改cn=config
数据库。 - BZ#835012
- 在以前的版本中,OpenLDAP 库会在解析服务器 IP 地址时查找
AAAA
(IPv6) DNS 记录,即使主机上禁用了 IPv6,这可能会在连接时造成额外的延迟。在这个版本中,在解析远程主机地址时,会设置AI_ADDRCONFIG
标志。因此,当解析服务器 IP 地址和本地系统上禁用 IPv6 时,OpenLDAP 库不再查找AAAA
DNS 记录。
功能增强
- BZ#852339
- 当
libldap
被配置为使用 TLS 时,无法使用 Mozilla NSS 库支持的所有 TLS 密码。这个更新向libldap
的内部密码列表提供了 Mozilla NSS 支持的所有缺少的密码,从而改进了libldap
安全功能。
7.166. openscap
7.167. openssh
安全修复
- CVE-2012-5536
- 由于在 Red Hat Enterprise Linux 6 中构建 pam_ssh_agent_auth PAM 模块的方式,glibc 的 error ()函数被调用,而不是 pam_ssh_agent_auth 中预期的 error ()函数来报告错误。由于这两个功能需要不同的参数,因此攻击者可能会使使用 pam_ssh_agent_auth 的应用程序崩溃、披露其内存部分或可能执行任意代码。
程序错误修复
- BZ#821641
- sshd_config man page 中未记录新的 RequiredAuthentications 指令的所有可能选项。这个版本改进了手册页来记录所有可能的选项。
- BZ#826720
- 当停止一个 SSH 守护进程(sshd)实例时,sshd 初始化脚本(/etc/rc.d/init.d/sshd)会停止所有 sshd 进程,无论进程的 PID 是什么。这个版本改进了 init 脚本,以便它只终止带有相关 PID 的进程。因此,初始化脚本现在可以在多实例环境中正常工作。
- BZ#836650
- 由于回归问题,ssh-copy-id 命令会返回零的退出状态代码,即使将密钥复制到远程主机时出错。在这个版本中,应用了补丁,如果将 SSH 证书复制到远程主机时,ssh-copy-id 现在会返回非零退出代码。
- BZ#836655
- 当系统上禁用了 SELinux 时,没有安装磁盘上的策略,使用用户帐户进行连接,并且该用户的主目录中没有"~/.ssh"配置,SSH 客户端在尝试连接到其他系统时意外终止,并出现分段错误。已提供了一个补丁来解决这个问题,并在上述场景中不再崩溃。
- BZ#857760
- "HOWTO"文档 /usr/share/doc/openssh-ldap-5.3p1/HOWTO.ldap-keys 错误地记录了 AuthorizedKeysCommand 指令的使用。在这个版本中修正了文档。
功能增强
- BZ#782912
- 当尝试启用 SSH 以用于通用访问卡(CAC)时,ssh-agent 工具会读取卡中的所有证书,即使只需要 ID 证书。因此,如果用户错误地输入其 PIN,则 CAC 被锁住,因为 PIN 的匹配被尝试对所有三个证书匹配。在这个版本中,如果 PIN 对于第一个证书失败,ssh-add 不会为每个证书尝试相同的 PIN。因此,如果用户错误地输入 PIN,CAC 不会被禁用。
- BZ#860809
- 在这个版本中,为 SSH 添加了一个 "netcat 模式"。"ssh -W host:port ..."命令将客户端上的标准输入和输出(stdio)连接到服务器上的单个端口。因此,SSH 可以用来通过中间服务器路由连接。
- BZ#869903
- 由于一个程序错误,RequiredAuthentications2 指令的参数不会存储在 Match 块中。因此,根据 man sshd_config 文档对配置文件进行解析。在这个版本中解决了这个程序错误,用户可以使用所需的身份验证功能根据 man page 指定一组身份验证方法。
7.168. openssl
7.168.1. RHBA-2013:0443 - openssl 程序漏洞修复更新
程序错误修复
- BZ#770872
- 在此次更新之前,OpenSSL 库的 pkgconfig 配置文件包含一个无效的 libdir 值。在这个版本中,修改底层代码以使用正确的 libdir 值。
- BZ#800088
- 在此次更新之前,当通过 "*:port" 参数调用这个功能时,openssl 功能 "BIO_new_accept ()" 无法侦听 IPv4 地址。因此,用户无法通过 IPv4 连接到使用 "*:port" 参数使用这个函数调用的服务器。此更新会修改此功能,以使用此参数按预期侦听 IPv4 地址。
- BZ#841645
- 在以前的版本中,在 FIPS 模式中保存的加密私钥文件被破坏,因为 PEM 加密使用 FIPS 模式不可用的哈希算法。在这个版本中,使用 PKCS#8 加密格式将私钥写入 FIPS 模式下的文件。这个文件格式只使用 FIPS 模式中提供的算法。
- BZ#841645
- "rand" (伪随机数生成器)的手册页名为 "sslrand",以避免与 C 库"rand ()"函数的手册页冲突。这个更新提供了 "openssl" 手册页更新来反应这一点。
7.169. pacemaker
程序错误修复
- BZ#801355
- 系统的多个部分可能会注意到不同时间的节点故障。因此,如果多个组件请求一个节点被隔离,隔离组件会多次进行。当第一个客户端仍在进行时,这个程序错误已通过合并与不同客户端相同的请求来解决,因此该节点只被隔离一次。
- BZ#846983
- 已取消的操作会错误地存储在集群状态中。因此,集群会检测到这些操作,并尝试识别导致额外的日志记录和其他混淆行为的状态。底层代码已被修改,取消的操作不再存储在集群状态中,Pacemaker 现在可以正常工作。
- BZ#860684
- spec 文件中的一个不正确的定义会导致 Pacemaker 子软件包间的意外隐式依赖关系 ; 某些库位于不正确的位置。libstonithd.so.2 库已被重新定位,Pacemaker 子软件包之间的依赖项现在可以被正确定义。
- BZ#877364
- 在 AMD64 或 Intel 64 架构中运行的系统上,pacemaker-cts 子软件包依赖于 pacemaker.libs 子软件包的一些库。但是,pacemaker-cts 没有指定显式软件包版本要求,这可能会导致新的和旧的子软件包间的依赖关系问题。pacemaker-libs 的版本规格已添加到 pacemaker-cts 中,以防止这些依赖项问题。
- BZ#880249
- 在以前的版本中,删除 master 或 slave 资源会导致其中一个节点被隔离。这个版本应用一个补丁来修复这个程序错误,在这种情况下,节点不再被隔离。
- BZ#886151
- 在以前的版本中,crm_report 软件包没有将 perl-TimeData 软件包作为依赖项安装。因此,在没有此软件包的系统中尝试运行 crm_report 工具会失败,并显示错误。这个更新添加了缺少的依赖项,crm_report 工具现在可以按预期运行。
- BZ#886989
- 在以前的版本中,可以在 Pacemaker 配置文件中引入非注册空格字符。因此,在读取配置文件时 Pacemaker 会返回混淆的错误消息。在这个版本中,应用了补丁来过滤配置文件中的不需要的字符,Pacemaker 不再返回这样的错误消息。
功能增强
- BZ#816875
- 在这个版本中,Pacemaker 提供了一个更简单的 XML 输出,用户可以更轻松地解析和查询集群资源的状态。
- BZ#816881
- 在这个版本中,Pacemaker 会指示集群资源根据有关不再连接的节点的缓存信息报告为运行时。
7.170. PackageKit
7.170.1. RHBA-2013:0394 - PackageKit 程序漏洞修复更新
错误修复
- BZ#735597
- 在此次更新之前,如果用户试图使用 PolicyKit 进行身份验证,如果"/usr/sbin/consolekit"进程失败或者手动停止,PackageKit 守护进程可能会中止,并带有分段错误。在这个版本中,修改底层代码,以便在无法访问 ConsoleKit 时 PackageKit 不再失败。现在,为 PackageKit 会显示控制台警告信息。
7.171. pam
安全修复
- CVE-2011-3148
- 在
pam_env
模块解析用户的~/.pam_environment
文件的方式中发现了一个基于堆栈的缓冲区溢出缺陷。如果应用程序的 PAM 配置包含 "user_readenv=1" (这不是默认设置),本地攻击者可以使用此缺陷使应用程序崩溃,或者可能会升级其权限。 - CVE-2011-3149
pam_env
模块扩展某些环境变量的方式中发现了一个拒绝服务漏洞的问题。如果应用程序的 PAM 配置包含user_readenv=1
(这不是默认值),本地攻击者可以使用这个缺陷导致应用程序进入无限循环。
程序错误修复
- BZ#680204
- 在
/etc/limits.d/90-nproc.conf
文件中对进程数量设定了限制,即使 root 帐户也是如此。因此,如果系统上使用 UID 0 运行有 1024 个进程,则受 SELinux 限制的 root 进程(如 prelink 程序启动)无法启动。root 进程的限制已被设置为无限,在上述场景中,受限制的进程不再被阻止。
- BZ#750601
pam_namespace
模块中的require_selinux
选项处理无法正常工作。因此,当禁用 SELinux 时,无法防止用户使用pam_namespace
模块登录。这个选项已被修复,PAM 现在可以正常工作。- BZ#811168
pam_get_authtok_verify()
功能没有正确保存PAM_AUTHTOK_TYPE PAM
项。因此,使用pam_cracklib
模块的authtok_type
选项指定的身份验证令牌类型在 “Retype new password” 信息中不会被遵守。已修复pam_get_authtok_verify()
功能来正确地保存PAM_AUTHTOK_TYPE
项,PAM 现在可以正常工作。- BZ#815516
- 当使用
remember
选项时,pam_unix
模块会错误地匹配用户名,同时搜索/etc/security/opasswd
文件中的旧密码条目。由于这个程序错误,旧的密码条目可以被混合使用;其用户名是另一个用户名的子字符串的用户可能具有其他用户的旧密码条目。在这个版本中,用于匹配用户名的算法已被修复。现在,只有完全相同的用户名会被匹配,在上述场景中旧的密码条目不再被混合。 - BZ#825270
- 在此次更新之前,使用
pam_pwhistory
模块会在 root 用户更改用户密码时出现错误。无法选择在用户的密码历史记录中作为新密码的任何密码。在这个版本中,root 用户可以更改密码,无论它是否位于用户的历史记录中。
功能增强
- BZ#588893
- 某些身份验证策略需要在 root 帐户内强制实施密码复杂性限制。因此,
pam_cracklib
模块现在支持enforce_for_root
选项,该选项对新密码强制执行复杂性限制,即使在 root 帐户也是如此。 - BZ#673398
- GECOS 字段用于存储有关用户的额外信息,如用户的全名或电话号码,攻击者可以用来尝试破解密码。
pam_cracklib
模块现在还允许在密码中指定同一类的最大连续字符数(小写、大写、数字和特殊字符)。 - BZ#681694
- 某些验证策略不允许包含长连续序列的密码,如 “abcd” 或 “98765”。在这个版本中,可以使用新的
maxsequence
选项限制这些序列的最大长度。 - BZ#732050
- 某些验证策略需要支持锁定在一定时间段内不使用的帐户。此增强为
pam_lastlog
模块引入了一个额外的功能,它允许用户在可配置的天数后锁定帐户。 - BZ#769694
- 在具有多个 tmpfs 挂载的系统上,需要限制其大小以防止它们占用所有系统内存。当使用 tmpfs polyinstantiation 方法时,这个更新允许指定 tmpfs 文件系统挂载的最大大小和一些其他选项。
7.172. parted
程序错误修复
7.173. pciutils
7.174. pcre
7.174.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 上执行。
7.175. pcsc-lite
安全修复
- CVE-2010-4531
- 在 pcsc-lite 解码某些属性值中发现了一个基于堆栈的缓冲区溢出漏洞。一个本地攻击者可以利用这个缺陷,通过插入一个特殊的智能卡,使用运行 pcscd 守护进程(默认为 root)的用户执行任意代码。
程序错误修复
- BZ#788474, BZ#814549
- 由于初始化脚本中的错误,chkconfig 工具在启动 HAL 守护进程后不会自动放置 pcscd init 脚本。因此,pcscd 服务不会在引导时自动启动。在这个版本中,pcscd init 脚本被修改为仅在 HAL 启动后明确启动,从而解决了这个问题。
- BZ#834803
- 因为 /etc/rc.d/ 目录中的 chkconfig 设置和启动文件在 RHBA-2012:0990 公告中描述的更新过程中没有改变,所以用户必须手动更新 chkconfig 设置来解决这个问题。现在,/etc/rc.d/ 目录中的 chkconfig 设置和启动文件会如预期自动更新。
- BZ#891852
- 在以前的版本中,SCardGetAttrib () 函数无法正常工作,无论实际缓冲区大小如何,始终返回 "SCARD_E_INSUFFICIENT_BUFFER" 错误。这个版本应用了补丁来修复这个程序错误,SCardGetAttrib () 函数现在可以正常工作。
7.176. perl-GSSAPI
错误修复
- BZ#657274
- 在此次更新之前,perl-GSSAPI 规格文件使用已删除的 krb5-devel 文件。因此,perl-GSSAPI 软件包无法重建。在这个版本中,修改规格文件,以使用当前的 krb5-devel 文件。
7.177. 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 配置集会如预期运行。
7.178. perl-IPC-Run
错误修复
- BZ#856840
- 在此次更新之前,如果没有安装 perl-IO-Tty 软件包,则在使用 "IPC::Run::harness" 命令时不会加载 IO::Pty Perl 模块。因此,Perl 代码会失败。在这个版本中,在 perl-IPC-Run 软件包中添加了 perl-IO-Tty 依赖项。
7.179. perl-SOAP-Lite
错误修复
- BZ#748376
- 如果定义了 MOD_PERL 环境值,则 XMLRPC 请求可能会失败。现在,当定义了 MOD_PERL 时,会使用标准的 read ()函数而不是 sysread ()函数。因此,在这种场景中 XMLRPC 不再会失败。
7.180. perl-Sys-Virt
程序错误修复
- BZ#848309
- 在以前的版本中,Perl 绑定是为 set_blkio_parameters ()函数设置不兼容的标记。因此,无法使用这个功能应用块调整。现在,删除了不正确的标志,set_blkio_parameters ()现在可以按预期使用。
- BZ#861581
- 在此次更新之前,设置哈希密钥时使用不正确的字符串长度,因此某些哈希键的名称已被截断。现在,为 hash 键提供了正确的字符串长度,而 get_node_memory_stats ()函数的 hash 键现在与其文档匹配。
- BZ#865310
- 在设置内存参数时,set_node_memory_parameters () 函数正在尝试更新一些只读值。因此,set_node_memory_parameters ()始终返回错误消息。要解决这个问题,方法已被改为只设置参数,set_node_memory_parameters () 现在可以正常工作。
- BZ#869130
- 在以前的版本中,API 文档包含格式化错误。这个更新提供了 API 文档的更正,它正确格式化文档。
- BZ#873203
- 由于 pm_suspend_for_duration ()和 pm_wakeup ()函数中缺少参数的默认值,API 的调用者必须提供参数,即使它们应当是可选的。在这个版本中,默认值被添加到这些功能中,现在调用时会成功。
- BZ#882829
- 在此次更新之前,list_all_volumes ()参数的 Plain Old Documentation (POD)中存在错误,这可能会出错。文档已被更新,对于 list_all_volumes ()现在可以正确地描述 API 使用情况。
- BZ#883775
- 在以前的版本中,一个不正确的类名称与 list_all_nwfilters () 函数一起使用。因此,无法从 list_all_nwfilters ()返回的对象不能被使用。现在,对象名称已被修复,list_all_nwfilters () 函数可以正常工作。
- BZ#886028
- 当检查 screenshot ()和 current_snapshot ()函数的返回值时,假定为错误的数据类型。因此,某些错误没有被正确处理,应用程序最终可能会意外终止。在这个版本中,API 错误会在 screenshot ()和 current_snapshot ()中正确处理,应用程序不再崩溃。
7.181. perl
7.181.1. RHBA-2013:0444 - perl 程序错误修复更新
错误修复
- BZ#720644
- 在此次更新之前,计算的 Perl 字符串已损坏,或者当带有 "x" operator 的字符串超过 2^31 次时,计算的 Perl 字符串会中止,例如 "my $s = "a' x (2**31+1);"。这会将"x"运算符的右侧限制为 2^31,以防止它包装计数的内部表示。
7.182. php
7.182.1. RHSA-2013:0514 - php 程序错误修复和功能增强更新
安全修复
- CVE-2011-1398
- PHP 没有检查 HTTP 标头中的回车,允许绕过预期的 HTTP 响应分割保护。根据 Web 浏览器使用 victim,远程攻击者可以利用此漏洞执行 HTTP 响应分割攻击。
- CVE-2012-2688
- PHP scandir ()函数中发现了一个整数签名问题,导致了基于堆的缓冲区。如果远程攻击者可以将大量文件上传到运行 scandir ()功能的目录中,可能会导致 PHP 解释器崩溃或可能执行任意代码。
- CVE-2012-0831
- 找到 PHP 无法正确处理 magic_ quotes_gpc 配置指令。一个远程攻击者可以使用这个缺陷来禁用该选项,这可能会更轻松地执行 SQL 注入攻击。
程序错误修复
- BZ#771738
- 在此次更新之前,如果向
var_export()
功能发送负数组索引值,则该函数会返回一个未签名的索引 ID。在这个版本中,这个函数已被修改,以正确处理负数组索引值。 - BZ#812819
- 在以前的版本中,当从时间戳创建对应的
DateTime
对象时,setDate()
、setISODate()
和setTime()
功能无法正常工作。这个程序错误已被解决,上述功能现在可以正常工作。 - BZ#824199
- 在以前的版本中,因为 NOT NULL 完整性约束而失败后重复使用 PDOStatement 时发生分段错误。当 pdo_mysql 驱动程序被使用时会出现这种情况。在这个版本中,引入了一个新的补丁来解决这个问题。
- BZ#833545
- 在此次更新之前,php-common 软件包上的 php-mbstring 软件包的依赖项缺少特定于架构的要求。因此,尝试在安装了 php-mbstring 的机器上安装或补丁 php-common 会失败。在这个版本中,添加了特定于架构的要求,现在可以在不复杂的情况下安装 php-common。
- BZ#836264
- 在以前的版本中,
strcpy()
功能由 unixODBC API 中的extract_sql_error_rec()
功能调用,覆盖了pdo_odbc_error()
功能中的保护变量。因此,会出现缓冲区溢出。这个程序错误已被解决,缓冲区溢出不再发生。 - BZ#848186, BZ#868375
- 在某些情况下,
$this
对象被破坏,并表现为非对象。具有is_object()
功能的测试仍保持正状态,但任何访问$this
成员变量的任何尝试都会产生以下警告:Notice: Trying to get property of non-object
此行为是由 Zend 垃圾收集器 中的一个错误造成的。在这个版本中,引入了一个新的补丁来修复垃圾回收。因此,$this
不再被破坏。 - BZ#858653
- 在以前的版本中,Fileinfo 扩展不使用流打包程序的
stat
接口。因此,当与流对象一起使用时,Fileinfo 扩展会失败,并显示以下信息:file not found
在这个版本中,Fileinfo 扩展已被修复,以使用流打包程序的 stat 接口。请注意,只有文件和
phar
流打包程序支持 PHP 5.3.3 中的 stat 接口。 - BZ#859371
- 当
imap_open()
函数的DISABLE_AUTHENTICATOR
参数指定为数组时,它会忽略阵列输入。因此,会显示 GSSAPI 警告。这个程序错误已被解决,DISABLE_AUTHENTICATOR
现在可以正确地处理阵列输入。 - BZ#864951
- 在以前的版本中,当执行 SQL 语句时,使用 ODBC 接口的 PHP 脚本可能会进入死锁。这是因为执行计时器使用了信号,并且调用的 ODBC 函数没有重新输入。有了这个更新,底层代码已被修改,现在死锁不太可能发生。
功能增强
7.182.2. RHSA-2013:1049 - Critical: php 安全更新
安全修复
- CVE-2013-4113
- 在 PHP 解析深度嵌套的 XML 文档的方式中发现了一个缓冲区溢出缺陷。如果 PHP 应用程序使用 xml_parse_into_struct () 函数来解析不受信任的 XML 内容,攻击者能够提供特殊编写的 XML 可使用此缺陷使应用程序崩溃,或者可能,执行具有运行 PHP 解释器的用户特权的任意代码。
7.183. piranha
7.183.1. RHBA-2013:0351 - piranha 程序错误修复和安全更新
程序错误修复
- BZ#857917
- 每当访问 Global Settings 页面时,可以重置 Piranha Web 界面中的 IPVS 超时值。因此,如果设置了传输控制协议(TCP)超时、TCP FIN 超时或用户数据报协议(UDP)超时值,则可以从配置文件中删除这些值。这个程序错误已被解决,所有 IPVS 超时值都会如预期保留。
- BZ#860924
- 在以前的版本中,Piranha Web 界面会错误地为虚拟服务器接口显示值 "5"。在这个版本中,Piranha Web 界面可以正确地显示与虚拟服务器关联的接口。
7.183.2. RHBA-2013:0576 - piranha 程序错误修复更新
错误修复
- BZ#915584
- 在以前的版本中,当所有真实服务器都不可用时,lvsd 守护进程无法正确激活 sorry 服务器回退服务。因此,没有可用真实服务器的虚拟服务的传入流量不会定向到 sorry 服务器。在这个版本中,当没有实际服务器可用时,lvsd 守护进程会正确激活 sorry 服务器。
7.184. pki-core
安全修复
- CVE-2012-4543
- 注:此公告提供的证书颁发机构组件不能用作独立服务器。它作为 Red Hat Enterprise Linux 中的身份管理(IPA 组件)的一部分安装并运行。证书系统中发现了多个跨站点脚本漏洞。攻击者可以使用这些漏洞来对使用证书系统的 Web 界面进行跨站点脚本(XSS)攻击。
程序错误修复
- BZ#841663
- 在以前的版本中,由于在生成新序列号时无法转换大型整数,因此序列号中一些最显著的位已被截断。因此,为证书生成的序列号有时会小于预期,如果数据库中已存在具有较少数量的证书,则这个不正确的转换会导致冲突。在这个版本中,删除了不正确的整数转换,因此不会截断序列号。因此,安装向导可以如预期进行。
- BZ#844459
- 证书颁发机构(CA)使用不同的配置文件来发布审计证书,而不是用于续订的审计证书。发出的配置文件为两年,续订时间为 6 个月。它们应该为两年。在这个版本中,caSignedLogCert.cfg audit certificate renewal profile 中将 default 和 constraint 参数设置为两年。
功能增强
7.185. plymouth
7.186. pm-utils
7.186.1. RHBA-2012:1094 - pm-utils 程序错误修复更新
错误修复
- BZ#800630
- 在此次更新之前,RPM 描述包含错误的产品名称。在这个版本中,删除所有错误的信息。
7.187. policycoreutils
程序错误修复
- BZ#816460, BZ#885527
- 在以前的版本中,当使用 policycoreutils-gui 程序为套接字文件添加 SELinux 策略时,policycoreutils-gui 会失败,并带有回溯信息。这个程序错误已被解决,policycoreutils-gui 现在可以成功,现在在这个场景中添加了 SELinux 策略。
- BZ#824779
- 由于代码中有一个错误,当 restorecon 实用程序失败时,它会返回成功退出代码。这个程序错误已被解决,restorecon 现在返回适当的退出代码。
- BZ#843727
- 发生从同一角色进行多个类型访问时,audit2allow 实用程序会生成策略文件,这些策略文件不能被 checkmodule 编译器解析。在这个版本中,audit2allow 生成正确的策略文件,它们可以通过 checkmodule 编译。
- BZ#876971
- restorecond init 脚本允许使用"reload"操作。在以前的版本中,restorecond 生成的用法消息没有提到操作。该操作已添加到用法消息中,现在已完成。
- BZ#882862
- 在此次更新之前,当多个处理的 AVC 之一可以被一个布尔值允许时,audit2allow 工具会产生混淆的输出,因为它不知道与消息相关的 AVC。输出的布局已被修正,audit2allow 输出不再会导致混淆。
- BZ#893065
- 由于回归问题,如果禁用了 SELinux,则在 Red Hat Enterprise Linux 6.4 上无法安装 vdsm 软件包。提供了启用 vdsm 安装的补丁。
功能增强
- BZ#834160
- 实施了 semanage 工具的新功能。现在,用户可以注意到指定的文件上下文 semanage 命令错误,并返回适当的错误消息。
- BZ#851479
- 在这个版本中,restorecon 工具会为策略中没有定义默认 SELinux 安全上下文的路径返回警告信息。
7.188. powerpc-utils
程序错误修复
- BZ#739699
- bootlist 命令用于读取和修改 NVRAM 中的 bootlist,以便系统可以从正确的设备引导。在以前的版本中,当使用多路径设备作为引导设备时,bootlist 命令会使用其 Linux 逻辑名称。但是,在 IBM POWER 系统上使用的 Open Firmware 无法解析 Linux 逻辑名称。因此,从 IBM POWER 系统上的多路径设备引导会失败。在这个版本中,修改 bootlist 脚本,以便 bootlist 现在支持多路径设备作为参数。脚本可将多路径设备的 Linux 逻辑名称转换为 Open Firmware 可解析的路径名。从 IBM POWER 系统上的多路径设备引导现在可以如预期成功。
- BZ#857841
- 在以前的版本中,如果系统上没有找到 IBM hypervisor 虚拟控制台服务器(hvcs)适配器,"hvcsadmin -status"命令不会提供任何输出。在这个版本中,修正了 hvcsadmin 脚本,以便在执行 "hvcsadmin -status" 命令时,用户可以看到指示没有找到 hvcs 适配器的消息。
- BZ#870212
- lsdevinfo 脚本之前没有考虑以太网设备的 "status" 属性。此属性对 End-to-End Virtual Device View 功能至关重要,因此该功能在没有它的情况下无法正常工作。在这个版本中,修改 lsdevinfo,因此脚本也会检查以太网设备的状态,并将 status 属性设置为 1。端到端虚拟设备视图功能现在可以正常工作。
7.189. ppc64-diag
程序错误修复
- BZ#833619
- 在以前的版本中,如果收到预测 CPU 失败,GARD 功能可能无法"阻止"在逻辑分区(LPAR)上取消置备的 CPU。因此,无法取消置备 CPU。这是因为 SIGCHLD 信号处理程序的行为不正确,在某些情况下,对已经退出的管道子进程执行清理。在这个版本中,修改底层源代码,以便在管道关闭前将 SIGCHLD 信号处理器重置为默认操作,并在管道关闭后再次设置。现在,CPU 已被正确地"退出",并在这种情况下按预期配置。另外,通过 lsvpd 命令提取的关键产品数据(VPD)无法正常工作。这个问题已通过更正 lsvpd_init ()函数来解决,VPD 现在会如预期获取。
- BZ#878314
- diag_encl 命令以前使用比较功能进行了改进。这个功能需要在 ppc64-diag 安装上创建 /etc/ppc64-diag/ses_pages 目录。但是,ppc64-diag spec 文件不会被相应地修改,以便在安装 ppc64-diag 软件包时不会创建所需的目录。因此,diag_encl 命令的比较功能无法正常工作。在这个版本中,修正了 ppc64-diag spec 文件,以便 /etc/ppc64-diag/ses_pages 目录现在按预期创建,比较功能可以正常工作。
7.190. procps
7.190.1. RHBA-2012:1463 - procps 程序错误修复更新
程序错误修复
- BZ#851664
- 在此次更新之前,'si' 和 'so' 值始终为零,表示 "m" 或 "M" 单元。这是因为用于计算的表达式中的算术精度丢失所致。在这个版本中,修改表达式以避免精度丢失。
- BZ#875077
- 在此次更新之前,当 'us', 'sy', 'id', 'wa', 'wa' 和 'st' 的总和时,vmstat 工具可能会意外终止。这个情况可能只出现在特定的平台上。这个更新会修改内部评估,以便 vmstat 工具更为稳定,不再终止。
7.191. pykickstart
程序错误修复
- BZ#823856, BZ#832688, BZ#837440
- 在以前的版本中,当使用带有 --useexisting 选项的 volgroup 命令时,没有指定物理卷(PV)时,系统安装会失败,并显示以下信息:必须授予 VolGroup 分区列表在这个版本中,库脚本已被设置,用于检查在安装前是否定义了 PV。如果未定义 PV,脚本会引发警告信息来通知用户。
- BZ#815573
- 在以前的版本中,标记为已弃用的 kickstart 命令选项不允许具有值。因此,一个 kickstart 文件包含带有分配值已弃用的命令选项,如 --videoram="value",无法验证。ksvalidator 工具使用以下信息终止:--videoram 选项不使用值在这个版本中,已弃用的选项被允许使用值,在上述场景中不再发生错误。
功能增强
- BZ#843174
- "autopart", "logvol", "part" 和 "raid" 命令现在可以使用 --cipher 选项指定用于加密设备的加密算法。如果没有提供这个选项,安装程序将使用默认算法。
7.192. PyQt4
7.192.1. RHBA-2012:1241 - PyQt4 程序错误修复更新
程序错误修复
7.193. python-ethtool
程序错误修复
- BZ#692028
- 在这个版本中,"pethtool --help"命令的输出中修正了拼写错误。
- BZ#698125
- 在此次更新之前,当 get_active_devices ()和 get_interfaces_info ()函数重复调用时,会发生内存泄漏。这个程序错误已被解决,在上述场景中不再发生内存泄漏。
- BZ#714753
- 由于命令行解析器中的一个错误,如果在命令行中指定,pifconfig 工具不接受接口作为参数。因此,实用程序显示所有接口,而不是像预期那样只显示有关指定接口的信息。解析器中的错误已被修复,pifconfig 现在可以正确地解析传递的参数。
- BZ#759150
- 在以前的版本中,如果一个网络接口控制器(NIC)有多个 IP 地址,则只会多次报告第一个地址。在这个版本中,get_ipv4_addresses ()方法已被实现,以报告 NIC 上所有 IP 地址。
功能增强
- BZ#698192
- 在这个版本中,在 pifconfig 工具中添加了对配置 IPv6 的设备的支持。
7.194. python-nss
程序错误修复
- BZ#698663
- 在 64 位构架中,setup_certs.py 脚本包含到 libnssckbi.so 库的路径不正确。因此,脚本会尝试运行 "modutil -dbdir pki -add ca_certs -libfile /usr/lib/libnssckbi.so" 命令并出错,因为在这个构架中,libnssckbi.so 库位于 /usr/lib64/ 目录中。在这个版本中,modutil 命令行工具可以根据其了解系统来查找 libnssckbi.so 模块。
- BZ#796295
- 当为 CA 证书设置基本约束时,python-nss 软件包会失败,并显示以下信息:
cannot decode Basic Constraints
这是因为一个不正确的格式指定符,它已被修复,在这种情况下 python-nss 不再会失败。
功能增强
- BZ#642795
- python-nss 软件包已更新,以添加对 PKCS resources 文件的支持。
7.195. python-paste
错误修复
- BZ#783158
- 在以前的版本中,auth_tkt 插件使用 MD5 checksums,它不兼容 FIPS (Federal Information Processing Standard)。因此,当系统上激活 FIPS 合规模式时,auth_tkt 会失败。auth_tkt 插件已设置为使用兼容 FIPS 的 Secure Hash Algorithm (SHA) 256,而不是 MD5 checksums。因此,在这种情况下,auth-tkt 不再会失败。
7.196. python-psycopg2
程序错误修复
7.197. python-rhsm
功能增强
- BZ#790481
- 此功能增强允许将 subscription-manager 版本值添加到 X-HTTP 标头字段。
7.198. python-rtslib
错误修复
- BZ#838759
- 在以前的版本中,可以使用同一后备文件创建多个 "fileio" 后端存储。这个行为可能会导致数据丢失。这个版本可防止 "fileio" 后端存储使用相同的后备存储。
7.199. python
7.199.1. RHBA-2013:0437 - python 程序漏洞修复更新
程序错误修复
- BZ#707944
- 在以前的版本中,应用 python-2.6.5-ctypes-noexecmem 补丁会导致 ctypes.CFUNCTYPE ()函数分配内存,以避免在具有 execmem 权限的 SELinux 域中运行进程。当这个分配进程不使用 exec ()函数(例如在多处理模块中)进行分叉时,分配器的状态是在父进程和子进程之间共享的。这种共享状态会导致进程间的交互,可能会导致分段错误或缺少多处理工作负载的终止。在这个版本中,python-2.6.5-ctypes-noexecmem 已恢复,且无法预计的行为不再发生。另外,现在需要在带有 execmem 权限的 SELinux 域中运行 Python 程序。
- BZ#814391
- 在此次更新之前,任何 ctypes 模块(如通过 Django 应用程序框架使用的 "uuid" 模块)在模块导入时都触发了 ctypes.CFUNCTYPE ()函数。因此,如果进程缺少 SELinux 权限,则返回 AVC 拒绝信息。这个程序错误已被解决,现在只在相关 ctypes 使用时才需要 SELinux 权限,比如将 Python 调用传递给 C 回调。
- BZ#810847, BZ#841748
- 在某些情况下,启用 C 级别断言会导致 python 库在构建有效的 Python 代码时失败。因此,在列表理解或生成器表达式中包含四个或更多嵌套的 "IF" 语句的代码无法编译。另外,在格式化特定 numpy 对象时会出现一个错误。在这个版本中,C 级断言已被取消激活,上述问题不再发生。
- BZ#833271
- 作为 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 异常。
- BZ#835460
- 由于 Python 日志记录模块中的一个错误,SysLogHandler 类将继续针对关闭的连接发送日志消息。因此,当 SysLogHandler 与 Eventlet 库一起使用时,会出现无限循环。这个程序错误已被解决,上面描述的问题不再发生。
7.200. python-virtinst
错误修复
- BZ#834495
- 在此次更新之前,执行 "virt-install --cpuset=auto" 命令会导致回溯追踪,"cpuset" 字符串的最佳配置没有被形成。在这个版本中,一个补丁已被上游向后移植,上面描述的错误不再发生。
功能增强
- BZ#803631
- 在这个版本中,Red Hat Enterprise Linux 7 被添加到 virt-manager 和 virt-install 工具中已知的 Linux 发行版列表中。
- BZ#832339
- 在以前的版本中,virt-install 工具只支持 libvirt 功能中列出的第一个安全标签。在这个版本中,添加了对更多标签的支持。
7.201. qemu-kvm
7.201.1. RHBA-2013:0539 - qemu-kvm 程序错误修复更新
错误修复
- BZ#908396
- 在以前的版本中,当设置了 link_down 标志时,使用 e1000 网络适配器的客户机可以在系统重置过程中自动协商。因此,在重置后,客户机网络不可用。现在,提供了一个补丁来解决这个程序错误,在上述场景中系统重置后,客户机现在可以连接到网络。
- 这个版本提供了使用文件系统的 fsfreeze 命令状态的持续跟踪,以便 qemu-ga 守护进程了解 fsfreeze 状态,即使守护进程或重启了。
- guest-fsfreeze-thaw 命令被允许无条件地运行,以便 qemu-ga 守护进程仍然可以处理文件系统,即使守护进程停止或重启了。
- 当 guest-fsfreeze-thaw 命令在 frozen 文件系统上执行时,qemu-qa 守护进程已被修改为读取 /proc/self/mounts 文件,而不是重新读取 /etc/mtab 文件。在这个版本中,守护进程可避免尝试更改 /etc/mtab 文件的 atime 时间戳,这将被阻断。
- guest-suspend-disk 和 guest-suspend-ram 命令现在可用于暂停 RAM 或 Windows 系统上的磁盘。
- 在这个版本中,Windows 通信代码中内存泄漏的问题。
- guest-network-get-interfaces 命令现在可用于获取 Linux 中的网络接口信息。
- 这个版本提供了文件系统冻结支持改进和修复。
程序错误修复
- BZ#866736
- 在 SVVP (Server Virtualization Validation Program)环境中,当使用 e1000 网络驱动程序时,PCI Hardware Compliance Test for Systems 作业会失败。因此,无法在系统上传递 HCK (硬件认证套件)SVVP 认证。现在,提供了一个补丁来解决这个问题,测试现在会在上述场景中按预期传递。
- BZ#887897
- 动态硬盘使用 Virtual Hard Disk (VHD)格式,其标头中的数据偏移的大小是 64 位。虽然 Microsoft 的 VHD 规格只允许初始化前 32 位,但 Microsoft Windows VHD 镜像会初始化所有 64 位。QEMU 之前只初始化 VPC 代码中的前 32 位。因此,在某些环境中(如 Microsoft Hyper-v virtualization)和一些工具(如 vhd-util)中可能无法识别 qemu-img 工具生成的 VHD 镜像。这个版本修改了 QEMU,以初始化动态磁盘头中 data offset 字段的所有 64 位。现在,Microsoft Hyper-V 虚拟化接受 qemu-img 生成的镜像,可以使用 Mount-VHD 命令成功挂载。
- BZ#851143
- 当使用 QXL 驱动程序和 VNC 作为显示协议的一些初始客户机操作系统安装时,在设置过程中,虚拟机会意外终止并显示分段错误,并返回 "lost connection with kvm process" 错误消息。已提供了一个补丁来解决这个问题,并在上述场景中正确运行虚拟机。
- BZ#821692
- 当使用比目标主机使用较新版本的 QEMU 从主机迁移带有 HDA 音频设备的客户机时,迁移会失败。这是因为 HDA 音频设备的实时迁移格式最近被旧版本的 QEMU 识别。在这个版本中解决了这个问题,修改 QEMU 以允许使用 "-M $oldversion" 选项以旧迁移格式发送数据。在这种情况下,实时迁移可以成功。
- BZ#733720
- 当 CPU 内核或线程的数量不是 2 的电源时,初始 APIC ID 没有使用正确的拓扑位设置。因此,客户机可见的 CPU 拓扑(为 CPU 内核数和线程分配)不正确。在这个版本中,底层代码已被修改,在这种情况下初始 APIC ID 被设置为预期,客户机现在可以获取正确的 CPU 拓扑。
- BZ#689665
- 在以前的版本中,qemu-kvm 为特定 CPU 型号定义了一个不正确的 CPU 级别,如 Intel Core 2 Duo P9xxx (Penryn Class Core 2)、Intel Celeron_4x0 (Conroe/Merom Class Core 2)和 Intel Core i7 9xx (Nehalem Class Core i7)。因此,客户机系统无法获取有关 CPU 拓扑的任何额外信息,并只能提供 CPU 级别两个拓扑信息(软件包和线程信息)。在这个版本中,更正底层代码,将 CPU 级别定义为上述 CPU 模型的 4 级,以便客户机现在可以获取预期的 CPU 拓扑信息。
- BZ#831708
- 当使用 "-spice" 命令行选项和"streaming-video=" 子选项(分配无效值)创建虚拟机(VM)时,不正确的值会被忽略,虚拟机使用默认值成功创建。在这个版本中修正了此行为,如果提供了 "streaming-video" 子选项,则尝试创建虚拟机会失败,qemu-kvm 会正常退出。
- BZ#852083
- 在以前的版本中,在 qemu-kvm 的 Intel Xeon Processor E5-XXXX 模型中默认启用虚拟性能监控单元(vPMU)直通模式。当执行虚拟机实时迁移到比原始主机有更少的 PMU 计数器的新主机时,这可能会出现问题。客户机预期同一组 PMU 计数器,并可能会因为尝试使用不存在的 PMU 计数器而意外终止。在这个版本中,Red Hat Enterprise Linux 6.4 上的 QEMU 中的 Intel Xeon Processor E5-XXXX 模型禁用了 vPMU 直通模式,且只能在使用 "-cpu host" 选项时启用。然而,在这种情况下,对于 Red Hat Enterprise Linux 6.4,客户机不再会崩溃,为了保持实时迁移的向后兼容性,QEMU 在 Red Hat Enterprise Linux 6.3 上保留旧行为。
- BZ#819915
- 在发送多描述符数据包时,e1000 NIC 的 QEMU 模拟之前为每个数据描述符加载数据包选项字段(POPTS)。这与 e1000 规格冲突,要求忽略 POPTS 字段,但数据包的第一个数据描述符除外。因此,在使用多描述符数据包时,模拟的 e1000 NIC 的性能将非常不佳。在这个版本中,e1000 的 QEMU 模拟已被修正,现在根据规格和 POPTS 的行为只针对数据包的第一个数据描述符加载。模拟 e1000 NIC 的性能在处理多描述符数据包时满足用户的预期。
- BZ#854528
- 在 VGA 模式中,SPICE 之前使用脏页面跟踪机制来确定需要更新哪些屏幕区域。需要更新的屏幕区域使用扫描行粒度进行跟踪,以便即使进行小更新也会导致发送大量数据。这在 VGA 模式中对 SPICE 性能有严重影响。这个版本修改了 SPICE,以保留发送到 SPICE 客户端屏幕内容的最新副本。这个副本用于确定需要更新屏幕的确切区域,现在只会更新这些部分,而不是整个扫描行。VGA 模式中的 SPICE 性能已如预期增加。
功能增强
- BZ#843084
- Red Hat Enterprise Linux 6.4 向 qemu-kvm 添加了对 Intel 的下一代核心处理器的支持,以便 KVM 客户机可以使用处理器提供的新功能,其中最重要的是: 高级向量扩展 2 (AVX2), Bit-Manipulation instructionss 1 (BMI1), Bit-Manipulation Instructions 2 (BMI2), Hardware Lock Elision (HLE), Restricted Transactional Memory (RTM), Process-Context Identifier (PCID), Invalidate Process-Context Identifier (INVPCID), Fused Multiply-Add (FMA), Big-Endian Move 指令(MOVBE), F Segment and G Segment BASE 指令(FSGSBASE), Supervisor Mode Execution Prevention (SMEP), Enhanced REP MOVSB/STOSB (ERMS)。
- BZ#767233
- Red Hat Enterprise Linux 6.4 支持在客户机处于活动状态时将外部快照合并为后备文件链。将快照合并到后备文件链通常更快,并比转发流更适合某些工作流。快照数据位于为合并指定的后备文件中,然后可以删除合并的快照。
- BZ#805172
- KVM 现在支持使用 USB 设备的客户机实时迁移。支持以下设备:增强主机控制器接口(EHCI)和通用主机控制器接口(UHCI)本地直通和模拟设备,如存储设备、鼠标、键盘、集线器等。
- BZ#838126
- AMD Opteron 4xxx 系列处理器现在由 qemu-kvm 支持。这允许此处理器系列的新功能公开给 KVM 客户机,例如:F16C 指令集、Trailing Bit Manipulation、BMI1 decimate 功能以及 Fused Multiply-Add (FMA)指令集。
- BZ#852665
- 在这个版本中,e1000 驱动程序已被修改,以便在接收队列被代表时清除接收队列。另外,每当接收队列被禁止时,驱动程序现在会通知 I/O 线程重新评估文件描述符。这种改进可显著降低客户机的延迟。
- BZ#861331
- KVM 现在支持通过 SPICE 使用 USB 转发来实时迁移客户机,同时为所有配置的设备维护现有的 USB 设备重定向。
- BZ#835101
- 当主机和客户机系统都更新至 Red Hat Enterprise Linux 6.4 或更新版本时,中断密集型工作负载,如带有 virtio 网络设备的传入网络流量,则虚拟机与 hypervisor 之间的上下文切换数量。这可显著降低主机的 CPU 使用率。
- BZ#801063
- 此更新允许将声音设备检测为客户机系统中的微手机或发言人(除了被检测到为 line-in 和 line-out 之外)。现在,声音设备可以在只接受某些类型的语音记录和音频的客户机应用程序中正常工作。
- BZ#854191
- 如果没有找到可引导设备,QEMU 用户以前无法控制 SeaBIOS 重启客户机前的时间延迟。在这个版本中,QEMU 用户可以通过添加新的引导选项"-boot reboot-timeout=T"来控制客户机的引导过程,其中 T 是延迟时间(以毫秒为单位)。选项允许 QEMU 将 /etc/boot-fail-wait 配置文件传送到 SeaBIOS 并设置重启超时。用户甚至可以通过将 reboot-timeout 选项设置为 "-1" (默认值)来防止 SeaBIOS 重新启动客户机。
安全修复
- CVE-2012-6075
- 当主机配置为接受巨型网络帧时,QEMU-KVM 模拟 e1000 网络接口卡的方式发现了一个安全漏洞,并且不使用 e1000 模拟驱动程序的客户机不是。远程攻击者可以利用此漏洞使客户机崩溃,或者可能在客户机中使用 root 权限执行任意代码。
安全修复
- CVE-2013-2231
- 在 Windows 上执行 QEMU 客户机代理服务安装的方式中发现了一个未加引号的搜索路径缺陷。根据未加引号搜索路径中的目录权限,本地的非特权用户可以使用此缺陷来拥有选择使用 SYSTEM 特权的二进制文件。
7.202. ql2400-firmware
7.203. ql2500-firmware
7.204. qt
7.204.1. RHBA-2012:1246 - qt 程序错误修复更新
程序错误修复
- BZ#678604
- 在此次更新之前,在使用 IRC 客户端 Konversation 时,鼠标指针可能会在某些情况下消失。在这个版本中,修改底层代码,以重置父项上的光标,并在新窗口句柄上设置光标。现在,鼠标指针不再消失。
- BZ#847866
- 在此次更新之前,QTabletEvent 类的高精度协调无法处理多个 Wacom 设备。因此,只有加载的设备才能正常工作。这个版本修改了底层代码,以便可以如预期处理多个 Wacom 设备。
7.205. quota
7.205.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 工具会发送一个错误的信息。这个版本更改了单词,现在文本单词更多代表。(
7.206. rdesktop
7.206.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 会如预期连接。
7.207. rdma
安全修复
- CVE-2012-4517
- 在 ibacm 管理的参考计数中发现了一个拒绝服务漏洞的问题。攻击者可以发送特殊的精心设计的多播数据包,从而导致 ibacm 守护进程崩溃。
- CVE-2012-4518
- 它发现 ibacm 守护进程创建了具有全局可写权限的一些文件。本地攻击者可以使用这个缺陷来覆盖 ibacm.log 或 ibacm.port 文件的内容,允许它们屏蔽日志中的某些操作,或导致 ibacm 在非默认端口上运行。
程序错误修复
- BZ#818606
- 在以前的版本中,"ibnodes -h"命令没有显示正确的使用信息。在这个版本中,这个问题已被解决,"ibnodes -h"现在显示正确的使用信息。
- BZ#822781
- 在以前的版本中,ibv_devinfo 工具错误地显示 iWARP cxgb3 硬件的物理状态,即使设备正常工作也是如此。对于 iWARP 硬件,phys_state 字段没有意义。在这个版本中,对工具进行补丁,当硬件是 iWARP 硬件时,不会打印此字段的任何内容。
- BZ#834428
- 在 Red Hat Enterprise Linux 6.3 发布前,内核会在错误的地方创建了 InfiniBand 设备文件,并使用 udev 规则文件来强制在正确的位置创建设备。随着 6.3 的更新,内核已被修复,在正确的位置创建 InfiniBand 设备文件,因此已不再需要 udev 规则文件。但是,内核设备创建中的一个错误意味着,虽然设备现在在正确的位置被创建,但它们有不正确的权限。因此,当用户尝试以非 root 用户身份运行 RDMA 应用程序时,应用程序无法获得使用 RDMA 设备所需的权限,应用程序会终止。在这个版本中,会放置一个新的 udev 规则文件。它不再尝试创建 InfiniBand 设备,因为它们已存在,但它会更正文件的设备权限。
- BZ#847129
- 在以前的版本中,使用带有主机名的 "perfquery -C" 命令会导致 perfquery 工具变得无响应。要处理的控制器列表永远不会被清除,进程在单个控制器中循环的进程。应用了补丁以确保当用户通过 -C 选项时,控制器列表会在控制器被处理后清除。因此,perfquery 现在在上述场景中可以正常工作。
- BZ#862857
- 当 "/etc/rdma/opensm.conf commands" 下没有配置文件时,OpenSM init 脚本不会处理这种情况。在这个版本中,该脚本被修补,InfiniBand 子网管理器 OpenSM,现在在上述场景中按预期启动。
功能增强
- BZ#869737
- 这个更新提供了一个更新的 mlx4_ib Mellanox 驱动程序,其中包括单根 I/O 虚拟化(SR-IOV)支持。
7.208. redhat-lsb
程序错误修复
- BZ#709016
- 在以前的版本中,redhat-lsb 软件包中缺少 redhat-lsb-core 子软件包。因此,当需要 redhat-lsb 时,会拉取大量不必要的依赖项。这个版本提供了 redhat-lsb-core,其要求最小,从而防止这个程序错误。
- BZ#844602
- redhat-lsb 软件包描述中使用不准确品牌名称。在这个版本中解决了描述信息。
- BZ#833058
- 在以前的版本中,redhat-lsb 软件包中缺少 lsb_release man page 中指定的 /etc/lsb-release 文件。在这个版本中,添加了这个文件,它提供有关系统上安装的 LSB 模块的信息。
功能增强
- BZ#801158
- 现在,可以安装 LBS 子软件包,如 redhat-lsb-core、redhat-lsb-c++、redhat-lsb-graphics 或 redhat-lsb-printing,而无需单独安装具有系统上可能需要的所有依赖项的 redhat-lsb 软件包。
7.209. redhat-release
7.210. redhat-rpm-config
程序错误修复
- BZ#795577
- kmodtool 脚本是构建内核模块 RPM 的帮助脚本。在以前的版本中,kmodtool 脚本中的 "verrel" 参数返回带有 dangling 符号(".")的内核版本和变体字符串。在这个版本中,dangling 符号已从 "verrel" 输出中删除。
- BZ#822073
- "brp-java-repack-jars"脚本无法正确处理某些 Java 归档(JAR)文件。这些文件将"探索"目录层次结构的权限设置为非标准权限模式,如"0000"。在这个版本中,标准用户权限在"探索"目录层次结构中正确设置,这样可防止发生某些错误,比如在需要时无法删除目录树。
功能增强
- BZ#669638
- 在以前的版本中,%_smp_mflags 宏建议的并行编译作业数量限制为最多 16 个 CPU。在这个版本中引进了 %_smp_ncpus_max 宏,这使得 CPU 限制可以调整。
- BZ#869062
- 在以前的版本中,/usr/lib/rpm/redhat/rpmrc 文件包含左侧"macrofiles"行,该行被 RPM 的后续版本忽略。在这个版本中,上述行已从 rprmc 中删除,以避免混淆。
7.211. Red Hat Enterprise Linux 发行注记
7.212. resource-agents
程序错误修复
- BZ#714156
- 在以前的版本中,netfs 接口中的
status
操作无法将任何输出写入/var/log/cluster/rgmanager.log
文件中。因此,无法验证 NFS 挂载的状态检查是否成功。这个 bug 已被修复,状态检查的结果现在可以正确存储在日志文件中。 - BZ#728365
- 要使 HA-LVM 正常工作,在引导过程中使用的
/boot/initrd.img
文件必须与/etc/lvm/lvm.conf
文件同步。在以前的版本中,当lvm.conf
在不更新initrd.img
的情况下更改时,HA-LVM 启动会失败。在这个版本中,修改了此行为。现在会显示警告信息,但启动不会在上述情况下被终止。 - BZ#729812
- 在此次更新之前,当同时在集群中的多个节点上启动 HA-LVM 服务的
clvmd
变体时,会发生 occasional 服务失败。HA-LVM 资源的开头与初始化同一 HA-LVM 资源的另一节点相协调。在这个版本中,引入了一个补丁来同步这两个资源的初始化。因此,因为同时初始化,服务不再会失败。 - BZ#817550
- 当使用
status
参数调用 oracledb.sh 脚本时,它会在检查其状态后重启数据库,而无需向 rgmanager 应用发出任何通知。这个程序错误已被解决,不需要的重启不再发生。 - BZ#822244
- 在以前的版本中,/usr/sbin/tomcat-6.sh 脚本解析配置文件,并在启动 Apache Tomcat 6 servlet 容器前设置 shell 变量。因此,默认配置会被忽略。这个程序错误已被解决,上述问题不再发生。
- BZ#839181
- 在以前的版本中,无法正确解析包含多个单词的 HA-LVM 命令的输出。因此,使用 rg_test 命令启动 HA-LVM 服务偶尔会失败,并显示以下信息:
too many arguments
在这个版本中,底层源代码已被修改,来在扩展到多个单词的变量中添加引号。因此,上面提到的启动错误将不再发生。 - BZ#847335
- 如果在文件系统资源代理的状态检查操作中更改了
/proc/mounts
文件的内容,则状态检查可能会错误地检测到缺少的挂载,并将服务标记为失败。这个程序错误已被解决,在上述场景中,rgmanager 的 文件系统资源代理不再报告假的故障。 - BZ#848642
- 在以前的版本中,如果
/proc/mounts
文件的 device 字段包含尾部斜杠,rgmanager 无法识别 CIFS (Common Internet 文件系统)挂载。在这个版本中,在读取/proc/mounts
的内容时,引入了补丁从设备名称中删除尾部斜杠。现在,CIFS 挂载会被正确识别。 - BZ#853249
- 在此次更新之前,当根据服务中的 LVM 资源运行文件系统时,LVM 资源无法启动,后续尝试取消注册文件系统资源会失败。这个 bug 已被修复,在挂载操作失败后可以成功取消注册文件系统资源。
- BZ#860328
- 在以前的版本中,当在 Pacemaker 集群环境中使用 HA-LVM 资源代理时,会出现几个错误和失败的操作。在这个版本中,添加了几个脚本以防止这些错误。这些脚本修复了 HA-LVM 中空格的处理以及 rgmanager 中非零代码的处理。另外,在系统上不存在 rgmanager 时,member_util 工具已更新为使用 Corosync 和 Pacemaker。
- BZ#860981
- 在以前的版本中,当节点无法访问存储设备时,HA-LVM 无法取消激活在该节点上运行的服务的卷组。底层源代码已被修改,允许服务迁移到仍可以访问存储设备的其他机器,从而防止这个错误。
- BZ#869695
- 在以前的版本中,SAPInstance 集群资源代理启动的 SAP 实例继承 root 用户的系统资源的限制。打开文件的最大数量需要更高的限制(ulimit -n)、最大堆栈大小(ulimit -s)和数据片段的最大大小(ulimit -d)。在这个版本中,SAPInstance 代理已被修改为接受
/usr/sap/services
文件中指定的限制。因此,现在可以手动指定系统资源限制。
功能增强
- BZ#773478
- 在这个版本中,/usr/share/cluster/script.sh 资源主要被 rgmanager 应用程序使用,以提供有关内部错误原因的更多信息报告。
- BZ#822053
- 在这个版本中,
nfsrestart
选项被添加到 fs 和 clusterfs 资源代理中。这个选项提供了一种强制重启 NFS 服务器的方法,并允许完全卸载导出的文件系统。 - BZ#834293
- pacemaker SAPInstance 和 SAPDatabase 资源代理已使用最新的上游补丁进行更新。
- BZ#843049
- 在 rgmanager ip.sh 资源代理中添加了一个新的
prefer_interface
参数。当集群节点在同一子网中有多个活跃接口时,此参数用于向特定的网络接口添加 IP 地址。
功能增强
- BZ#1001519
- 在这个版本中,增加了对 Heartbeat OCF 供应商下的 Pacemaker 资源代理的支持。
错误修复
- BZ#978775
- 使用带有标签的 lvm.sh 一起使用会在节点重新加入集群时剥离集群标签。这是因为 lvm.sh 代理无法准确检测集群节点所代表的标签。因此,当另一个节点重新加入集群时,集群节点中的活跃逻辑卷会失败。此更新可以正确地检测标签是否代表集群节点、node-name,或者 corosync-quorumtool -l 输出返回 fqdn。当节点重新加入集群时,标签不会剥离 LVM 卷组,卷组不会在其他节点上失败。
功能增强
- BZ#972931
- Oracle Resource Agent 的早期版本仅针对 Oracle 10 测试。在这个版本中,对 Oracle Database 11g 的支持已添加到 oracledb、orainstance 和 oralistener 资源代理中。
7.213. rgmanager
7.213.1. RHBA-2013:0409 - rgmanager 程序错误修复更新
程序错误修复
- BZ#825375
- 由于从不同的 rgmanager 线程提供对内部 DBus 数据结构的解锁访问,rgmanager 在运行 rgmanager 时可能会意外终止,如果没有 "-q" 标志(设置为默认设置)。底层源代码已被修改,在这种情况下,rgmanager 不再会失败。
- BZ#831658
- 在以前的版本中,rgmanager 在三节点集群中首选两个节点,这会导致第三个节点没有被使用。配置已被更改,rgmanager 现在按预期使用集群中的所有节点。
- BZ#833347
- 在以前的版本中,cpglockd init 脚本没有包括在 chkconfig 配置文件中。在这个版本中,在这个文件中添加了 cpglockd。
- BZ#853251
- 如果资源位于卸载的文件系统中,则资源组管理器无法停止资源。因此,rgmanager 将资源视为缺失,并将适当的服务标记为失败,这导致集群无法恢复该服务。如果之前没有通过服务启动的资源,则 rgmanager 允许 rgmanager 忽略此错误。现在可以在其他主机上正确启动该服务。
- BZ#861157
- 当 rgmanager 收到特定服务的远程启动消息时,已经在本地启动该服务时,可能会出现死锁。这有时会在恢复失败的服务期间发生。这个程序错误已被解决,rgmanager 可以正常工作。
- BZ#879031
- 当服务配置有可恢复的资源(如 nfsclient)时,客户端失败可以正确地触发恢复功能。但是,即使恢复操作成功,rgmanager 仍然停止并恢复该服务。底层源代码已被修改,rgmanager 不再停止成功恢复的客户端。
7.214. rhn-client-tools
程序错误修复
- BZ#784964
- 如果系统使用多个网络接口,则 Satellite 服务器可能会发现与用来连接到红帽网络的用户不同的 IP 地址。这会导致 Red Hat Network 在 web UI 中显示不正确的信息。底层源代码已被修改,现在发现正确的 IP,以及 web UI 中显示的正确信息。
- BZ#842834
- 多服务器故障转移无法正常工作;配置了多个服务器时可能会出现套接字错误。此更新可确保用户可以配置其他服务器来尝试第一个选项是否失败。
- BZ#815695
- 在以前的版本中,当与特定选项一起使用时,RHN-channel 工具可能会忽略配置的代理服务器,例如 "--available 频道"。这个问题已被解决,在这种情况下使用指定的代理服务器。
- BZ#811641
- 由于源代码中有一个错误,如果系统中连接了 USB 设备,则 rhn_register 工具可能会在注册过程中抛出回溯。这个程序错误已被解决,Red Hat Network 注册可以正常工作。
- BZ#839791
- 在以前的版本中,如果出现错误,rhn-profile-sync 工具会以不正确的退出代码退出。此更新确保 rhn-profile-sync 使用正确的退出代码退出。
- BZ#823551
- 在以前的版本中,firstboot 和 rhn_register GUI 会显示混淆或冲突的信息,它们没有反映 Subscription Manager 的更改。文本已更新为更清晰且具体。
- BZ#830776
- 如果另一个 rhn_check 实例正在运行,则 rhn_check 工具会失败,并显示回溯信息。在这个版本中,如果用户在另一个实例运行时尝试运行 rhn_check,则会显示适当的错误消息。
- BZ#810315
- firstboot 的 Set Up Software Update 屏幕中显示了过时的示例图标。已替换该图标以提供与用户在其系统上看到的内容相匹配的示例。
- BZ#839935
- 在以前的版本中,尝试使用 rhn-channel 工具订阅不存在的频道会失败,并显示回溯信息。在这个版本中,在这种情况下会出现一个信息性错误消息。
- BZ#786422
- 这个版本修复了之前在 rhn_register 用户界面文本中存在拼写错误。
- BZ#846359
- rhn-channel 工具没有正确解析用来指定命令行选项的某些方法。因此,rhn-channel 可能会失败,并显示回溯。这个版本可确保 rhn-channel 可以正确地解析在 bash 中指定选项的各种方法。
- BZ#851657
- rhn_register GUI 中某些窗口的标题未遵循标准标题大写;某些标题为小写。在这个版本中,确保标题在适当的情况下是大写的。
- BZ#878758
- 运行 rhn_register 工具时,"Enter your account information"页面包含一个指向不存在的网页的链接。这个链接已被修复,现在指向正确的页面。
功能增强
- BZ#859281
- 现在,可以为 rhn-channel 工具指定"-b"选项,以显示系统的当前基本频道。
7.215. ricci
7.215.1. RHBA-2013:0453 - ricci 程序错误修复和功能增强更新
程序错误修复
- BZ#811702
- 在此次更新之前,如果 ricci 守护进程没有在所有节点上运行,执行 "ccs --stopall" 命令会导致属性错误发生。在这个版本中,代码已被修复,在上述场景中不再发生错误。
- BZ#815752
- 在以前的版本中,在处理更大的 cluster.conf 文件时,ricci 守护进程和 ccs_sync 工具中会出现分段错误。这是因为线程堆栈不足以 ricci 为单位所致。ccs_sync 工具因为 PR_Write 函数的行为不正确而意外终止。在这个版本中,引入了一个新的补丁来修复这两个原因。因此,不再发生分段错误。
- BZ#877381
- 在以前的版本中,当处理具有非常大值的 cluster.conf 文件时,ricci 守护进程中会出现分段错误。这是因为分配在堆栈上不可用的大量内存。在这个版本中,引入了一个补丁来在堆上分配内存,并在没有足够的内存可用时返回错误。因此,不再发生分段错误。
- BZ#818335
- 在以前的版本中,如果出现错误或者 ricci 守护进程没有运行,"ccs_sync" 命令不会返回非零退出代码,即使运行带有"-w"选项的命令时,如果出现任何警告,也会以失败状态退出。底层源代码已被修改,带有 "-w" 选项的 "ccs_sync" 现在会在失败时返回 "1"。
- BZ#839039
- 在这个版本中,与无法启动节点的 ccs 错误消息中解决了一个小的拼写错误,这可能是因为缺少仲裁。
- BZ#841288
- 在以前的版本中,"ccs --lsmisc"命令无法正确显示备用的多播地址。这个程序错误已被解决,在使用 --lsmisc 时可以正确地报告备用多播地址。
- BZ#867019
- 在以前的版本中,在只读 NFS 上运行时,ccs 程序无法生成证书。这个程序错误已被解决,无论当前工作目录的类型是什么,ccs 现在会生成证书。
- BZ#866894
- 在以前的版本中,在文件中添加资源时,ccs 程序会错误地处理 cluster.conf 文件。因此,生成的 cluster.conf 无效。这个程序错误已被解决,在上述情况下,ccs 现在可以正常工作。
- BZ#842939
- 在以前的版本中,当 ricci 守护进程被分成多行时,ricci 守护进程无法正确处理 yum 输出。因此,在某些情况下,sga 管理系统无法列出或安装软件包。这个程序错误已被解决,在上述情况下,ricci 现在可以正常工作。
功能增强
- BZ#878108
- 集群模式已更新,以匹配当前的 Red Hat Enterprise Linux 6.4 集群软件包。
7.216. rpcbind
程序错误修复
- BZ#813898
- 在以前的版本中,rpcbind (8)手册页引用没有条目的 rpcbind (3)。在这个版本中,添加了缺少的 rpcbind (3)手册页。
- BZ#864056
- 使用反向地址解析协议(RARP)和 bootparams 文件引导 Solaris 或 SPARC 机器无法正常工作。SPARC 系统发送广播 bootparams WHOAMI 请求,但答案永远不会由 rpcbind 发送。这个程序错误已被解决,rpcbind 不再丢弃上述场景中 bootparams WHOAMI 请求。
功能增强
- BZ#731542
- 当通过 "-i" 选项使用 rpcbind 的不安全模式时,现在允许非 root 本地用户设置和取消设置远程主机的调用。
7.217. rpmdevtools
错误修复
- BZ#730770
- 在此次更新之前,示例 spec 文件引用已弃用的 BuildRoot 标签。如果定义了标签,则忽略它。在这个版本中,所有示例 spec 文件中删除 BuildRoot 标签。
7.218. rpm
7.218.1. RHBA-2013:0461 - rpm 程序漏洞修复和功能增强更新
程序错误修复
- BZ#664696
- 在以前的版本中,即使不需要,PGP 密钥也会加载。因此,在某些情况下,无法打开 RPM。在这个版本中,只有需要时才加载 PGP 密钥,RPM 不再无法启动。
- BZ#727872
- 每个构建 ID 只包含一个符号链接。当系统上存在多个相同的二进制文件时,只会链接其中一个。在这个版本中,会创建编号的符号链接。
- BZ#730473
- 在软件包的 spec 文件中设置 %defattr 宏,覆盖 %attr 宏给出的目录权限,以便在安装软件包期间使用不正确的权限创建目录。这个版本修改了底层 RPM 代码,以防止 %defattr 宏覆盖 %attr 宏。现在,使用 RPM 的正确权限创建目录。
- BZ#743229
- %_host 宏的值默认设置为 "x86_64-unknown-linux-gnu"。在这个版本中,单词"未知"由构建链的几个部分替代"redhat"。
- BZ#773503
- 在以前的版本中,使用 "rpmbuild" 命令会导致在没有指示的情况下创建 [patched].orig 文件,这可能会使用户混淆。这个版本修改了底层源代码,以便 rpmbuild 不再使用 "-s" 命令行选项运行补丁程序。
- BZ#802839
- 当大型软件包发送到标准输入(stdin)时,rpm2cpio 工具将终止。在这个版本中,底层源代码已被修改,rpm2cpio 可以正常工作。
- BZ#825147
- 在以前的版本中,使用 RPM API 解析 spec 文件会导致 spec 文件中定义的宏在解析例程后保留在 RPM 宏"environment"中。如果每个进程生命周期解析了多个 spec 文件,则会影响解析结果。要解决这个问题,这个更新会从 RPM 4.10 的 Python API 中向后移植 reloadConfig ()方法。现在,可在单个进程中安全地处理多个 spec 文件。
- BZ#829621
- 尝试导入多密钥 PGP armors 会导致 rpm 实用程序失败,这可能会导致内存崩溃或 RPM 数据库崩溃。在这个版本中,rpm 已修改为拒绝多密钥 PGP armors。因此,在导入多密钥 PGP armors 时,会返回 "unsupported=multikey packets/armors" 错误消息。
- BZ#858731
- 由于缺少 DWARF 3 和 4 格式支持,rpmbuild 实用程序无法使用较新的编译器生成可用的调试软件包。在这个版本中,为 RPM 添加了对 debugedit 工具所需的支持,现在支持 DWARF 3 和 4 格式。
- BZ#869667
- 在以前的版本中,即使 PGP 密钥导入失败,RPM 也会返回 0 退出代码。底层源代码已被修改来解决这个问题,如果密钥导入失败,RPM 不再返回 0。
- BZ#804049, BZ#845065
- 这个版本在 rpm (8)手册页中包括几个小的修复并进行更正。
功能增强
7.219. rsyslog
7.219.1. RHBA-2013:0450 - rsyslog 程序漏洞修复更新
程序错误修复
- BZ#838148
- 在以前的版本中,rsyslog 软件包依赖于较新的 selinux-policy,rsyslog spec 文件没有反映。命令"yum --security update"更新了 rsyslog,而不是 selinux-policy。因此,在引导和根据服务失败时,rsyslog 出现故障,包括登录。在这个版本中,修改了 spec 文件,以防止使用不兼容的 selinux-policy 软件包进行安装,并在可用时强制实施其更新。
- BZ#847568
- 在此次更新之前,因为配置文件解析器问题,在包含的配置文件解析程序中的内容后重新排序 "$IncludeConfig" 指令前指定的规则。因此,处理顺序与预期的处理顺序不同,并可能导致消息丢失。这个版本修改了底层代码,以便处理顺序与配置文件中的处理顺序相同。
- BZ#886004
- 在此次更新之前,rsyslog 的 Unix Socket Input 插件没有考虑 RFC 5424 Syslog 协议指定的时间戳格式,用于来自 RFC 3339 的时间戳。因此,使用 RFC 3339-derived 时间戳格式的 Unix 套接字发送到 syslog 守护进程的消息会被静默丢弃。在这个版本中,支持这个时间戳格式。现在,接受并正确处理使用 RFC 3339-derived 时间戳格式的 Unix 套接字发送到 rsyslog 系统日志记录守护进程的消息。
7.220. s390utils
程序错误修复
- BZ#818599
- 在识别多路径设备时,ziomon 工具的内部解析逻辑以前依赖于 Bash shell 结构。如果 ziomon 命令被指定了多个多路径设备,则 Bash 的后续版本的变化会导致解析逻辑无法正常工作。因此,ziomon 无法识别所有多路径设备,且不会为相应设备收集性能数据。在这个版本中,ziomon 已被修改为在解析逻辑中使用独立于 bash 的结构。ziomon 工具现在可以正确地识别所有多路径设备,并按预期提供性能数据。
- BZ#818877
- 在以前的版本中,/etc/zipl.conf 配置文件不属于任何 RPM 软件包。在这个版本中解决了这个问题,/etc/zipl.conf 文件现在归 s390utils-base 软件包所有。
- BZ#828145
- "lsdasd -h"命令总是错误地返回退出代码 1。另外,lsdasd (8)手册页缺少有关"-b、--base"选项的信息。在这个版本中,lsdasd 工具已被修正,在签发帮助信息时返回退出代码 0。lsdasd (8)手册页已更新,现在提供关于按预期使用"-b"选项的信息。
- BZ#828146
- 在以前的版本中,lsluns 工具在扫描可用 LUN 或显示附加的 LUN 前执行 SCSI 通用(sg)功能测试。因此,lsluns 命令失败,如果没有 SCSI 设备可用,则不会显示可用的或附加的 LUN。这个版本会修改 lsluns 以首先执行 LUN 扫描,只有在至少有一个 SCSI 设备被找到时才执行 sg 功能测试。
- BZ#837311
- lsluns 工具在将 LUN0 和 WLUN 添加到 unit_add 文件后立即执行 SCSI 注册测试。但是,在将 LUN 添加到 unit_add 后 SCSI 设备无法立即可用,因此 lslun 无法识别 LUN0 和 WLUN 可用。因此,lsluns 命令会失败,并显示 "Cannot attach WLUN / LUN0 for scanning" 错误信息。这个版本修改了 lsluns,以便 SCSI 注册测试现在多次执行,允许 SCSI 中层完成 SCSI 设备注册。lsluns 命令现在可以按预期成功显示 LUN。
- BZ#857815
- 由于内核为块设备维护缓存的方式,在某些情况下,运行 zipl 引导装载程序可能会导致 FBA DASD 设备的前 4096 字节中的缓存内容不一致(具有固定块架构的直接访问存储设备)。这个版本修改了 zipl,以便在安装初始程序加载(IPL)前清除磁盘缓冲,这可防止 FBA DASD 设备发生缓存崩溃。
功能增强
- BZ#847087
- 在这个版本中,添加了必要的用户空间工具,允许 Linux 作为 IBM System z 系统上的存储类内存(SCM)访问块设备,使用扩展异步数据 Mover (EADM)设施的子通道。
- BZ#847088
- lszcrypt 工具已被修改来支持 IBM Crypto Express 4 功能。
7.221. samba4
安全修复
- CVE-2012-1182
- Samba 套件的基于 Perl 的 DCE/RPC IDL (PIDL)编译器中发现了一个安全漏洞,用于生成代码来处理 RPC 调用。这可能会导致 PIDL 编译器生成的代码无法完全防止缓冲区溢出。
错误修复
- BZ#878564
- 在此次更新之前,如果 Active Directory (AD)服务器被重启,则 Winbind 有时会在请求 "wbinfo -n" 或 "wbinfo -s" 命令时重新连接。因此,使用 wbinfo 工具查找用户会失败。这个版本应用上游补丁来解决这个问题,现在为用户名查找安全标识符(SID)或给定 SID 的用户名,在域控制器重启后可以正常工作。
7.222. samba
7.222.1. RHBA-2013:0338 - samba 程序错误修复和功能增强更新
/etc/samba/smb.conf
文件的 [global] 部分中的以下参数来启用 SMB2 支持:
max protocol = SMB2
smbd
)版本后,所有 TDB 文件都会立即升级。除非有 TDB 文件的备份,否则您无法降级到旧的 Samba 版本。(BZ#649479)
smb.conf
手册页和单独的 IDMAP 后端手册页。
程序错误修复
- BZ#760109
- 在以前的版本中,如果 Winbind 模块无法访问,pam_winbind 工具会返回不正确的 PAM 错误代码。因此,即使成功验证了另一个 PAM 模块,用户也无法登录。在这个版本中,如果 Winbind 无法验证用户,则始终会返回
PAM_USER_UNKNOWN
错误。因此,由另一个 PAM 模块成功验证身份的用户可以如预期登录。 - BZ#838893
- 由于 Network Data Representation (NDR)对齐问题,Samba 3.6 无法将现有打印机从 Trivial Database (TDB)迁移到 registry。因此,无法迁移来自 3.5 的打印机,Samba 服务器守护进程(
smbd
)会停止并出错。已修复 NDR 解析器,以便正确解析来自 Samba 3.5 的打印条目。因此,打印机可以正确地从 3.5 TDB 迁移到 3.6 registry。 - BZ#866412
- 由于一个回归问题,上一版本更改了解析域本地组的行为,而 Winbind 守护进程(
winbindd
)无法找到它们。解析域本地组的原始行为已被恢复。因此,ID 命令会再次解析其自己的域中的域本地组。 - BZ#866570
- net 实用程序错误地显示所有小写字母加入的域。因此,用户可能会错误地理解域加入,并可能使用域名的小写格式。这个版本修正了这个问题单,并改进了有关域加入的信息的信息。因此,用户会被正确通知系统已加入的
DNS
域。 - BZ#875879
- 如果 域控制器 (DC)重建 了系统卷 (Sysvol),并且关闭 netlogon,则用户无法登录,直到完成另一个工作数据中心为止。因此,如果 netlogon 可用,则用户无法登录并获得 strange 错误。在这个版本中,Samba 会重试两次来打开 netlogon 连接,如果它仍然无法正常工作,则 Samba 会添加到负连接缓存中,Samba 将切换到下一个 DC。因此,用户不再在此场景中看到任何错误消息,并可按预期使用另一个 DC 登录。
功能增强
- BZ#748407
- 加入 Active Directory 域并使用 Samba 对使用 Kerberos keytabs 的支持时,不会将 AES Kerberos 密钥添加到生成的 keytab 中。因此,Samba 不支持 Kerberos 的新 AES 加密类型。这个更新为 Samba 和 AES Kerberos 密钥添加了对 AES Kerberos 密钥的支持,现在在域加入过程中在 keytab 中创建。
7.223. scl-utils
- BZ#855999
- scl-utils 软件包已升级到上游版本 20120927,它提供很多程序错误修复和增强。以下列表包括显著的程序错误修复:
- 当从标准输入读取命令时,为双可用或损坏错误提供了修复,在某些情况下可能会导致分段错误。
- /usr/lib/rpm/redhat/brp-compress 脚本现在可以在 %_mandir 中正确压缩 man page。
7.224. seabios
7.224.1. RHBA-2013:0307 - seabios 程序错误修复和安全更新
程序错误修复
- BZ#771616
- 在 QXL-VGA 驱动器中,ram_size 和 vram_size 变量设置为过高的默认值。因此,客户机无法引导,并返回 "VM status: paused (internal-error) " 信息。在这个版本中,对 PCI 地址空间使用扩展寻址,客户机现在可以成功引导。
- BZ#839674
- 在以前的版本中,默认 BIOS 中 S3 和 S4 状态的公告被禁用,为其创建了单独的 BIOS 二进制文件。在这个版本中,用户可以在 seabios 中为每个虚拟机配置 S3 和 S4 状态,因此不再需要额外的 BIOS 二进制文件。现在,使用单个二进制文件启用这些状态。
- BZ#851245
- 在此次更新之前,SeaBIOS 组件不支持非连续 APIC ID。这会导致在 SMP 和 NUMA 系统上生成拓扑不正确;此外,QEMU-KVM 无法在某些主机系统上运行。已提供了一个补丁来修复这个错误,Seabios 现在支持非连续 APIC ID。
- BZ#854448
- seabios 软件包使用时间戳计数器(TSC)通过简单的校准循环进行计时。因此,在忙碌的主机上,放大校准可能会错误设置,并可能导致引导失败。在这个版本中,电源管理计时器(PMT)提供了固定频率,这不会影响因为载入的主机造成问题。因此,超时在所有情况下都可以正常工作。
功能增强
- BZ#827500
- 在这个版本中,可以配置每个虚拟机的 S3 和 S4 状态。
- BZ#831273
- seabios 软件包现在可以重启虚拟机,即使找不到可引导设备。
7.225. selinux-policy
错误修复
- BZ#912392
- 当多个设备添加到系统中时,udev 规则会为每个新设备重启 ktune 服务,因此短暂的时间间隔有几个重启。多个重启会触发内核中无法轻松修复的竞争条件。目前,tuned 代码不会被修改,每 10 秒触发多个重启,避免竞争条件。
程序错误修复
- BZ#837815
- 启用多级别安全性(MLS) SELinux 策略后,使用 SELinux MLS 级别创建的用户无法通过
SSH
客户端登录到系统。SELinux 策略规则已更新,允许用户在上述场景中登录系统。 - BZ#835923
- 当 SELinux 处于 enforcing 模式时,Red Hat Enterprise Linux MRG 网格中的
OpenMPI
作业是并行的,失败且无法访问/var/lib/condor/execute/
目录中的文件。为OpenMPI
作业添加了新的 SELinux 策略规则,以允许作业访问此目录中的文件。 - BZ#857352
- 当 SELinux 处于 enforcing 模式时,拒绝使用 Red Hat Enterprise Virtualization Manager 从一台主机迁移到另一个主机。这个更新修复了相关的 SELinux 策略规则,迁移现在在上述场景中按预期完成。
- BZ#865759
- 由于回归问题,root 用户能够在 MLS 中将
ssh_sysadm_login
变量设置为OFF
时登录。要解决这个问题,ssh_sysadm_login
SELinux 布尔值已被修正,以防止 root 用户在此变量设置为OFF
时登录。 - BZ#877108
- 当用户在 IBM System z 架构上运行
system-config-kdump
工具时,会返回以下出错信息:error opening /etc/zipl.conf for read: Permission denied
这个错误是由缺少 SELinux 策略规则造成的。在这个版本中,相应的规则已被更新,允许system-config-kdump
访问/etc/zipl.conf
文件,不再返回错误消息。 - BZ#877932
- 在以前的版本中,当启用 SELinux MLS 策略时,
cron
守护进程作业被设置为在cronjob_t
域中运行。因此,用户无法运行其cron
任务。相关的策略规则已被修改,cron
作业现在在用户域中运行,从而解决了这个问题。 - BZ#880369
- 当用户在
/var/lib/openshift
文件中添加挂载点并执行 quotacheck -cmug /var/lib/openshift 命令时,进程会导致/var/log/audit/audit.log
文件中记录的 AVC 消息。在这个版本中,配额系统可以管理openshift_var_lib_t
目录,使命令可以按预期工作。 - BZ#867002
- 当系统设置为使用
SSSD
系统守护进程执行用户身份验证时,不允许passwd
实用程序读取/var/lib/sss/mc/
目录。在这个版本中修复了/var/lib/sss/mc/
的安全上下文,以允许passwd
按预期读取此目录。 - BZ#878212
- 在强制模式下使用 SELinux 时,在 FIPS 模式下对 Red Hat Enterprise Linux 进行自动测试时,PAM (可插拔验证模块)试图在
/sbin/unix_chkpwd
文件中设置预链接以验证其哈希。因此,用户无法登录到系统。已更新适当的 SELinux 策略规则,并添加了 FIPS 模式布尔值来解决这个问题。 - BZ#887129
- 在以前的版本中,当 SELinux 处于 64 位 PowerPC 的 enforcing 模式时,
system-config-
工具无法处理 kdump 服务。要解决这个问题,kdump
/usr/lib/yaboot/addnote
二进制文件的安全上下文已改为 bin_t 类型。在这个版本中,system-config-kdump
会如预期处理kdump
。 - BZ#869376
- 由于缺少 SELinux 策略规则,某些服务无法在 enforcing 模式中启动。在这个版本中,添加了 mount_t unlabeled_t:filesystem relabelfrom; 规则,以确保这些服务按预期启动。
- BZ#881413
- 在以前的版本中,如果用户将 includedir /var/lib/sss/pubconf/krb5.include.d/ 指令添加到 Identity Manager 中的
krb5.conf
文件中,并以 permissive 模式安装服务器,它会生成大量 AVC 消息,因为多个进程无法读取包含的目录的内容。在这个版本中,添加了允许读取 sssd_public_t 类型的域也会列出该目录的规则。 - BZ#859231
- 当 krb5 软件包升级至 1.9-33.el6_3.3 和 Identity Management 或 FreeIPA 版本时,会尝试以 enforcing 模式意外启动
命名
守护进程。这个更新调整了相关的 SELinux 策略,以确保在上述场景中可以启动named
守护进程。 - BZ#858235
- 在以前的版本中,
rhnsd
守护进程由rhsmcertd
SELinux 域处理,这会导致返回 AVC 拒绝信息。有了这个更新,RHN
sd 有自己的 SELinux 策略域,称为rhnsd_t
,从而防止这些消息。 - BZ#831908
- 当在
/etc/sysconfig/sanlock
配置文件中启用了SANLOCKOPTS="-w 0"
选项时,服务 sanlock restart 命令会生成 AVC 拒绝消息。SELinux 规则已更新,允许sanlock
守护进程在没有 AVC 信息的情况下正确重启。 - BZ#855889
- 在以前的版本中,
libselinux
库不支持根据/etc/selinux/targeted/logins/$username/
目录的内容设置上下文。因此,SELinux 限制的集中管理无法正常工作。在这个版本中,/etc/selinux/targeted/logins/
目录由 selinux-policy 软件包处理。 - BZ#854671
- 在 enforcing 模式下 SELinux 时,运行带有 FIPS 的
openswan
服务会导致 AVC 拒绝信息记录到/var/log/audit/audit.log
文件中。在这个版本中修复了相关的 SELinux 策略规则,openwan
不再生成 AVC 信息。 - BZ#852763
- 启用 SELinux MLS 策略后,用户无法通过循环设备挂载文件。这个程序错误已被解决,用户可以成功通过循环设备将文件挂载到
/mnt/
目录。 - BZ#835936
- 当 SELinux 在 enforcing 模式下运行时,无法在 POSIX 文件系统(如 GlusterFS)上的磁盘上启动虚拟机。相关的 SELinux 策略已被修复,现在可以按预期在上述场景中启动虚拟机。
- BZ#843814
- 在当前版本中,
SSSD
守护进程将 SELinux 配置文件写入/etc/selinux/<policy>/logins/
目录中。然后,SELinux PAM 模块使用此信息为尝试登录的远程用户设置正确的上下文。由于缺少这个功能的策略,SSSD
无法写入这个目录。在这个版本中,/etc/selinux/<[policy]/logins/
的新安全上下文已与适当的 SELinux 策略规则一起添加。 - BZ#836311
- 在以前的版本中,
corosync
SELinux 策略会错误地处理heartbeat
子系统。因此,生成 AVC 信息,心跳
功能默认不可用。要修复这个程序错误,现在rgmanager
SELinux 策略处理心跳
,不再返回 AVC 信息。 - BZ#837138
- 使用 enforcing 模式的 SELinux 时,ipamscan 工具无法在
amavisd-new
接口中作为备份服务器正常工作,这会导致在clamscan
amavis
spool 文件时返回 AVC 信息。在这个版本中,修正了 SELinux 策略,在上述场景中授予clamscan
所需的权限。 - BZ#887892
- 在以前的版本中,SELinux 会阻止
ABRT
(Automatic Bug Reporting Tool)工具使用/var/spool/abrt-upload/
目录中的inotify
子系统。因此,当用户在ABRT
工具中设置WatchCrashdumpArchiveDir
选项时,brtd
守护进程重启后会失败。要解决这个问题,添加了一个 SELinux 策略规则,以允许ABRT
在/var/spool/abrt-upload/
上使用inotify
正常操作。 - BZ#842818
- 使用 enforcing 模式的 SELinux 时,如果
/etc/sysconfig/
文件中指定了saslauthd
MECH=shadow
选项,saslauthd 守护进程进程无法正常工作。在这个版本中修复了相关的 SELinux 策略规则,并允许saslauthd
使用MECH=shadow
配置选项。 - BZ#842905
- 在以前的版本中,当具有 user_r SELinux 角色的进程试图在 NFS (网络文件系统)主目录上使用
crontab
工具时,AVC 消息会被写入 audit.log 文件。相关的 SELinux 策略已更新,允许 user_r 进程运行crontab
实用程序,从而修复该程序错误。 - BZ#842927, BZ#842968
- 当
MAILDIR=$HOME/Maildir
选项在/etc/procmailrc
或dovecot
配置文件中启用时,procmail 和dovecot
服务无法访问位于主目录中的 Maildir 目录。在这个版本中修复了相关的 SELinux 策略规则,以允许
procmail
/dovecot
服务读取/etc/procmailrc
中配置的MAILDIR
选项。 - BZ#886874
- 当
vsftpd
守护进程被停止后,它会通过向它们发送 SIGTERM 信号来终止所有子vsftpd
进程。当父进程终止时,子进程获得 SIGTERM 信号。在以前的版本中,SELinux 会阻止这个信号。在这个版本中修复了相关的 SELinux 策略规则,允许vsftpd
正确终止其子进程。 - BZ#885518
- 在以前的版本中,
/var/lib/pgsql/.ssh/
目录有不正确的安全上下文。在这个版本中,安全上下文已改为 ssh_home_t 标签,PostgreSQL
系统备份需要该标签。 - BZ#843543
- 由于 SELinux 策略不正确,SELinux 会阻止
libvirtd
守护进程使用--pid-file=/var/run/libvirt/network/default.pid 选项和
AVC 拒绝信息启动dnsmasq
服务器。更新的 SELinux 规则允许libvirtd
守护进程使用dnsmasq
支持正确启动。 - BZ#843577
- 启用 MLS SELinux 策略时,SELinux 域中的管理员,在 s0-s15:c0.c1023 级别中带有
sysadm_t
类型,无法执行 tar --selinux -zcf wrk.tar.gz /wrk 命令。这些更新的 SELinux 规则允许管理员在上述场景中运行命令。 - BZ#843732
- 由于
/var/named/chroot/lib64/
目录缺少 fcontext,在使用命名
守护进程时,可以返回 AVC 信息。要修复这个程序错误,添加了/var/named/chroot/lib64/
缺少 SELinux 安全上下文。 - BZ#836241
- 由于 SELinux 策略不正确,
dovecot-imap
和dovecot-lda
实用程序不允许使用 mail_home_rw_t 安全上下文访问 Maildir 文件和目录。这些更新的 SELinux 规则允许dovecot-imap
和dovecot-lda
访问 Maildir 主目录。 - BZ#844045
- 当 SELinux 处于 enforcing 模式时,当指示执行挂载操作(包括
context=
参数)时,
。NFS v3 中的挂载操作不会受到影响。现在,SELinux 策略规则已被更新,允许在上述场景中确保automount
工具会错误地返回 mount.nfs4: 访问被服务器错误消息拒绝自动挂载
正常工作。 - BZ#809716
- 由于 SELinux 策略不正确,
智能
守护进程无法使用正确的 SELinux 安全上下文创建megaraid_sas_ioctl_node
设备。因此,使用smartd
在 MegaRAID 控制器上监控某些磁盘会被阻止。这个更新提供了 SELinux 规则,允许使用smartd
监控 MegaRAID 控制器上的磁盘。 - BZ#845201
- 在以前的版本中,
/etc/openldap/cacerts/
和/etc/openldap/certs/
目录中不正确的默认标签由 SELinux 策略提供,这会导致返回各种不必要的 AVC。要修复这个程序错误,这些目录已使用 slapd_cert_t SELinux 安全标签进行标记。现在,不会返回冗余 AVC。 - BZ#882348, BZ#850774
- 在以前的版本中,使用 enforcing 模式的 SELinux,而
internal-sftp
子系统与Chroot
选项一起配置,使用 unconfined_t SELinux 类型的用户无法使用sftp
程序进行连接。在这个版本中,SELinux 策略被修复,允许用户在上述场景中成功利用sftp
。 - BZ#849262
- 在以前的版本中,
snmpd
守护进程服务无法使用 Unix 流套接字连接到corosync
服务,这会导致 AVC 信息记录在/var/log/audit/audit.log
文件中。要解决这个问题,在 SELinux 策略中添加了新的规则,以允许snmpd
守护进程连接到corosync
。 - BZ#849671
- 使用 enforcing 模式的 SELinux 时,
/var/run/amavisd/clamd.pid
文件为空,因此任何尝试重启clamd.amavisd
守护进程都会失败。停止服务会失败,因为存在空 PID 文件并启动它失败,因为套接字已在使用或仍在使用中。这些更新的 SELinux 规则允许clamd.amavisd
按预期写入 PID 文件。 - BZ#851113
- 由于 SELinux 策略不正确,
/var/run/cachefilesd.pid
文件中有一个不正确的标签。在这个版本中,SELinux 策略规则和安全上下文已被修复,以获取文件的 cachefilesd_var_run_t 标签。 - BZ#881993
- 由于缺少 SELinux 策略规则,提供自动挂载主目录 NFS 目录的
rsync
守护进程无法在此目录中写入文件。要修复这个程序错误,rsync
守护进程已改为主页管理器,以允许所需的访问权限。 - BZ#851289
- 在以前的版本中,8953/tcp 端口使用 port_t SELinux 端口类型,这会阻止
unbound
服务正常工作。要修复这个程序错误,8953/tcp 端口与 rndc_port_t SELinux 端口类型相关联。 - BZ#851483
- BZ#852731
- 在以前的版本中,当用户希望在不存在的客户端上创建用户主目录时,它们可以在本地卷中这样做。但是,当
pam_oddjob_mkhomedir.so
模块试图在 NFS 挂载的卷上创建主目录时,此操作会在 enforcing 模式下阻止。SELinux 策略规则已更新,允许pam_oddjob_mkhomedir
使用 NFS 和用户主目录,现在可以在 enforcing 模式中创建。 - BZ#853453
- 当
.forward
文件由 NFS 上的用户配置时,会返回AVC 信息。因此,Postfix
无法访问上述文件中的脚本。这些更新的 SELinux 规则允许在上述场景中正确设置.forward
。 - BZ#811319
- 在以前的版本中,
fence_virtd
守护进程被 SELinux 限制,这会导致服务在 initrc_t 类型 SELinux 域中运行。要修复这个程序错误,已为fence_virtd
守护进程添加了 fenced_exec_t 安全上下文,该服务现在在 fence _t SELinux 域中运行。 - BZ#871038
- 在以前的版本中,使用 enforcing 模式的 SELinux 时,
setroubleshootd
守护进程无法读取/proc/irq
文件。因此,会返回 AVC 信息。这个更新提供了 SELinux 规则,允许setroubleshootd
读取/proc/irq
,并且不再返回 AVC 信息。 - BZ#833463
- 当 SELinux 在 enforcing 模式下运行时,
fence_vmware_soap
二进制文件无法正常工作。因此,隔离失败,服务不会故障转移,而 AVC 拒绝消息被写入audit.log
文件中。在这个版本中修复了相关的策略,使fence_vmware_soap
二进制可以正常工作。 - BZ#832998
- 在此次更新之前,缺少
/usr/lib/mozilla/plugins/libflashplayer.so
文件的正确安全上下文。因此,执行 mozilla-plugin-config -i 命令会导致返回以下错误:*** NSPlugin Viewer *** ERROR: /usr/lib/mozilla/plugins/libflashplayer.so: cannot restore segment prot after reloc: Permission denied
安全上下文已更新,命令现在可以按预期工作。 - BZ#821887
- 缺少 SELinux 策略可防止 Red Hat Enterprise Virtualization Hypervisors 使用正确的安全上下文重新创建
/etc/mtab
文件。要解决这个问题,添加了一个新的从 virtd_t 转换到 mount_t SELinux 域。 - BZ#858406
- 由于缺少 SELinux 策略规则,对于
SSH
和RSync
协议的支持,Point-In-Time Recovery (PITR)实现无法与 PostgreSQL 一起工作。要解决这个程序错误,添加了postgresql_can_rsync
SELinux 布尔值来允许 PostgreSQL 运行rsync
工具并与 SSH 交互。 - BZ#858784
- 当 SELinux 处于 enforcing 模式时,
pulse
工具无法在启动时启动互联网协议视频安全(IPVS
)同步守护进程。SELinux 策略规则已更新,允许
按预期启动守护进程。 - BZ#829274
- 在以前的版本中,SELinux 多级别安全性(MLS)策略不允许 sysadm_r SELinux 角色使用 chkconfig SERVICE on/off 命令来启用或禁用系统上的服务。在这个版本中修复了相关的 SELinux 策略,允许使用 sysadm_r SELinux 角色启用或禁用该服务。
- BZ#860666
- 由于缺少 SELinux 策略规则,rebase krb5 软件包版本 1.10 返回以下 AVC 信息:
type=AVC msg=audit(1348602155.821:530): avc: denied { write } for pid=23129 comm="kadmind" path="anon_inode:[eventfd]" dev=anon_inodefs ino=3647 scontext=unconfined_u:system_r:kadmind_t:s0 tcontext=system_u:object_r:anon_inodefs_t:s0 tclass=file
在这个版本中,kadmind
工具可以访问 anon_inode 文件描述符来修复 AVC 信息。 - BZ#868959
- 在以前的版本中,cluster-cim 软件包被允许使用 enforcing 模式。但是,标识了访问 /var/run/clumond.sock 和 /var/run/cman_client Unix 套接字的 AVC 消息。为修复此错误,提供了新的 SELinux 策略规则,以允许
cimprovag
实用程序连接到 cman_client 套接字。 - BZ#861011, BZ#901565
- 在以前的版本中,
/var/nmbd/
目录被标记为var_t
,这会导致访问此目录的 Samba 服务出现问题。安全上下文已更新,Samba 现在可以如预期访问此目录。另外,SELinux 可能会阻止nmbd
服务写入/var/
存储库,这会导致 NetBIOS 名称解析出现问题,并导致 SELinux AVC 拒绝信息。 - BZ#867001
- 在以前的版本中,rsyslog-gssapi 软件包允许
rsyslog
工具使用通用安全服务应用程序接口(GSSAPI)。但是,AVC 信息会被返回。这个更新修复了相关的 SELinux 策略规则,以允许rsyslog
工具在客户端上使用 Kerberos 票据。 - BZ#865567
- 在 SELinux 处于 enforcing 模式时,当
fail2ban
服务被重启且fail2ban
无法执行 ldconfig 和 iptables 命令时,它会导致 SELinux AVC 拒绝消息返回。在这个版本中修复了相关的 SELinux 策略规则,允许fail2ban
执行 ldconfig,并为iptables
二进制文件修复安全上下文。 - BZ#841950
- 由于
/opt/sartest
文件的安全上下文不正确,无法从 rootcron
守护进程作业运行的sadc
实用程序将数据写入该位置。安全上下文已更新,现在从 rootcron
作业运行的sadc
可以将数据写入此位置。 - BZ#860858
- 在以前的版本中,当 Sendmail 过滤器调用
clamd
scanclamscan_can_scan_system
变量,允许所有 antivirus 程序扫描系统中的所有文件。 - BZ#825221
- 由于缺少 SELinux 策略规则,
restorecon
实用程序会忽略符号链接的自定义规则。这些更新的 SELinux 规则允许restorecon
正确处理符号链接的自定义规则。 - BZ#863407
- 由于缺少 SELinux 策略规则,在由
cron
守护进程运行时,newclam
工具无法通过HTTP 代理
守护进程更新数据库。要修复这个程序错误,更新了相关的 SELinux 策略规则。因此,在上述场景中,newclam
现在会如预期更新数据库。 - BZ#864546, BZ#886619
- 在以前的版本中,SELinux 会阻止 puppet master 运行 passenger Web 应用程序。要修复这个错误,Passenger Apache 模块的安全上下文已更新,以反映到可执行文件的最新传递器路径,以确保所有使用 Passenger Web 应用程序的应用程序都使用正确的 SELinux 域运行。
- BZ#860087
- 当用户将 Red Hat Enterprise Linux 6 系统设置为带有
IPSec+L2TP
VPN 的 VPN 服务器时,SELinux 会阻止pppd
守护进程在连接到带有以下错误消息的 VPN 服务器后访问一些需要的组件:pppd needs to be allowed also to "read" and "write" operations on l2tpd_t:socket
在这个版本中,添加了缺少的 SELinux 策略,以确保 SELinux 启用了所有pppd
操作。 - BZ#823647
- 在以前的版本中,
/etc/selinux/targeted/contexts/files/file_contexts
文件中的一些模式包含拼写错误。有些模式与 32 位路径匹配,但缺少 64 位路径的同一模式。因此,不同的安全上下文被分配给这些路径。在这个版本中,相关的文件上下文规格已被修正,这些路径之间没有更多区别。 - BZ#831068
- 在以前的版本中,当用户试图在 GNOME 用户帐户对话框窗口中更改密码时,SELinux 会因为 passwd_t SELinux 域的 SELinux 规则缺少 SELinux 规则而阻止。在这个版本中,添加了 SELinux 策略规则,以便用户在 GNOME 用户帐户对话框窗口中更改其密码。
- BZ#871106, BZ#882850
- 在以前的版本中,在强制模式下使用 SELinux,在
munin
插件域中 hook 某些监控插件存在问题。要修复这个程序错误,在 SELinux 策略中增加了 unconfined_munin_plugin_t SELinux 类型,以覆盖所有未限制的munin
插件。因此,munin
插件现在可以运行 unconfined。 - BZ#871816
- 在 enforcing 模式下的 SELinux 时,ipactl restart 命令会导致返回 AVC 拒绝信息。在这个版本中修复了相关的 SELinux 策略规则,命令不再生成 AVC 信息。
- BZ#855286
- 从 Red Hat Enterprise Virtualization Manager 在虚拟机(VM)上安装 ISO 镜像时,会生成 AVC 信息。这些 AVC 由于
sanlock
工具返回,它无法访问 FUSE 文件系统上的文件和目录。要修复这个程序错误,添加了sanlock_use_fusefs
SELinux 布尔值变量,并在虚拟机中从 ISO 镜像安装现在可以成功。 - BZ#853970
- 在以前的版本中,因为
corosync
工具缺少 SELinux 策略规则,在电源隔离后,Red Hat Cluster Suite 节点不会自动加入集群环。因此,corosync
无法重启。要解决这个问题,corosync
可以使用1229/udp
和1228/udp
端口在电源隔离后自动加入集群。因此,隔离后机器会重新加入集群,并如预期重启。 - BZ#853852
- 在以前的版本中,NFS 的 SELinux 布尔值变量无法阻止 NFS 客户端访问共享。因此,NFS 客户端可以挂载 NFS 共享并读取或写入文件。因为 NFS 服务器作为内核进程运行,所以不再需要
nfs_export_all_rw
布尔值变量,且已从策略中删除,从而解决了这个问题。NFS 客户端现在无法访问上述场景中的共享。 - BZ#879266
- 当用户从 Red Hat Network 安装 Red Hat Cluster Suite 软件包时,安装过程会变得无响应,且不会安装集群套件。在这个版本中,添加了相关策略,Red Hat Cluster Suite 软件包现在可以按预期安装。
- BZ#880407
- 在以前的版本中,如果用户在
/ect/multipath*
目录和文件上运行restorecon
工具,则安全上下文被重置。在这个版本中修复了相关的 SELinux 策略规则,并为这些目录和文件添加更新的 SELinux 安全上下文。 - BZ#846069
- 在以前的版本中,
piranha-web
工具无法使用 Unix 流套接字连接到windbind
守护进程。因此,会返回 AVC 信息。要修复此错误,在 SELinux 策略中添加了新的规则,以允许piranha-web
服务连接到windbind
。 - BZ#883143
- 由于
git_read_generic_system_content_files()
接口不正确,git-daemon
和httpd
守护进程无法为同一目录提供服务。要解决这个问题,git_read_generic_system_content_files()
接口已更新,允许git-daemon
和httpd
为同一目录提供服务。 - BZ#809877
- 在以前的版本中,由于文件上下文规格不正确,策略并不总是对
/var/log/
目录中的文件具有正确的标签,这些标签由logrotate
工具处理。要修复此错误,文件上下文规格已被更新,而logrotate
处理的文件和目录现在具有正确的标签。 - BZ#844448
- 在以前的版本中,
munin-node
代理缺少读取 Exim 日志文件所需的 SELinux 规则。因此,多个捆绑的 exim 插件无法工作,munin-node
会意外终止。在这个版本中修复了相关的 SELinux 策略规则,允许munin-node
读取交换日志文件,使 exim Munin 插件正常工作。 - BZ#843455
- 在以前的版本中,当用户尝试使用
munin_stats
Munin 插件时,它会导致 AVC 信息被返回。要解决这个问题,提供了更新的 SELinux 策略规则,munin_stats
现在可以正常工作。 - BZ#886563
- 如果用户试图在
dovecot
实用程序中使用登录脚本,则返回 AVC 信息。这个更新修复了相关的 SELinux 策略规则,并添加更新的 SELinux 规则,以允许dovecot
启动/bin/bash
文件。现在,AVC 信息不再返回。 - BZ#841329
- 由于 SELinux 策略不正确,受限制的 SELinux 用户无法通过防止
gpg-agent
守护进程读取/dev/random
文件来解密 S/MIME (Secure/Multipurpose Internet 邮件扩展)电子邮件。使用smime
工具的claws-mail
客户端会受到这个程序错误的影响。现在,SELinux 策略规则已被更新,允许 SELinux 受限的用户解密 S/MIME 电子邮件。 - BZ#770065
- 在以前的版本中,当用户尝试使用
check_icmp
Munin 插件时,会返回 AVC 信息。在这个版本中,为check_icmp
提供了更正的 SELinux 策略,从而解决了这个问题。 - BZ#890687
- 当用户试图配置
rsync
守护进程来直接登录到特定文件时,缺少的 SELinux 策略规则允许用户创建日志文件,但不允许附加到该文件。在这个版本中,添加了 SELinux 策略规则,以允许rsync
附加到特定的日志文件中。 - BZ#821483
- 使用 enforcing 模式 SELinux 时,运行
spamd
守护进程进程更新 Razor 配置文件会导致拒绝,并且生成 AVC 消息。在这个版本中修复了相关的 SELinux 策略规则,允许在上述场景中垃圾邮件进程更新 Razor 配置文件。 - BZ#869304
- 使用 SELinux 处于 enforcing 模式时,在 Red Hat Enterprise Linux 6.3 hypervisor 上,SELinux 会阻止 QEMU-KVM
getattr ()
功能访问,当从 Red Hat Storage (RHS)存储域上托管的 Red Hat Enterprise Virtualization Manager 启动虚拟机时,SELinux 会阻止 QEMU-KVM getattr ()功能访问。这个更新修复了相关的 SELinux 策略规则,以允许 QEMU-KVMgetattr ()
访问。 - BZ#867628
- 在此次更新之前,手册页没有反映 SELinux 策略规则的实际状态。要修复这个程序错误,实际的策略已包含在 selinux-policy 软件包中。另外,所有自动生成的手册页都使用 Fedora 中的
sepolicy
实用程序在系统上重新生成,以为每个 SELinux 域提供更好的 SELinux 手册页。 - BZ#887793
wdmd
watchdog 守护进程使用/etc/wdmd.d/checkquorum.wdmd
脚本(由 sanlock 软件包提供)来检查集群状态。因此,启用了 SELinux 后,这个检测会失败,从而导致自重置循环。要解决这个问题,增加了sanlock
工具中对watchdog
脚本的 SELinux 支持,且检测不再会失败。
功能增强
- BZ#739103
- 在 Red Hat Enterprise Linux 6 中,需要 root 权限才能启动带有桥接网络的 KVM 客户机。
libvirt
库反过来启动一个 QEMU 进程,作为非特权qemu
用户。对libvirt
引入了新的qemu:///session
URI,尝试允许非特权用户启动 KVM 客户机,并使 QEMU 进程以相同的非特权用户执行,但因为需要使用 TUN/TAP 网络需要CAP_NET_ADMIN
功能而失败。要从 SELinux 的角度来看,为 QEMU 可调用的网络帮助程序添加了一个新的 SELinux 策略。 - BZ#801493
- 这个版本为
pacemaker
服务提供了新的 SELinux 策略。 - BZ#807157
- 这个版本为
numad
服务提供了新的 SELinux 策略。 - BZ#807678
- 这个版本为
bcfg2-server
服务提供了一个新的 SELinux 策略。 - BZ#836034
- 这个版本为 OpenStack Essex 云计算框架提供了新的 SELinux 策略。
- BZ#834994
- 这个版本为
rhnsd
服务提供了新的 SELinux 策略。 - BZ#839250, BZ#838260
- 本发行版本中引入了一个新的 SELinux antivirus 策略模块。此模块包含 antivirus_db_t 文件类型和
antivirus
属性,以整合系统上的所有 anti-virus 程序。该模块还允许管理使用 antivirus_db_t 文件类型标记的文件和目录。 - BZ#833557
- 这个版本为
xl2tpd
服务提供了新的 SELinux 策略。 - BZ#827389
- 在这个版本中,增加了对 Gitolite v.3 工具的 SELinux 支持,它允许用户在中央服务器上设置 Git 存储库托管。
- BZ#811361
- 这个版本为
svnserve
服务提供了一个新的 SELinux 策略。 - BZ#811304
- 这个更新为
glusterd
守护进程提供了一个新的 SELinux 策略。 - BZ#848915
- 这个版本为
slpd
守护进程提供了新的 SELinux 策略。 - BZ#845417
- 此更新为
ovs-vswitchd
和ovs-brcompatd
Open vSwitch 服务提供了新的 SELinux 策略。 - BZ#845033
- 这个更新为 iucvtty 应用程序提供了新的 SELinux 策略,对作为 z/VM Inter-User Communication Vehicle (IUCV)运行的 Linux 实例提供全屏终端访问。
- BZ#839831
- QEMU 模拟器现在提供一个新的
qemu-ga
(客户机代理)守护进程。此守护进程在客户机上运行,并代表主机上运行的进程执行命令。这个版本为一个新的qemu-ga
(客户机代理)守护进程提供了新的 SELinux 策略。 - BZ#848918
- 这个版本为
sencord
服务提供了新的 SELinux 策略。 - BZ#851128, BZ#888164
- 为
rpc.rstatd
和rpc.rusersd
守护进程添加了 SELinux 支持,以防止它们在initrc_t
SELinux 域中运行。现在,这些服务在rpcd_t
SELinux 域中运行。 - BZ#851241
- 这个版本为
cpglockd
服务提供了一个新的 SELinux 策略。 - BZ#885432
- 在这些更新的软件包中添加了对
/usr/share/ovirt-guest-agent/ovirt-guest-agent.py
文件的支持。 - BZ#875839
- 在 Red Hat Enterprise Linux 6.4 中添加了对 OpenShift Enterprise Policy 的支持。
7.226. setroubleshoot
程序错误修复
- BZ#788196
- 在此次更新之前,"sealert -a /var/log/audit/audit.log -H"命令无法正常工作。打开 audit.log 文件时,sealert 实用程序在使用 "-H" 选项时会返回错误。相关的源代码已被修改,"-H" sealert 选项不再被识别为有效的选项。
- BZ#832143
- 在以前的版本中,即使 SELinux 拒绝信息存在,SELinux Alert Browser 也不会显示警报。这是因为 sedispatch 程序无法正确处理审计消息,用户无法根据 SELinux 警报修复其 SELinux 问题。现在,SELinux 警报浏览器会在上述场景中正确警告用户。
- BZ#842445
- 在某些情况下,sealert 生成 "tuple' 对象没有属性 'split' " 错误消息。已提供了一个补丁来修复这个错误。因此,sealert 不再返回这个错误消息。
- BZ#851824
- 如果警报描述包含括号,则 sealert 实用程序会返回解析错误消息。在这个版本中,sealert 已被修复,现在,在上述场景中不再返回错误消息。
- BZ#864429
- 在以前的版本中,在 /usr/share/doc/setroubleshoot/ 目录下存在不正确的文档内容。这个版本删除了某些不需要的文件,以及其它修复内容。
7.227. setup
7.227.1. RHBA-2012:1367 - 设置程序漏洞修复更新
程序错误修复
7.228. slapi-nis
7.228.1. RHBA-2013:0370 - slapi-nis 程序错误修复更新
程序错误修复
7.229. slf4j
7.229.1. RHBA-2012:1239 - slf4j 程序错误修复更新
错误修复
7.230. smartmontools
7.231. scs
7.231.1. RHBA-2013:0474 - sos 程序漏洞修复和功能增强更新
程序错误修复
- BZ#859142
- 之前版本的 sos 软件包使用内置模块从 Red Hat Network Satellite Server 和 Red Hat Network Proxy Server 收集数据。因此,
sos
工具捕获的数据不完整,或者与 RHN Satellite 开发人员期望的格式不同。模块现已扩展为使用 RHN Satellite 脚本(spacewalk-debug
)在存在时收集信息,RHN Satellite 组件现在提供了一个可以收集更详细的诊断数据的调试脚本。 - BZ#821323
- sos 的早期版本不包括对捕获 RHUI (Red Hat Update Infrastructure)配置和诊断数据的任何支持。因此,生成的报告中没有 RHUI 组件的诊断信息。添加了一个新的模块来捕获此信息。现在,在安装有 RHUI 组件的主机上运行时,会包括完整的日志和配置数据。
- BZ#849546
- 以前的
gluster
模块版本使用gluster
CLI 命令获取状态转储信息。这会导致进行集群范围的锁定,这可能会在数据收集期间阻止其他节点。模块已被设置为直接向本地gluster
进程发出信号并收集生成的文件。现在,会收集完整状态转储数据,而不会对环境中的其他主机造成副作用。 - BZ#850542
- sos
psacct
(BSD Process Accounting)模块的早期版本收集系统上存在的所有进程核算文件,这可能会导致进程核算目录中大量存档文件。这个问题已通过更改psacct
默认只收集最新的核算文件来解决。all
选项已添加到模块中,允许用户根据需要请求原始行为。因此,在有很多归档核算文件的主机上生成的报告不再包含这大组额外的数据。 - BZ#817093
- device-mapper-multipath 软件包的早期版本将路径绑定数据直接存储在
/etc/
或/var/lib/
目录中。因此,之前版本的 sos 不会捕获存储在这个位置中的文件。devicemapper
模块已扩展为包含/etc/multipath/
目录的内容,以允许多路径文件的更一致的 SELinux 标签。现在,使用新目录布局在主机上捕获完整的绑定文件。 - BZ#834594
- 在此次更新之前,
sosreport
networking 模块从/proc/sys/net/
目录中的sysctl
配置收集各种数据。这个目录中的某些旧路径已弃用,并计划在以后的版本中删除,但出于兼容性的原因维护。然而,在带有已弃用sysctl
配置的系统中运行sosreport
会生成警告信息,因为sos
实用程序访问这些路径。这个程序错误已被包括sos
到这个目录禁止的路径的黑名单来解决。现在,诊断信息不再丢失,因为这些文件的内容现在在报告中包含的不同参数名称下提供。因此,现在从/proc/sys/net/
目录中收集完整的诊断信息,而不会在系统日志中生成不必要的警告信息。 - BZ#833170
- 在以前的版本中,
sosreport
工具无法识别 BIOS 命名的接口,使用biosdevname
工具。因此,以太网网络设备受传统的ethN
命名方案的限制,在某些情况下,ifconfig 命令无法识别正确的接口类型。要解决这个问题,
sos
networking 模块被设置为使用 iproute 软件包中的 ip 命令来生成网络接口列表。现在,这些网络接口的信息会被正确捕获,并在生成的报告中可用。 - BZ#850433
- 在此次更新之前,Python 运行时的管道通信接口添加了额外的尾随换行符(“\n”)字符来输出外部程序读取。因此,运行外部命令生成的报告中的文件包括额外的尾随空格,这可能会干扰尝试比较文件内容。sosreport 命令已被修改,在存在时删除这个额外字符,从而解决了这个问题。现在,Red Hat Enterprise Linux 5 和 6 中的 sos 版本之间的文件捕获是一致的,从而简化了在这两个版本中捕获的诊断数据的比较。
- BZ#822174
- 在文件系统路径中使用名称时,sos 的早期版本不会在系统主机名中清理特殊字符。因此,在系统主机名中插入特殊字符可能会导致
sos
生成无效的文件系统路径,且无法生成报告。在这个版本中,无效的字符会被过滤掉系统主机名,sosreport 命令现在可以在主机名中存在的文件系统路径中有字符可以正常工作,从而解决了这个问题。 - BZ#822113
sos
工具的早期版本无法正确验证--name
参数。因此,报告是使用包含空 name 字段的文件名生成的。要解决这个问题,当提供的报告名称为空或无效时,默认名称已被替换,文件现在以一致的模式生成名称。- BZ#824378
- 由于早期版本中的日志设计的变化,
sos
工具在尝试从外部命令收集输出时不会记录错误。因此,当无法执行外部命令时,不会写入sos
日志文件。在这个版本中,日志记录在核心
插件代码中执行,现在可以正确记录执行外部程序失败。 - BZ#821005
- 之前版本的
sos
实用程序将一个未转义的双波形符(~~
)字符序列传递给系统 shell 执行的命令。在某些系统中,当 shell 主目录扩展尝试查找名为~
的帐户时,扩展此序列会导致错误消息。现在,序列会被正确加引号来禁用字符串的 shell 扩展,且不会在上述场景中触发假的帐户查找或日志消息。 - BZ#850779
- sanlock 软件包是一个新组件,它提供基于磁盘的租期,并使用
watchdog
设备来保护其恢复。以前的 sos 版本不包括收集sanlock
诊断数据的支持。添加了一个新的模块来收集此组件的配置和日志文件,以便在生成的报告中捕获与sanlock
服务相关的诊断信息。 - BZ#852049
PostgreSQL
是 Red Hat Enterprise Linux 中流行的开源数据库。sos 的早期版本不包括收集已安装postgres
实例的信息的支持,因此不会为这个组件收集诊断信息。这个版本中包含了从数据库获取信息的psql
模块。现在,当启用psql
时,会在正确配置的系统上捕获诊断数据,并指定可选参数(如数据库名称和身份验证)来收集更详细的信息。- BZ#809727
pagetypeinfo
文件包含与内核内存外部碎片相关的其他信息。之前版本的 sos 仅收集相关的buddyinfo
数据。因此,与内核页面分配器的碎片状态有关,提供了较少的详细信息。现在,在生成的报告中包括了pagetypeinfo
文件,并默认收集详细的碎片调试数据,从而避免手动工作来获取这些信息。
功能增强
- BZ#840975
- 之前的 sos 版本只捕获了
/proc/ioports
文件,详细描述了所使用的注册 I/O 端口区域。/proc/iomem
文件还描述了物理系统内存的区域,以及它们的内存、固件数据和设备 I/O 流量。因为在调试某些硬件和设备驱动程序问题时,这个数据可能很重要,所以在生成的报告中都提供了ioports
和iomem
数据。 - BZ#825968, BZ#826312
- RHSM (Red Hat Subscription Manager)提供了一种在已安装的主机上管理红帽订阅和权利的新方法。在这个版本中,增加了对捕获
subscription-manager
工具输出的支持,以满足诊断目的。subscription-manager
的输出现在包括在生成的报告中。
7.232. spice-gtk
- Windows USB 重定向支持
- 无缝迁移
- 更好的多监视器或分辨率设置支持
- 改进了对高延迟情况下 key-press 和 key-release 事件的处理
程序错误修复
- BZ#834283
- 当组合的组合部分与 grab 序列匹配时,组合的最后一个键有时不会发送到客户机。因此,Left Ctrl+Alt+Del 组合键不会传递给客户机。此次更新可确保所有密钥都发送到 SPICE 服务器,即使它们是组合的一部分。现在,当组合与 grab 序列匹配时,这个过程可以正常工作。
- BZ#813865
- 在以前的版本中,当 Uniform Resource Identifier (URI)包含 IPv6 地址时,在 remote-viewer 中解析 URI 时出现错误。因此,无法从命令行使用 IPv6 URI 启动 remote-viewer。现在,包含 IPv6 地址的 URI 解析已被修复,可以在从命令行启动 remote-viewer 时连接到 IPv6 地址。
- BZ#812347
- 大量网络 jitter 导致一些键输入多个字符而不是一个。对 SPICE 协议进行了改进以避免不必要的字符重复。
- BZ#818848
- 当 QEMU 应用程序时,
--spice-disable-effects
选项和无效的值时,spice-gtk 不会打印任何错误消息,这可能会导致用户混淆。现在,这个问题已被解决,QEMU 会在遇到无效值时退出。 - BZ#881072
- 在以前的版本中,尝试关闭与显示的连接失败,直到其中一个剩余的窗口调整大小为止。因此,在没有用户意图的情况下,可以再次打开之前关闭的窗口。现在,重新打开关闭的显示已被修复,关闭 remote-viewer 窗口可以正常工作。
- BZ#835997
- 在以前的版本中,在迁移后,在客户端和服务器之间无法正确同步 SPICE 移动消息。因此,在迁移后鼠标光标状态可能会不同步。此更新可确保在客户端和服务器和鼠标光标状态之间同步 SPICE 鼠标消息不再同步。
- BZ#846666
- 在以前的版本中,在各种场景中返回以下错误代码:
main-1:0: SSL_connect: error:00000001:lib(0):func(0):reason(1)
此代码对连接失败进行了调试。在这个版本中,会为每个不同的场景打印对应的错误消息。 - BZ#818847
- 将 the
-spice-color-value
选项与无效值搭配使用时,会显示错误消息。但是,在之前,信息不够清晰。更新后,当将 the-spice-color-value
选项与无效值搭配使用时,SPICE 会返回错误消息,包括值建议。 - BZ#843134
- 连接到具有 16 位颜色深度的无代理客户机后,初始屏幕是黑色,仅会在更改时被利用。现在,这个程序错误已被解决,在连接到带有 16 位颜色深度的无代理客户机时,客户机屏幕会被完全显示。
- BZ#867885
- 当指针处于服务器模式并且 grabbed 会导致鼠标指针在任何快速移动时,禁用鼠标指针来临时禁用客户端加速。现在,这个程序错误已被解决,鼠标指针会象物理客户端中的那样在客户机中移动。
- BZ#851090
- 在以前的版本中,Ctrl+Shift 复合键无法正常工作,从而导致不同复合键触发的相同操作。这个程序错误现已解决,Ctrl+Shift 可以按预期工作。
- BZ#858228
- 在以前的版本中,当没有指定主机主题时,remote-viewer 工具无法连接到以下错误消息:
Spice-Warning **: ssl_verify.c:484:openssl_verify: ssl: subject '' verification failed
在这个版本中,当没有指定主机主题时,remote-viewer 会将它视为空主机主题,并使用 hostname 验证 subject 字段中的通用名称CN=
。 - BZ#858232
- 在某些情况下,会返回一个不明确的警告信息,错误地建议尝试不需要网络连接。错误消息已被改进,可以正确反映其状态。
- BZ#859392
- 在以前的版本中,出于安全原因,用户在试图将 USB 设备从 Red Hat Enterprise Linux 6.4 客户端重定向到 SPICE 客户机时,系统会提示用户输入 root 密码。但是,常规用户没有 root 密码。由于此行为由 PolicyKit 控制,因此已进行了
/usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess.policy
文件中的更改,以便在不提示输入密码的情况下访问原始 USB 设备。文档中包括了有关此问题的安全影响的警告。 - BZ#807771
- 在以前的版本中,spice-gtk 控制器中缺少 CONTROLLER_SEND_CAD 事件实现。因此,在用户界面中选中"Pass Ctrl+Alt+Del to virtual machine box"框不会产生任何结果。CONTROLLER_SEND_CAD 的实现已添加到底层源代码中,用户现在可以勾选 Ctrl+Alt+Del 在虚拟客户端上被截获的复选框。
- BZ#861332
- 在通过重定向 USB 设备的非密封迁移虚拟机后,SPICE 无法正确评估 USB 状态。在这个版本中,从
channel_reset()
功能调用的相关功能可以准确依赖状态,反映 USB 状态。 - BZ#804187
- 当没有要重定向的设备时,重定向对话框没有提供明确的信息。在这个版本中,会提供一个帮助信息,表示在对话框窗口中没有包括要重定向的设备以及其他相关指导。
- BZ#868237
- 在某些情况下,SPICE 尝试向虚拟机发送
00
扫描代码,这会导致客户端打印未知的键按下
的错误消息。在这个版本中,SPICE 不再将00
扫描代码发送到 spice-server。
功能增强
- BZ#846911
- 以前的 SPICE 迁移路径几乎相当于自动将客户端连接到迁移目标并从头开始会话。此路径会导致不可恢复的数据丢失,主要是 USB、智能卡或复制粘贴数据,这些数据从客户端到客户机,当迁移的非实时迁移阶段时,反之亦然。这个版本可防止数据丢失,迁移过程在此场景中成功完成。
- BZ#842411
- 对 Linux 客户机的 RANDR 多监视器支持以及对 Linux 和 Windows 客户机的任意解析支持已添加到 spice-gtk 软件包中。现在,在使用虚拟机时可以动态添加新屏幕。另外,在调整 SPICE 客户端的窗口大小后,会自动调整客户机的解析以匹配窗口的大小。
- BZ#820964
- USB Redirector 在 Red Hat Enterprise Linux 客户端上自动发现已插入的 USB 设备已添加到 spice-gtk 软件包中。
- BZ#834504
- 在这个版本中,spice-gtk 软件包添加了更明确的错误消息;当无效的 SSL 证书或 SSL 选项传递给 spice-gtk 软件包时,消息处理主机主题不匹配。
安全修复
- CVE-2013-4324
- spice-gtk 通过 API 与 PolicyKit 通信,该 API 容易受到竞争条件的影响。这可能会导致绕过预期的 PolicyKit 授权。这个版本修改了 spice-gtk,以通过不容易受到竞争条件的不同 API 与 PolicyKit 通信。
7.233. spice-protocol
功能增强
- BZ#846910
- 在这个版本中,增加了对 spice-protocol 软件包的无缝迁移支持。
7.234. spice-server
程序错误修复
- BZ#787694
- 在以前的版本中,当 qemu-kvm 命令的 "-spice" 命令行选项包含无效的参数时,SPICE 服务器会意外终止。这个行为已被修改,当传递参数不正确时,SPICE 服务器现在会返回正确的错误值。
- BZ#824384
- 在以前的版本中,解析更改在客户虚拟机上的循环中运行,会导致 qemu-kvm 进程使用 SIGABRT 信号失败。这是因为 red_worker 脚本调用环 _remove () 函数两次。这个程序错误已被解决,在上述情况下 qemu-kvm 不再崩溃。
- BZ#864982
- 在以前的版本中,当使用 spice-server 软件包渲染客户机用户界面时,使用掩码的非RGB 镜像会被忽略。因此,某些图标被错误地呈现。这个程序错误已被解决,渲染错误不再发生。
- BZ#876685
- 对服务器自创建的镜像使用 LZ 压缩会导致不正确的值,这会导致 SPICE 服务器中止。在这个版本中,LZ 压缩不再用于这些镜像,以防止 SPICE 服务器终止。
- BZ#881980
- 在以前的版本中,SPICE 服务器会收到来自客户端到 spice-vdagent 代理的消息,即使代理已经从服务器断开连接。这些消息被错误处理,在某些情况下可能会导致 SPICE 服务器意外终止。现在,服务器会丢弃这些消息,从而防止这个错误。
- BZ#891326
- 当尝试更改"3D Flying Objects"屏幕保存器的设置时,SPICE 服务器被强制访问已释放的指针。因此,SPICE 服务器因为分段错误而意外终止。在这个版本中,对操作序列进行了重新排序,以防止分段错误。
功能增强
安全修复
- CVE-2013-4282
- 在 spice-server 库中的 reds_handle_ticket ()函数中发现了一个基于堆栈的缓冲区溢出漏洞,它处理了客户端提供的票据数据的解密。远程用户能够发起与充当 SPICE 服务器的应用程序的 SPICE 连接可能会使用此缺陷使应用程序崩溃。
7.235. spice-vdagent
7.235.1. RHEA-2013:0311 - spice-vdagent 增强更新
功能增强
7.236. spice-xpi
7.236.1. RHBA-2013:0459 - spice-xpi 程序错误修复更新
程序错误修复
7.237. squid
安全修复
- CVE-2012-5643
- 在 Squid Cache Manager 处理某些请求的方式中发现了一个拒绝服务漏洞。一个可以访问缓存管理器 CGI 的远程攻击者,可能会导致 Squid 消耗大量内存。
程序错误修复
- BZ#805879
- 由于
ConnStateData::noteMoreBodySpaceAvailable()
功能中的一个错误,Squid 的子进程在遇到失败的断言时终止。提供了上游补丁,Squid 子进程不再终止。 - BZ#844723
- 由于上游补丁(它重命名了 HTTP 标头控制从
Proxy-
到连接)的持久性连接,NTLM 直通身份验证无法正常工作,从而防止登录。在这个版本中,在Connection
squid.conf
文件中添加了新的http10
选项,该文件可用于启用补丁中的更改。默认将这个选项设置为off
。当设置为上的
时,NTLM 直通身份验证可以正常工作,因此登录尝试成功。 - BZ#832484
- 当禁用 IPv6 协议并且 Squid 试图处理包含 IPv6 地址的 HTTP GET 请求时,Squid 子进程因为信号
6
而终止。这个程序错误已被解决,这些请求现在可以按预期处理。 - BZ#847056
- 因为与原始服务器成功重新验证,在存储过时的响应成为全新的情况下,旧的 "stale if hit" 逻辑不会被考虑。因此,返回不正确的警告信息。现在,Squid 不再在上述场景中将元素标记为过时。
- BZ#797571
- 当在 samba-winbind 之前安装 squid 软件包时,
wbpriv
组不包括 Squid。因此,NTLM 身份验证调用会失败。现在,如果在 Squid 之前安装了 samba-winbind,Squid 可以正确地添加到 wbpriv 组中,从而修复此错误。 - BZ#833086
- 在 FIPS 模式中,Squid 是用于用户身份验证和网络访问的私有 MD5 哈希功能。因为 MD5 与 FIPS 模式不兼容,Squid 可能无法启动。在这个版本中,使用私有 MD5 功能限制为本地磁盘文件哈希标识符,从而允许 Squid 在 FIPS 模式下工作。
- BZ#782732
- 在高系统负载下,squid 进程在重启过程中可能会意外终止并出现分段错误。这个版本在重启过程中提供更好的内存处理,从而解决了这个问题。
- BZ#798090
- Squid 错误地为带有服务器端连接值的客户端 HTTP 连接设置超时限制,从而造成不必要的延迟。在这个版本中,Squid 对客户端超时限制使用正确的值。
- BZ#861062
- 当 GET 方法请求一个不包含
AAAA
记录的完全限定域名时,Squid 会因为 DNS 请求时间而延迟。在这个版本中,在squid.conf
中引入了dns_v4_first
选项。如果正确设置这个选项的dns_timeout
值,Squid 会并行发送A
和AAAA
查询,且延迟不再发生。 - BZ#758861
- 在生成错误页面内容时,Squid 没有正确释放分配的内存,这会导致内存泄漏。因此,Squid 代理服务器在短时间内消耗大量内存。在这个版本中解决了这个内存泄漏的问题。
- BZ#797884
- Squid 没有将
ident
值传递给使用url_rewrite_program
指令配置的 URL 重写器。因此,URL 重写程序收到短划线字符(-
)作为用户值,而不是正确的用户名。现在,URL 重写程序在上述场景中收到正确的用户名。 - BZ#720504
- Squid 用作透明代理,只能处理 HTTP 协议。在以前的版本中,可以定义一个 URL,其中的访问协议包含星号字符(
*
)或未知协议命名空间 URI。因此,在重新载入过程中,会记录Invalid URL
错误消息来访问access.log
。在这个版本中,确保http://
始终用于透明代理 URL,错误消息不再在此场景中记录。
7.238. sssd
安全修复
- CVE-2013-0219
- 在 SSSD 复制和删除的用户主目录中发现了一个竞争条件。一个可以写入被删除不同用户的主目录的本地攻击者,可以利用此漏洞执行符号链接攻击,从而可能会允许他们修改和删除具有 root 用户权限的任意文件。
- CVE-2013-0220
- 在 autofs 和 SSH 服务响应程序解析某些 SSSD 数据包的方式中发现多个越界内存读取漏洞。攻击者可以利用一个专门设计的数据包,当由 autofs 或 SSH 服务响应者处理时,会导致 SSSD 崩溃。此问题只会导致服务临时拒绝,因为 SSSD 在崩溃后由 monitor 进程自动重启。
程序错误修复
- BZ#854619
- 当 SSSD 在没有 sudo 支持的情况下构建时,ldap_sudo_search_base 值没有被设置,并且 namingContexts LDAP 属性包含零长度字符串。因此,SSSD 会尝试使用这个字符串设置 ldap_sudo_search_base,并失败。因此,SSSD 无法与 LDAP 服务器建立连接并切换到离线模式。在这个版本中,SSSD 会认为零长度 namingContexts 值与没有值可用的方式相同,从而防止这个错误。请注意,此问题主要影响 Novell eDirectory 服务器用户。
- BZ#840089
- 当启用了 ldap_chpass_update_last_change 选项时,shadowLastChange 属性包含秒数而不是 days。因此,当使用 shadowLastChange 时,系统会提示您更新其过期密码,则 shadowLastChange 不会被更新。然后,用户会继续出错,直到它们被锁定到系统之外。在这个版本中,天数存储在 shadowLastChange 属性中,用户可以按预期更改其过期密码。
- BZ#847039
- 当 kpasswd 服务器配置但身份验证期间无法访问时,SSSD 会将其视为与 KDC 服务器无法访问的方式相同。因此,用户无法进行身份验证。现在,只有在执行密码更改时,SSSD 才会将不可访问的 kpasswd 服务器视为严重错误,用户可以成功登录。
- BZ#847043
- 在以前的版本中,取消一个位于任何 SSS 客户端使用中部的 pthread 可能会导致客户端 mutex 锁定。因此,任何 SSS 函数的下一个调用变得无响应,等待 mutex 解锁。在这个版本中,使用更强大的 mutex,取消这样的 pthread 不再保留客户端 mutex 锁定。
- BZ#872324
- 当 SSSD 创建 SELinux 登录文件时,会错误地使该文件的文件描述符保持打开状态。因此,当用户登录时,SSSD 使用的文件描述符数量都会增加。SSSD 现在在不再需要时关闭文件描述符,从而防止它被泄漏。
- BZ#801719
- 在以前的版本中,不会执行反向 DNS 查找来获取由 IP 地址指定的主机的完全限定域名(FQDN)。因此,使用文本 IP 地址作为 FQDN 错误地尝试 SSH 主机公钥查找。现在,执行反向 DNS 查找来获得主机的 FQDN,然后再进行 SSH 主机公钥查找。SSH 主机公钥查找现在可以使用主机的 FQDN 正常工作。
- BZ#857108
- Kerberos 选项在 krb5 实用程序和具有不同代码路径的 IPA 提供程序中单独加载。代码已在 krb5 中修复,但没有在 IPA 提供程序中修复。因此,当 IPA 用作身份验证提供程序时,Kerberos 票据不会被续订。在这个版本中,Kerberos 选项使用通用 API 加载,并在上述场景中按预期续订 Kerberos 票据。
- BZ#849081
- 当 SSSD 配置为在与 LDAP 服务器通信和 SSL 初始化失败时使用 SSL 时,SSSD 会保持与 LDAP 服务器的连接打开。因此,通过 SSSD 增加到 LDAP 服务器的连接数量,直到 LDAP 服务器耗尽可用的文件描述符为止。在这个版本中,当 SSL 初始化失败时,SSSD 会立即关闭连接,连接数量也不会增加。
- BZ#819057
- 如果 LDAP 供应商被配置为使用 GSSAPI 身份验证,但第一个配置的 Kerberos 服务器离线进行,则 SSSD 不会重试另一个可能正常工作的服务器。故障转移代码已被修改,以便在 LDAP 提供程序中执行 GSSAPI 身份验证时尝试所有 Kerberos 服务器。LDAP 供应商现在可以对仅配置为故障转移的服务器进行身份验证。
- BZ#822404
- 在以前的版本中,当使用自定义模式时,SSSD 不会使用正确的属性映射。因此,如果管理员使用自定义属性映射配置了 SSSD,autofs 集成无法正常工作。属性映射已被修复,SSSD 现在可以使用自定义属性模式。
- BZ#826192, BZ#827036
- 在某些情况下,SSSD 响应器进程无法正确关闭用来与客户端库通信的文件描述符。因此,描述符会泄漏,并随着时间的推移导致拒绝服务,因为 SSSD 达到系统中定义的打开文件描述符的限制。SSSD 现在主动关闭一段时间未活跃的文件描述符,从而使文件描述符的使用一致。
- BZ#829742
- SSSD 后端进程保留指向它在所有情况下连接的服务器的指针,即使服务器条目即将过期。当启用 SRV 解析时,大多数客户都会遇到这个问题。因此,当服务器条目在使用 SSSD 时,后端进程会崩溃。在 SSSD 中添加了一个额外的检查,以确保服务器对象在使用前有效。在使用 SRV 发现时,SSSD 不再崩溃。
- BZ#829740
- 当 SSSD 守护进程启动过程中,父进程在生成子进程后退出。因此,在父进程终止后打印的 init 脚本 [OK],这是在 SSSD 实际正常工作前的。在这个版本中,父进程在所有 worker 进程都启动前不会被终止。现在,管理员可以在初始化脚本打印 [OK] 后开始使用 SSSD。
- BZ#836555
- 在以前的版本中,SSSD 始终将"shadow"LDAP 密码策略配置为绝对值的属性值。因此,管理员无法将"shadow"LDAP 密码策略的属性配置为"valid forever"。LDAP "shadow" 密码属性现已扩展,以允许 "-1" 作为有效值,管理员可以将保留值 "-1" 用作"valid forever"。
- BZ#842753
- 当 SSSD 请求带有协议的服务时,SSSD 会执行对未分配的内存空间的访问,这会导致它在服务查找过程中偶尔崩溃。现在,SSSD 无法访问未分配的内存,在服务查找过程中不再崩溃。
- BZ#842842
- 当 LDAP 用户记录包含空属性时,该用户没有正确存储在 SSSD 缓存中。因此,缺少用户和组成员资格。在这个版本中,空属性不会被视为错误,用户会在 SSSD 缓存中正确存储。因此,用户存在,组成员资格可以被成功评估。
- BZ#845251
- 当配置了多个服务器且 SSSD 无法解析服务器的主机名时,它不会尝试列表中的下一个服务器。因此,即使配置文件中有无法解析的主机名,SSSD 也会离线。SSSD 现在尝试列表中的下一个服务器,故障切换可以正常工作。
- BZ#847332
- 在以前的版本中,sssd-ldap (5) man page 中的 ldap swig_search_base 选项的描述缺少了这些选项的语法详情,使其不清楚地指定搜索基础。sssd-ldap (5) man page 中 ldaprhacm_search_base 选项的描述已被修改,以便搜索基础的格式现在明确。
- BZ#811984
- 如果 krb5_canonicalize 选项被设置为 True,或者 /etc/sssd/sssd.conf 文件中根本不存在,客户端主体可能会因为规范而变化。但是,SSSD 仍然保存原始主体。因为保存了不正确的主体,GSSAPI 身份验证会失败。保存主体的 Kerberos 帮助程序进程被修改,以便在启用了规范化时保存规范主体。即使因为规范而更改了主体的情况,GSSAPI 绑定也可以正常工作。
- BZ#886038
- 在以前的版本中,SSSD 将文件描述符保存到日志文件打开。因此,在移动实际日志文件并重新启动后端一样,SSSD 仍然保持打开文件描述符。在这个版本中,SSSD 在子进程执行后关闭文件描述符。因此,在成功启动后端后,日志文件的文件描述符将关闭。
- BZ#802718
- 在以前的版本中,SSSD 的代理域类型只允许通过 LDAP 服务器中的"主名称"查找用户。如果 SSSD 被配置为 "proxy domain",并且 LDAP 条目包含更多名称属性,则只有主条目可用于查找。在这个版本中,代理供应商被改进,除了主用户名外,还处理别名。管理员现在可以在使用代理提供程序时按名称查找用户。
- BZ#869013
- 如果 LDAP 服务器在启动时不包含任何规则,则不会执行 sudo "smart refresh"操作。因此,在比 "ldap_sudo_smart_refresh_interval" 选项更长的时间后,新创建的 sudo 规则会被发现。sudo "smart refresh" 操作现在执行,并在 ldap_sudo_smart_refresh_interval 时间 span 中找到新创建的 sudo 规则。
- BZ#790090
- SSSD "local" 域(id_provider=local)对 access_provider 值的有效性执行了一个错误的检查。如果将 access_provider 选项设为 "permit" (正确的值),SSSD 会失败并显示错误。现在,对 access_provider 选项值的检查已被修正,SSSD 现在允许带有 id_provider=local 的域的正确 access_provider 值。
- BZ#874579
- 在以前的版本中,如果 SELinux 映射使用 HBAC 规则作为用户应用映射的定义,以及无法同时访问身份管理服务器,则 SELinux 用户映射上下文不会被正确排序。因此,可以为用户分配无效的 SELinux 上下文。SELinux 用户映射上下文现在可以正确排序,SELinux 上下文被成功分配给用户。
- BZ#700805
- 如果 SSSD 配置为使用 SRV 查询查找服务器,但没有配置默认的 DNS 域,SSSD 会输出 DEBUG 信息。DEBUG 消息包含"未知域"字符串,可能会导致用户混淆。DEBUG 消息已被修复,它们专门用于报告 DNS 域正在查找,并且仅打印已知域。
- BZ#871424
- 在以前的版本中,SSSD authconfig API 中缺少 chpass_provider 指令。因此,如果 SSSD 配置文件中存在 chpass_provider 选项,authconfig 工具将无法配置 SSSD。chpass_provider 选项包含在 SSSD authconfig API 中,现在 authconfig 实用程序不会考虑这个选项不正确。
- BZ#874618
- 在以前的版本中,sss_cache 工具不接受完全限定域名(FQDN)。因此,管理员无法使用 FQDN 强制 SSSD 缓存中用户记录的过期时间。sss_cache 工具现在接受 FQDN,管理员可以强制使用 FQDN 强制 SSSD 缓存中用户记录的过期时间。
- BZ#870039
- 在以前的版本中,当 sss_cache 工具在 SSSD 降级后运行时,缓存文件保持不变。sss_cache 工具无法操作缓存文件,并打印混淆的错误消息。sss_cache 工具中改进了 "invalid database version" 错误消息。现在,当检测到无效的缓存版本时,sss_cache 工具会打印推荐的解决方案。
- BZ#882923
- 当代理供应商在查找请求的用户时没有成功时,搜索的结果不会存储在负缓存中(存储搜索时未找到的条目)。对同一用户的后续请求没有被负缓存回答,而是从远程服务器再次查找。这个程序错误会影响到性能。修复了内部错误代码,允许 SSSD 将未产生条目的搜索结果存储在负缓存中。对不存在的条目的后续查找从负缓存回答,按效果非常快。
- BZ#884600
- 在以前的版本中,在 LDAP 身份验证过程中,如果以前的服务器失败,SSSD 会尝试联系服务器列表中的所有服务器。但是,只有在当前连接超时时,SSSD 会尝试连接到下一个服务器。SSSD 现在尝试联系任何错误中的下一个服务器,连接尝试可以正常工作。
- BZ#861075
- 当 sssd_be 进程被强制终止时,如果尝试在 sssd_be 进程就绪前执行,SSSD 响应程序进程将无法重新连接。这会导致重启响应程序。有时,响应器会在 sssd_be 就绪前多次重启,达到重启阈值的最大数量,之后它会完全终止。因此,SSSD 响应器不会被安全重启。在这个版本中,每次重启 SSSD 响应程序进程都会以增加的延迟完成,因此 sssd_be 进程有足够的时间在响应程序重启前恢复。
- BZ#858345
- 在以前的版本中,sssd_pam 响应器没有正确配置为从后端断开连接中恢复。在断开连接前等待的 PAM 请求不会被取消。因此,对同一用户的新请求被错误地检测到为类似的请求,并在上一个请求之上进行 piled。这会导致 PAM 操作超时并显示以下错误:
Connection to SSSD failed: Timer Expired
因此,用户无法登录。在这个版本中,在断开连接后,待处理的请求将被取消,用户可以在 pam 响应程序重新连接时登录。 - BZ#873032
- 在以前的版本中,sss_cache 工具没有包含在主 SSSD 软件包中,用户不知道它,除非它们安装了 sssd-tools 软件包。在这个版本中,sss_cache 工具被移到 sssd 软件包中。
- BZ#872683
- 当禁用匿名绑定并启用了 enumeration 时,SSSD 会在枚举过程中处理一个无效的数组元素,因为数组没有终止。这会导致 sssd_be 进程崩溃。现在,该阵列终止 NULL,在禁用匿名绑定时 sssd_be 进程不会在枚举过程中崩溃。
- BZ#870505
- 当 SSSD 配置了多个域时,sss_cache 工具仅在第一个配置域中搜索对象,并忽略其他域。因此,管理员不能对来自任意域的对象使用 sss_cache 工具。sss_cache 工具现在搜索所有域,管理员可以对任意域中的对象使用该工具。
功能增强
- BZ#768168, BZ#832120, BZ#743505
- 添加了一个新的 ID 映射库,它可以从 Windows 安全标识符(SID)自动生成 UNIX ID。管理员现在可以在 UNIX 环境中使用 Windows 帐户。另外,在 SSSD 中添加了一个新的 Active Directory 供应商,其中包含专门为与 Active Directory 搭配使用的属性映射。配置 id_provider=ad 时,配置不再需要手动设置属性映射。实现了 SSSD 的新提供程序,管理员现在可以设置 Active Directory 客户端,而无需知道特定的 Active Directory 属性映射。Active Directory 供应商的性能优于 LDAP 供应商的性能,特别是在登录期间。
- BZ#789470
- 当 SSSD 在其故障转移列表中切换到另一个服务器时,只要它可以正常工作,就会一直与该服务器卡住。因此,如果 SSSD 故障转移到另一个区域中的服务器,则它不会重新连接到更接近的服务器,直到备份服务器重启或直到备份服务器停止工作为止。SSSD 中引入了"备份服务器"的概念,如果 SSSD 故障转移到在配置中被列为备份服务器的服务器,它会定期尝试重新连接到其中一个主服务器。
- BZ#789473
- SSSD 中引入了一个新的 sss_seed 工具。管理员可以将预先提供的用户条目保存到 SSSD 缓存中,该缓存在用户实际可以使用目录中的非前条目刷新条目为止。
- BZ#768165
- 当返回一个不适合单个"page"的大型组时,Active Directory 会使用非标准格式。默认情况下,单个页面大小包含 1500 成员,如果响应超过页大小,则使用范围扩展。如果组存储在包含 1500 成员的 Active Directory 服务器上,则 Active Directory 的响应包含 SSSD 无法解析的专有格式。SSSD 已被改进,它可以解析范围扩展,现在可以处理有超过 1500 组成员来自 Active Directory 的组。
- BZ#766000
- 在以前的版本中,管理员被强制通过 来分发 SELinux 映射,这意味着容易出错。因此,引入了 SELinux 映射的集中存储,用来定义在登录到特定机器后获取哪些上下文。SSSD 可以从身份管理服务器读取映射,根据定义的算法处理它们,并在以后由 pam_selinux 模块使用的适当 SELinux 上下文。现在,身份管理服务器管理员可以集中定义 SELinux 上下文映射,当用户使用其身份管理凭据登录时,身份管理客户端会处理映射过程。
- BZ#813327
- 自动挂载程序可以配置为从集中式服务器(如 LDAP 服务器)中读取 autofs 映射。但是,当网络停机或服务器无法访问时,自动挂载程序将无法服务映射。SSSD 引入了一个新的响应器,它可以与自动挂载程序守护进程通信。自动挂载程序现在可以通过 SSSD 请求映射,而不是直接发送到服务器。因此,即使 LDAP 服务器中断,自动挂载程序也可以提供映射。
- BZ#761573
- 在 SSSD 中实现了一个新的 sudo 响应器,以及 sudo 本身中的客户端库。SSSD 可以充当透明代理,为 sudo 二进制文件提供 sudo 规则。现在,当集中式 sudo 规则源不可用时,例如,当网络停机时,SSSD 能够回退到缓存的规则,从集中数据库提供对 sudo 规则的透明访问。
- BZ#789507
- 在此次更新之前,即使 SSSD 缓存用户条目,它必须从磁盘上的缓存文件中读取。这会导致在某些性能关键环境中缓存读取速度会较慢。引入了一个保存在内存中的新缓存层,大大提高了返回缓存条目的性能。
- BZ#771412
- pam_pwd_expiration_warning 选项可用于限制显示密码过期警告的天数。但是,SSSD 不允许无条件地将来自服务器的任何密码警告传递给客户端。修改 pam_pwd_expiration_warning 的行为,以便在选项设置为 0 时,它总是传递给客户端,无论警告的值是什么。因此,在将 pam_pwd_expiration_warning 选项设置为 0 后,管理员总是会在服务器发送时看到过期警告。
- BZ#771975
- force_timeout 选项已被配置,现在可以为 SSSD 子进程在一段时间内无响应的环境中更改 force_timeout 选项。
7.239. strace
程序错误修复
- BZ#759569
- 在此次更新之前,strace 工具从 IBM System z 平台上错误的位置提取"semtimedop"系统调用的参数。因此,"semtimedop"系统调用的参数被错误地显示。在这个版本中,修改 strace 以从正确的内存位置提取参数,以便"semtimedop"系统调用的参数会如预期显示。
- BZ#837183
- 在此次更新之前,strace 工具使用特殊的断点来跟踪 fork/vfork/clone 系统调用。因此,当以下 fork/vfork/clone 系统调用时,strace 有时可能会导致应用程序崩溃。在这个版本中,修改 strace 以使用 PTRACE_SETOPTIONS 在 fork/vfork/clone 系统调用中设置行为,应用程序不再崩溃。
功能增强
- BZ#809917
- 在以前的版本中,当跟踪 64 位机器上的 32 位进程时,strace 会错误地解码系统调用,因为 IBM System z 平台上的 strace 不是多架构感知。这个版本提供了一个额外的 strace 可执行文件(strace32),可用于跟踪 64 位机器上的 32 位进程。
7.240. subscription-manager-migration-data
7.241. subscription-manager
程序错误修复
- BZ#785265
- 包含 D-BUS 通信系统的 dbus 软件包不包括在 Red Hat Enterprise Linux 最小安装中。但是,subscription-manager 工具依赖于 dbus,它可能会导致 subscription-manager 在注册过程中意外终止并出现回溯信息。系统已被成功注册,但 rhsmcertd 守护进程无法与订阅管理器服务器通信,如 candlepin、Subscription Asset Manager 或 katello。在这个版本中,当系统上不存在 dbus 时,subscription-manager 会在没有回溯时退出。为确保与订阅管理器服务器进行正确的通信,请通过运行 "yum install dbus" 来手动安装 dbus。
- BZ#865954
- 由于处理无效系统名称的错误处理,系统在第一次引导过程中可能会处于不可用状态。修复了对无效系统名称的处理,第一次引导可以正常进行。
功能增强
7.242. sudo
7.242.1. RHBA-2013:0363 - sudo 程序漏洞修复和功能增强更新
- 插件 API 已被新的 sudo-devel 子软件包提供。
- 添加了 sudo 工具前端配置(plug-in path、coredumps、debug 等)的新
/etc/sudo.conf
配置文件。 - 可以将 sudoer 的路径、UID、GID 和文件模式指定为
/etc/sudo.conf
文件中插件的选项。 - 支持将系统安全服务守护进程(SSSD)用作 sudoers 数据源。
- sudo 工具中的
-D
标志已被/etc/sudo.conf
文件中配置的一个更通用的调试框架替代。 - 弃用的
noexec_file
sudoers 选项不再被支持。 noexec
功能已从 sudoers 策略插件中移出,并入 sudo 实用程序前端,它与插件写入器指南中记录的行为匹配。因此,/user/libexec/sudo_noexec.so
文件的路径现在在/etc/sudo.conf
文件中指定,而不是/etc/sudoers
文件。- 如果用户无法进行身份验证,并且
sudoers
文件中定义的规则拒绝用户执行的命令,则命令现在允许
的错误消息被记录,而不是之前使用的 <N> 不正确的密码尝试
。同样,mail_no_perms
sudoers
选项现在优先于mail_badpass
选项。 - 如果用户是
sudoers
文件中 exempt 组的成员,则即使通过 execute 命令指定了 a-k
选项,也不会提示密码。这使得 sudo -k 命令与行为一致,如果在执行另一个命令前立即运行 sudo -k 命令会得到。 - 如果用户通过 sudo 实用程序的 sudo 实用程序的
-g
选项指定了与密码数据库中目标用户组匹配的组,则现在即使Runas_Spec
中没有组,也被允许。 - 现在,可以在
User_List
或Runas_List
文件中指定组 ID (%#gid
)。同样,对于非Unix 组,语法为%:#gid
。 - visudo 工具现在修复了 sudoers 文件中的模式,即使没有进行任何更改,除非指定了
-f
选项。
程序错误修复
- BZ#823993
- sudo 实用程序没有保存暂停进程的控制
tty
。因此,处理恢复操作的代码无法正确恢复它。因此,在通过 sudo 工具运行暂停的进程中不会启用恢复。这个程序错误已通过重新升级到新的上游版本来解决。因此,挂起和恢复可以再次正常工作。 - BZ#840980
- sudo 实用程序中命令的内部执行方法的变化是创建新进程并从那里执行命令的原因。要修复这个程序错误,
添加了新的默认选项
来恢复旧行为。由于已实施了执行方法,以正确处理 PAM 会话处理、I/O 日志记录、SELinux 支持和插件策略关闭功能,因此如果使用新实施的选项,这些功能将无法正常工作。要应用这个选项,请在/etc/sudoers
文件中添加以下行:Defaults cmnd_no_wait
因此,如果使用新实现的选项,则命令将直接由 sudo 实用程序执行。 - BZ#836242
- sudo 工具将内核转储大小限制设置为 0,以防止在意外的终止时在内核转储文件中公开用户密码。但是,在执行命令前,这个限制没有重置为以前的状态,并且子进程的内核转储大小硬性限制最终设置为 0。因此,无法通过 sudo 工具运行的进程设置内核转储大小限制。这个程序错误已通过重新升级到新的上游版本来解决,因此,通过 sudo 工具运行的进程设置内核转储大小限制可以正常工作。
- BZ#804123
- 初始化包含 PAM (可插拔验证模块)句柄的全局变量时(具有单独的地址空间)处理,不同的 PAM 处理被传递给应该使用相同的句柄的 PAM API 功能。因此,当调用
pam_end_sessions()
功能时,初始化对父 PAM 处理没有影响。因此,依赖模块可能无法在会话关闭时显示,以便释放资源或进行重要的管理更改。这个程序错误已通过恢复到较新的上游版本来解决,该版本可以正确地使用 PAM API (例如,初始化一个 PAM 处理并在所有相关 PAM API 功能调用中使用它)。因此,PAM 会话会被正确关闭。 - BZ#860397
- 对
/etc/sudo-ldap.conf
文件中的文件权限不正确,同一文件中缺少的示例会导致红帽提供的文档不一致。在这个版本中,文件权限已被修正,并添加了示例配置行。因此,/etc/sudo-ldap.conf
现在与文档一致。 - BZ#844691
- 当 sudo 工具设置运行命令的环境时,如果
RLIMIT_NPROC
的 soft (current)和 hard (最大)值没有限制,它会将RLIMIT_NPROC
资源限值的值重置为这个限制。现在,提供了一个上游补丁来解决这个问题,现在可以将RLIMIT_NPROC
设置为 "unlimited"。 - BZ#879675
- 由于
/etc/ldap.conf
文件中的注释规则不同,哈希(':')字符不能用作配置值的一部分,例如在密码中。它被理解为注释的开头,以及 # 字符后的所有内容都会被忽略。现在,解析器已被修复,只有在位于行首时才将 # 字符解释为注释的开头。因此,可以使用 '#' 字符作为密码的一部分,或者任何其他值(如果需要)。 - BZ#872740
- 在传递给指定命令之前,命令参数中包含的空格字符不会被转义。因此,不正确的参数被传递给指定的命令。这个程序错误已通过恢复到一个新的上游版本来解决,其中正确执行命令参数转义。因此,命令行上指定的命令行参数会如预期传递给命令。
功能增强
- BZ#789937
sudo
工具可以参考/etc/nsswitch.conf
文件以获取 sudoers 条目,并在文件或 LDAP (轻量级目录访问协议)中查找它们。在以前的版本中,当在 sudoers 条目的第一个数据库中发现匹配项时,查找操作仍然保留在其他数据库中。在 Red Hat Enterprise Linux 6.4 中,已将选项添加到/etc/nsswitch.conf
文件中,允许用户指定与 sudoer 条目匹配的数据库。这消除了查询任何其他数据库的需求,从而提高了 sudoer 条目在大型环境中查找的性能。默认情况下,此行为不启用,且必须通过在所选数据库后添加[SUCCESS=return]
字符串来配置。当在直接使用这个字符串的数据库中找到匹配项时,不会查询其他数据库。- BZ#846117
- 这个版本改进了在描述通配符用法的部分中的 sudo 文档,描述命令参数中使用的通配符字符可以有什么。
7.243. sysfsutils
7.243.1. RHBA-2012:1453 - sysfsutils 程序错误修复更新
错误修复
- BZ#671554
- 在此次更新之前,sysfs 目录不会如预期关闭。因此,libsysfs 库可能会在频繁打开和关闭 sysfs 目录的长时间运行程序中泄漏内存。这个版本会修改底层代码来按预期关闭 sysfs 目录。
7.244. syslinux
7.244.1. RHBA-2013:0473 - syslinux 程序错误修复更新
错误修复
- BZ#812034
- Coverity 测试在创建 "hybrid" ISO 镜像时显示了几个静态覆盖,这可能会导致创建不正确的镜像。这个程序错误已被解决,可以正确生成 "hybrid" ISO 镜像。
7.245. system-config-kdump
程序错误修复
- BZ#811104
- 在 IBM System z 机器上尝试使用 system-config-kdump 会导致出错信息。因此,用户无法选择特定的内核。这个程序错误已被解决,用户可以在这种情况下选择所需的内核。
- BZ#829386
- 在 IBM PowerPC 计算机上,system-config-kdump 工具使用第一个 crashkernel 参数,而不是最后一个 crashkernel 参数,当 crashkernel 值设置为 "auto" 时返回回溯。在这个版本中,system-config-kdump 使用最后一个 crashkernel 参数,并允许此参数设置为 "auto"。因此,在上述场景中不再返回回溯。
- BZ#858280
- 因为一些操作需要更长的时间才能完成,并且返回超时值设置太低,因此前端不会在适当的时间收到回答,并显示错误消息。现在,返回超时被设置为 5 分钟,system-config-kdump 可以正常工作。
功能增强
- BZ#852766
- 这个改进添加了对 IBM PowerPC 机器的固件辅助转储(fadump)的支持。现在,用户还允许在 kdump 和 fadump 之间进行选择。
7.246. system-config-kickstart
功能增强
- BZ#819813
- 此更新包含 system-config-kickstart 软件包的完整相同转换。
7.247. system-config-language
错误修复
- BZ#819811
- 在非英语区域中使用 system-config-language 时,GUI 中的某些消息不会被翻译。因此,非英语用户会看到未转换的信息。在这个版本中,所有消息字符串都已翻译。
7.248. system-config-lvm
程序错误修复
- BZ#852864
- 当有使用 lvm 工具创建的 RAID1 镜像卷时,system-config-lvm 无法正确启动。底层源代码已被修改,以防止 system-config-lvm 意外终止。现在,RAID1 卷会被正确显示,但它们作为底层逻辑卷可见。
- BZ#820539
- 在尝试使用镜像日志的过程中,system-config-lvm 工具会在启动时失败。这个程序错误已被解决,镜像卷现在可以如预期被支持。
- BZ#840070
- 由于 best_fit () 函数中有一个错误,它试图将所有现有逻辑卷(LV)放入显示区域,所以在有大量现有 LV 的系统上 system-config-lvm 无法正确启动。这个 bug 已被修复,system-config-lvm 在具有更多 350 LV 的系统也可以完全正常工作。
7.249. system-config-users
程序错误修复
- BZ#736037
- 在此次更新之前,1970 年 1 月 1 日前或之前的过期日期没有被正确计算。因此,system-config-users 实用程序将过期日期存储在 /etc/shadow 中。在这个版本中,修改底层代码,以便正确计算帐户到期日期。
- BZ#801652
- 在此次更新之前,用户界面中的字符串没有正确本地化到日语。在这个版本中,修改字符串,以便文本现在正确。
- BZ#841886
- 在此次更新之前,system-config-users 工具决定在指定期间没有重置过期密码时是否将帐户设置为不活跃。在这个版本中,修改底层代码,以通过硬编码到表示此条件的值来检查此条件。
7.250. systemtap
程序错误修复
- BZ#746334
- 许多 SystemTap 示例用于某些内核版本中不存在的内存使用追踪点。因此,如果用户尝试运行 mmanonpage.stp、mmfilepage.stp 或 mmwriteback.stp 文件,则此过程会失败。这个示例已更新,以便使用 Red Hat Enterprise Linux 6 和 SystemTap 中的内存追踪点现在可以正常工作。
- BZ#822503
- 在以前的版本中,缺少对 IPv6 协议的支持。因此,尝试执行评估包含 IPv6 地址的 tapset 变量的脚本,或者调用 tapset 功能返回 IPv6 地址失败,地址字段填充了 "Unsupported Address Family" 消息而不是有效的 IPv6 地址。在这个版本中,增加了对 IPv6 协议的支持。
- BZ#824311
- 在以前的版本中,会引用 include/trace/events/sunrpc.h 文件中的更改,但不由 #include 指令定义。因此,缺少 rpc 追踪点。这个追踪点已使用 #include 和 SystemTap 定义,在这种情况下,SystemTap 可以正常工作。
- BZ#828103
- 在以前的 SystemTap 内核和版本中,nfsd tapset 中的 nfsd.open probe-alias 被称为 "access" 参数,稍后被重命名为内核中 "may_flags"。因此,发生语义错误,然后 stap 命令无法执行。这个更新允许在两个名称下检查 nfsd.open probe-alias 检查来设置 "access" 脚本级变量,而 stap 现在可以在上述场景中按预期工作。
- BZ#884951
- 最近的内核更新部分 NFS tapset 定义所需的更新,以查找某些上下文变量。在这个版本中,tapset 别名搜索旧的和新位置。
7.251. tar
7.251.1. RHBA-2012:1372 - tar 程序漏洞修复更新
- BZ#841308
- 在此次更新之前,当使用选项"-sparse"和"--posix"选项创建此存档时,tar 无法匹配并从存档中提取给定文件名。在这个版本中,修改底层代码以匹配并按预期提取给定名称。
7.251.2. RHBA-2013:0489 - tar 程序错误修复更新
程序错误修复
- BZ#875727
- 当使用"-strip-components"命令行参数时,tar 实用程序无法正确匹配必须提取的文件名,并且操作失败。这个程序错误已被解决,tar 现在会在上述场景中按预期匹配文件名。
- BZ#877769
- 当使用"-listed-incremental"命令行参数并且多次指定了一个文件时,tar 会意外终止并出现分段错误。底层源代码已被修改,在这些情况下 tar 不再崩溃。
7.252. tboot
7.252.1. RHBA-2013:0524 - tboot 程序错误修复更新
程序错误修复
- BZ#885684
- 由于底层源代码中的错误,可能会出现缓冲区溢出,尝试引导启用了 tboot 的内核可能会失败,并显示以下错误:kernel panic - not sync: Too many boot init vars at 'numbers,'这个版本应用了一个修正这个错误的上游补丁,内核现在可以按预期引导。
- BZ#834323
- 在以前的版本中,安装的 README 文件会错误地识别支持的内核。在这个版本中修正了这个文件,并确保它不再包含不正确的信息。
7.253. tcsh
7.253.1. RHBA-2013:0446 - tcsh 程序错误修复更新
程序错误修复
- BZ#769157
- 在此次更新之前,tcsh 命令语言解释器可能会耗尽内存,因为内部 "malloc ()" 函数中的随机 "sbrk ()" 失败。因此,tcsh 可能会中止并出现分段错误。这个版本使用 "system malloc",tcsh 不再中止。
- BZ#814069
- 在此次更新之前,如果别名包含无法在循环中工作的声明,则在将历史记录保存到循环中的历史记录时,别名会被插入到历史记录缓冲区中。在这个版本中,不再允许在循环中保存历史记录。现在,只有循环的第一行和 "if" 语句保存在历史记录中。别名现在可以按预期工作。
- BZ#821796
- 在此次更新之前,在历史记录文件锁定补丁中调用函数时会删除广播。因此,多字节测试会失败。在这个版本中,在补丁和测试不再失败前恢复状态。
- BZ#847102
- 在此次更新之前,tcsh 逻辑无法按预期处理文件源。因此,在使用单行 "if" 语句时源命令会失败。这个版本修改了底层代码,以便如预期处理源命令。
- BZ#884937
- 在此次更新之前,当 tcsh 命令语言解释器等待子进程完成时,SIGINT 信号不会被阻止。因此,可以使用组合键 Ctrl+c 中止 tcsh。在这个版本中,SIGINT 信号和 tcsh 不再被中止。
7.254. tigervnc
程序错误修复
- BZ#688624
- 当 vncserver 初始化脚本启动 Xvnc 服务器但没有密码文件时,initscript 会失败而不显示消息。现在,这个程序错误已被解决,在没有为 Xvnc 会话配置密码时会出现用户"VNC 密码"消息。
- BZ#843714
- 在以前的版本中,在 Xvnc 运行时,用户无法更改 AcceptPointerEvents 参数的值。因此,当使用 "vncconfig -set AcceptPointerEvents=1" 命令启用和"vncconfig -set AcceptPointerEvents=0"命令时,禁用 VNC 会话的鼠标输入,并显示类似如下的错误消息:设置 param AcceptPointerEvents=0 失败现在,用户可以在 Xvnc 运行时启用或禁用 VNC 会话的 AcceptPointerEvents 参数的值和鼠标输入。
功能增强
- BZ#844486
- tigervnc 软件包已更新,以匹配最新的 X 服务器版本。
7.255. tog-pegasus
程序错误修复
- BZ#812892
- 在以前的版本中,在 cimserver 守护进程(OpenPegasus CIM 服务器)中不会检查 CMPI 实例的非array 属性。这会导致 cimserver 意外终止。这个版本为 cimserver 提供上游补丁。现在,cimserver 可以正确地返回带有非array 属性的实例,包括包含 NULL 值的实例。
- BZ#869664
- 在此次更新之前,所有到 cimserver 的连接都被视为本地主机。因此,cimsever 无法在本地和远程连接之间识别,并在授权和拒绝访问之间。已提供了一个补丁来修复这个错误。现在,cimserver 再次能够识别是否是本地连接还是远程连接,第二个是每个用户的访问权限还是拒绝。
功能增强
- BZ#716474
- cimserver 守护进程使用基于 CIM/WBEM 技术进行网络通信的所有已知端口。在这个版本中,为用户提供一个选项来配置,必须使用哪个接口,并将 cimserver 限制为仅侦听所选网络接口。
7.256. tomcat6
7.256.1. RHBA-2013:0480 - tomcat6 程序错误修复更新
程序错误修复
- BZ#576540
- 在 Red Hat Enterprise Linux 中,Apache Tomcat initscripts 应位于 /etc/rc.d/init.d 目录中。但是,逗号 initscript 之前位于 /etc/init.d 目录中,因为软件包 specs 文件中出现错误。在这个版本中,specs 文件已被更新,man 脚本位于 /etc/rc.d/init.d 目录中,以及其它 initscripts。
- BZ#847288
- 当 Web 应用程序使用自己的类加载程序时,当因为同步错误编译 JSP 时,Tomcat WebappClassLoader 可能会出现死锁。在这个版本中,同步程序错误和外部类加载程序不再干扰 WebappClassLoader。
- BZ#798617
- 当 /etc/tomcat6/tomcat6.conf 文件中的 TOMCAT_USER 被改为一个与用户 GID 不同的用户时,服务状态会返回不正确的 tomcat6 状态,因为检索进程详情不正确。在这个版本中,代码已被修改,这个场景中会返回正确的服务状态。
- BZ#785954
- 当 Tomcat 试图导入 URL 参数中带有 JavaScript 片段的不存在的页面时,它会返回一个资源不可用的消息。在这个版本中,为 Tomcat 添加了 HTML 过滤,servlet 容器现在可以正确地返回在这种情况下缺少资源的消息。
安全修复
- CVE-2013-1976
- 在 tomcat6 初始化脚本处理 tomcat6-initd.log 日志文件的方式中发现了一个安全漏洞。在 Tomcat 上部署的恶意 Web 应用程序可能会使用此缺陷来执行符号链接攻击,将任意系统文件的所有权更改为 tomcat 用户,从而使他们能够将其权限升级到 root。
- CVE-2013-2051
- 注: 在这个版本中,tomcat6-initd.log 已从 /var/log/tomcat6/ 移到 /var/log/ 目录。它发现,RHSA-2013:0623 更新没有正确修复 CVE-2012-5887,在 Tomcat DIGEST 身份验证实现中存在一个弱点。一个远程攻击者可以利用此漏洞在一些情况下执行重播攻击。另外,这个问题还阻止用户使用 DIGEST 身份验证进行身份验证。
安全修复
- CVE-2012-3546
- 它发现,当应用程序使用 FORM 身份验证时,以及调用 request.setUserPrincipal ()的另一个组件,在调用 FormAuthenticator"authenticate ()(如 Single-Sign-On valve)之前,可以通过将 "/j_security_check" 附加到 URL end 来绕过 FORM 验证器中的安全约束检查。对受影响的应用程序具有经过身份验证的会话的远程攻击者可能会利用此漏洞来绕过授权控制,因此访问与其经过身份验证的会话关联的角色不允许的资源。
- CVE-2012-4534
- 在使用 HTTP NIO (Non-Blocking I/O)连接器和 HTTPS 时 Tomcat 处理 sendfile 操作的方式中发现了一个安全漏洞。一个远程攻击者可以使用这个缺陷导致拒绝服务(infinite loop)。在 Red Hat Enterprise Linux 6 中默认使用 HTTP 阻塞 IO (BIO)连接器(不受此问题的影响)。
- CVE-2012-5885,CVE-2012-5886,CVE-2012-5887
- Tomcat DIGEST 身份验证实现中发现了多个弱点,有效降低 DIGEST 身份验证通常提供的安全性。一个远程攻击者可以利用这些漏洞在一些情况下执行重播攻击。
7.257. trace-cmd
程序错误修复
- BZ#746656
- trace-cmd extract 命令多次读取缓冲区,即使在 EOF 条件后也是如此。因此,trace-cmd 命令的输出包含重复的数据。在这个版本中,trace-cmd 工具已被修改,以遵守 EOF 条件并避免输出中数据重复。
- BZ#879792
- 使用延迟 tracer 时,不调用 start_threads ()函数。在不首先调用 start_threads ()的情况下调用 stop_threads ()函数会导致 trace-cmd record 命令使用分段错误终止,因为 PID 没有初始化。因此,trace.dat 文件不会被生成。在这个版本中,不会调用 stop_threads (),除非首先调用 start_threads ()。因此,不再发生分段错误。
功能增强
- BZ#838746
- 在以前的版本中,trace-cmd record 命令只能根据单个 PID 过滤 ftrace 数据。在这个版本中,可以使用 "-P" 选项指定多个 PID。
7.258. tuned
程序错误修复
程序错误修复
- BZ#714180
- Red Hat Enterprise Linux 6.1 及更新的版本进入处理器节能状态。这可能会导致某些工作负载出现较小的性能损失。在这个版本中,pmqos-static.py 守护进程已添加到 tuned 软件包中,它允许使用内核 Power Management QoS 接口设置请求的延迟。激活 "latency-performance" 配置集时,它会设置 cpu_dma_latency=0,这会使 CPU 处于 C0 状态,从而使系统尽可能响应。
- BZ#784308
- 当 ELEVATOR_TUNE_DEVS 选项设置为 /etc/sysconfig/ktune 文件中的磁盘设备,而不是提供磁盘调度程序控制文件时,调度程序设置不会写入到磁盘调度程序控制文件中,而是直接写入到磁盘设备文件中。因此,磁盘内容可能会被破坏。在这个版本中,会检查 ELEVATOR_TUNE_DEVS 的值,并且只允许写入磁盘调度程序控制文件。因此,在上述场景中检测到 ELEVATOR_TUNE_DEVS 的无效值,以便防止磁盘内容损坏。
- BZ#801561
- 当 tuned 守护进程在启用了 "enterprise-storage" 配置集的情况下运行,并且挂载了带有回写缓存的设备中的非引导磁盘分区时,使用"nobarriers"选项重新挂载分区。如果此时出现电源故障,则文件系统可能会损坏。有了这个更新,tuned 可以检测通过 SCSI 与内核通信的设备中的回写缓存使用情况。在这些情况下,"nobarriers"现已禁用,从而防止在上述场景中出现这个错误。
- BZ#845336
- 在以前的版本中,当 tuned 服务启动时,tuned PID 文件会使用全局可写权限创建。这个 bug 已被修复,/var/run/tuned/tuned.pid 文件现在会如预期使用正确的权限创建。
- BZ#847445
- 在激活了 "enterprise-storage" 配置集的热插磁盘设备的机器上,可以向系统添加新磁盘设备,或者可以将磁盘删除并重新插入。在这种情况下,在新添加的磁盘上不会应用配置集中的调度程序和 read-ahead 设置。在这个版本中,添加了一个新的 udev 规则,它会在添加新磁盘设备时重启 ktune 守护进程,从而修复这个程序错误。
- BZ#887355
- 透明巨页内核线程可能会影响对延迟敏感的应用程序。要降低延迟,现在 latency-performance tuned 配置集中禁用了透明巨页。
- BZ#886956
- 在以前的版本中,非 root 分区使用 "nobarrier" 选项重新安装,以提高性能。在虚拟客户机中,如果电源突然中断,这可能会导致数据崩溃,因为传输中通常存在主机缓存。这个 bug 已被修复,virtual-guest 配置集不再使用 "nobarrier" 重新挂载分区。
7.259. udev
7.259.1. RHBA-2013:0435 - udev 程序错误修复和功能增强更新
程序错误修复
- BZ#784697
- 在以前的版本中,/dev/disk/by-id 文件包含 cciss 设备的所有预期符号链接,但 /dev/disk/by-path/ 目录中只有一个设备链接。这个程序错误已被解决,这个文件现在包含所有符号链接。
- BZ#790321
- udev (7) man page 没有记录设备或符号链接名称中使用的黑名单字符的十六进制编码。在这个版本中,在 udev (7) man page 的 SYMLINK 部分添加了一个有关字符编码的段落。
- BZ#829188
- 由于 binutils 链接器中的一个错误,libudev 库会丢失 ExecShield (GNU_RELRO)部分,不受 ExecShield 安全机制的保护。这个版本包含 libudev,包含 ExecShield (GNU_RELRO)部分。
- BZ#838451
- 使用多路径设备时,udev 工具会尝试为所有不同路径创建一个 UUID 符号链接,但只有第一个路径成功。因此,udev 将几个 "File exists" 错误消息写入系统日志中。这个更新提供了一个补丁,用于更改这些消息,使其作为错误消息记录,以作为信息性消息。
- BZ#847925
- 当驱动器中没有插入任何介质时,cdrom_id 工具是 udev 帮助程序工具,无法读取 DV 和 CD-ROM 驱动器配置集。因此,驱动器的设备节点的 udev 属性可能不包含描述驱动器功能的所有属性,这可以防止使用 udev 数据库的其他软件来提供驱动器的所有功能。这个程序错误已被解决,驱动器的所有 udev 属性(cdrom_id 通过驱动器的属性检测到)现在按预期存储在该设备中。
功能增强
- BZ#826396
- 在以前的版本中,内核信息会显示设备名称而不是 udev 提供的持久性设备名称。因此,设备名称可能会指向每次引导的不同设备。此功能增强添加了一个新功能,它存储设备名称的映射,如 sda 或 sdb,以及持久的设备名称到内核信息。
7.260. usbredir
程序错误修复
- BZ#834560
- 由于 libusbredirhost 库中的一个错误,处理批量传输的超时无法正常工作。因此,USB ACM 串行端口设备的流量(如 PSTN modems 和 SmartCard readers)无法正确重定向。在这个版本中,这些设备在 usb-host 端没有设置超时,流量重定向可以正常工作。
- BZ#855737
- usbredir 代码分配无限数量的写缓冲区。因此,当 USB webcam 更快地生成数据时,写入队列会无限地增加,remote-viewer 工具使用了大量 RAM 数量。底层源代码已被修改,usbredir 现在会在队列太长时检查写入队列的大小,并丢弃数据数据包的大小。
功能增强
- BZ#842316
- 支持 SPICE USB 重定向的实时迁移需要支持状态序列化。在这个版本中,在 libusbredirparser 库中添加了这个缺少的支持。
7.261. util-linux-ng
安全修复
- CVE-2013-0157
- 在 mount 命令报告错误的方式中发现了一个信息披露漏洞。本地攻击者可以利用此漏洞来确定他们无法访问的文件和目录。
程序错误修复
- BZ#790728
- 在以前的版本中,如果第一个字节为零,blkid 工具会忽略交换区 UUID。因此,交换区域无法通过 UUID 解决;例如,来自
/etc/fstab
文件。libblkd 库已被修复,现在如果第一个字节为零,则交换分区会使用有效的 UUID 值进行标记。 - BZ#818621
- 在以前的版本中,ls lsblk 工具打开块设备来检查该设备是否处于只读模式,尽管
/sys
文件系统中提供了这些信息。这会导致意外的 SELinux 警报和不必要的open()
调用。现在,ls ls 工具不会执行不必要的打开操作,不再从/sys
文件系统读取信息。 - BZ#736245
- 在非统一 CPU 配置中,例如,在具有不同内核数的两个套接字的系统上,ls cpu 命令会意外地失败,并生成一个内核转储。在这个版本中,当在此类配置上执行 lscpu 命令时,会输出正确的结果,且不会生成内核转储。
- BZ#837935
- 在有大量活跃处理器的系统上,ls cpu 命令会意外失败,并会产生一个分段错误。这个程序错误现已解决,ls cpu 命令现在可以在此配置中按预期工作。
- BZ#819945
- 执行 hwclock --systz 命令以根据当前时区重置系统时间,从而导致时钟被一小时错误地调整。这是因为 hwclock 没有根据
settimeofday (2)
man page 中"warp clock"语义调整系统时间。在这个版本中,hw clock 可以正确地设置系统时间。 - BZ#845477
- 当在
/etc/fstab
文件和命令行中指定了 SElinux 选项时,挂载失败,内核会在运行 dmesg 时记录以下错误:SELinux: duplicate or incompatible mount options
SElinux 选项的处理已被修改,命令行上的选项现在可以替换/etc/fstab
文件中给定的选项,因此设备可以被成功挂载。 - BZ#845971
- 由于 mount 工具的搜索顺序的变化,在读取
/etc/fstab
文件时,mount 命令会在目录之前返回设备。在这个版本中,搜索顺序已被修改,挂载 现在可以正常工作。 - BZ#858009
- 在以前的版本中,任何由 telnet 客户端的新登录或注销序列都会导致
/var/run/utmp
文件通过 telnetd 机器上的一个记录来增加。因此,/var/run/utmp
文件会无限增长。由于尝试通过大型/var/run/utmp
文件进行搜索,运行telnetd
的机器可能会随着时间的推移遇到更严重的副作用。例如,telnetd
进程可能会变得无响应,或者整体系统性能可能会降级。在启动日志记录进程前,telnetd
现在会在/var/run/utmp
中创建正确的记录。因此,/var/run/utmp
不会在每次新登录或注销以tnet 会话序列的情况下增加。 - BZ#730891, BZ#783514, BZ#809139, BZ#820183, BZ#839281
- 软件包中包含的多个工具的 man page 已更新,以修复次要错误并为之前未记录的功能添加条目。
功能增强
- BZ#719927
- hwclock 有一个 new-
compare
选项,用于比较系统时间和硬件时钟之间的偏移量,因为 Red Hat Enterprise Linux 6.0 及更高版本中没有发布 adjtimex,后者以前提供了这个选项。 - BZ#809449
- lsblk 命令现在支持新选项,
以相反
顺序打印块设备之间的依赖关系。这个功能需要正确重启或使用配置的集群关闭系统。 - BZ#823008
- 显示可用 CPU 的详细信息的 lscpu 工具已更新,以包含许多新功能。另外,添加了一个新的实用程序 chcpu,允许用户更改 CPU 状态(在线或离线、待机或活跃状态)、禁用和启用 CPU,并配置指定的 CPU。有关这些工具的更多信息,请参阅
lscpu (1)
和chcpu (8)
手册页。
7.262. valgrind
程序错误修复
- BZ#730303
- 当在 valgrind 下运行大型程序时,"Valgrind: FATAL: VG_N_SEGNAMES 太低。"错误消息可以被返回。有了这个更新,编译时间常量已增加(VG_N_SEGMENTS 到 50000、VG_N_SEGNAMES 到 25000),这些错误将不再发生。
- BZ#862795
- 在以前的版本中,valgrind gdbserver 没有正确地报告 exit 或一个 fatal-signal 进程终止到 gdb debugger。因此,返回 "Remote connection closed" 错误信息。这个程序错误已在代码中解决,现在 gdb 中可以正确地报告进程终止。
- BZ#816244
- 在 IBM S/390 构架中,valgrind 会报告 "Conditional jump 或 move 取决于 glibc 中 tsearch ()函数的未初始化值(s) " 警告信息。这个版本包括不再报告这些警告信息的标准限制。
功能增强
- BZ#672959
- 添加了嵌入的 gdbserver,允许将 valgrind 与 gdb 调试器集成。
7.263. vgabios
7.263.1. RHBA-2013:0487 - vgabios 程序错误修复更新
错误修复
- BZ#840087
- 在以前的版本中,尝试在虚拟机中引导 Red Hat Enterprise Virtualization Hypervisor ISO 失败。引导菜单会出现,然后停止响应。底层源代码已被修改,虚拟机现在可以在上述场景中按预期工作。
7.264. virtio-win
程序错误修复
- BZ#750421
- 在此次更新之前,因为缺少可用内存,Windows Server 2003 客户机在重新启动时可能会暂停 balloon 大小。在这个版本中,在处理电源管理请求前向客户机释放内存。
- BZ#760022
- 在此次更新之前,virtio-win 软盘磁盘不包含 Windows XP 和 Windows 7 平台的 NDIS 驱动程序,因为 VFD 介质上缺少可用空间。这个版本修改了底层代码,并切换到 2.88 MB 介质,而不是 1.44 MB。
- BZ#768795
- 在此次更新之前,工作项目处理
inflate
和deflate
请求。因此,当同时执行多个请求时,可能会出现 stop 错误。在这个版本中,使用专用线程而不是工作项目来处理inflate
和deflate
请求。 - BZ#805423
- 在此次更新之前,端口 surprise-removal 处理程序没有停止并清除
写入和读取
写入和读取
队列,请求不再发送到删除的设备。 - BZ#807967, BZ#875155
- 在此次更新之前,在禁用并启用 virtio-net 驱动程序后,或重置电源管理时,virtio-net 驱动程序的初始化序列无法正常工作。因此,通过 DHCP 客户端发送的第一个数据包可以在队列中暂停,DHCP 客户端不会接收 IP 地址。在这个版本中,初始化序列已被修复,virtio-net 现在在上述场景中可以正常工作。
- BZ#814896
- 在以前的版本中,在恢复例程过程中,virtio 队列没有正确重新初始化。
因此,端口无法正确处理
读取
请求。在这个版本中,在休眠后恢复时为重新初始化添加了正确的虚拟队列。 - BZ#815295
- 在 Microsoft Windows 7 操作系统上,一个驱动程序忽略的平台请求,只代表一个 DPC 期间只有一定数量的数据包(延迟过程调用)。因此,Windows 硬件服务质量实验室(WHQL)测试失败,平台没有为 RX 路径中减少驱动程序工作负载。这个版本修改了底层代码,以实施数据包表示模式,并在上述场景中通过 WHQL 认证。
- BZ#824814
- 在此次更新之前,
viostor
驱动程序无法按预期处理配置更改事件。因此,当调整相关镜像在线调整大小时,viostor
会无人值守保留。在这个版本中,修改底层代码以在更改配置时重置总线序列,并且驱动程序现在可以识别该介质的大小已被调整大小。 - BZ#831570
- 在此次更新之前,工作项目处理
inflate
和deflate
请求。因此,可以使用 PnP 和电源管理(PM)处理程序同时执行inflate
和deflate
请求。在这个版本中,使用专用线程而不是工作项目,仅在所有其他待处理请求完成后处理 PnP 和 PM 请求。 - BZ#839143
- 在此次更新之前,
balloon
驱动程序无法在 hibernation-resume 循环和重启之间保留当前的气球大小。在这个版本中,重启和休眠周期之间保留当前的气球大小,并根据这个值调整 balloon 大小。
功能增强
- BZ#782268
- 这个更新向 virtio-win 软件包引入了 vioscsi.sys 驱动程序,以便为 Microsoft Windows 平台提供 virtio-scsi 功能。
- BZ#828275
- 在这个版本中,增加了对 virtio 控制队列的支持,来将 RX 过滤卸载到主机。
- BZ#834175
- 这个版本支持 IPv4 和 IPv6 之间用于 Windows 认证 2012 和 Windows 8 认证之间的所有可能的卸载组合和卸载。
- BZ#838005
- 在这个版本中,将 IPv6 的卸载添加到 virtio 软件包中。
- BZ#908163
- 这个版本将 Windows Server 2008 R2 虚拟机的虚拟软盘驱动器驱动器添加到 virtio 软件包中。
7.265. virt-manager
程序错误修复
- BZ#802639
- 在以前的版本中,virt-manager 工具的实时迁移对话框错误地描述了带宽单位为 "Mbps" 而不是 "MB/s"。在这个版本中,迁移对话框已被修改,以提供有关带宽单元的正确信息。
- BZ#824275
- 在此次更新之前,virt-manager 工具通过导入现有磁盘镜像创建新的客户虚拟机后,会发生不必要的重启。在这个版本中,提供了一个向后移植的上游补丁,virt-manager 在导入现有磁盘镜像后不再重启。
- BZ#872611
- 由于在 yum 和 rpm 程序之间解决依赖项的不同,virt-manager 软件包无法从 "noarch" 更新至较新的构架版本。在这个版本中,提供了一个补丁来将 noarch 版本标记为过时。现在,noarch 软件包可以在不复杂的情况下更新。
功能增强
- BZ#878946
- virt-manager 工具中默认启用"删除关联存储文件"选项。在文件删除前会显示警告消息,以通知用户有关此配置。
7.266. virt-top
程序错误修复
功能增强
7.267. virt-v2v
程序错误修复
- BZ#794680
- 在转换过程中,用来在各种客户机配置文件中重命名块设备的 virt-v2v 软件包,包括 /etc/fstab 文件。因此,当客户机的 /etc/fstab 文件引用 /etc/fd0 文件时,virt-v2v 工具会返回冗余警告信息,因为块设备不知道它。要解决这个问题,明确禁止有关软盘设备的警告信息,在这种情况下,virt-v2v 不再返回警告信息。
- BZ#803629
- 读取 libvirt 客户机时,virt-v2v 使用 libvirt 元数据来确定磁盘上的格式,仅考虑那些"dir"、"fs"和"netfs"类型。如果客户机使用不同类型的存储池,virt-v2v 会将这些数据解释为格式类型,这不能被 libvirt 客户机转换。为了解决这个程序错误,virt-v2v 现在只使用来自类型"dir"、"fs"和"netfs"的卷大小元数据,但所有其他存储池都只能包含原始数据,因此格式被假定为"raw"。因此,virt-v2v 现在可以使用任何支持的存储池类型转换 libvirt 客户机。
- BZ#838057
- 当创建新 libvirt 客户机时,virt-v2v 无法禁用磁盘缓存。因此,virt-v2v 创建的客户机将缓存用于其磁盘,除非在转换后用户明确禁用了。要解决这个问题,virt-v2v 现在在创建新 libvirt 客户机时明确禁用所有磁盘的缓存,virt-v2v 创建的客户机现在为所有磁盘都禁用缓存。如果在转换后需要,用户可以再次启用它。
- BZ#868405
- 当使用 libvirtxml 输入法读取客户机时,virt-v2v 会失败。现在,提供了一个补丁来修复这个程序错误,virt-v2v 现在可以使用 libvirtxml 在客户机上执行格式转换。
功能增强
- BZ#682945
- 在这个版本中,virt-v2v 可以在转换远程 libvirt 客户机时进行磁盘上的格式转换。请注意,当进行这种格式转换时,virt-v2v 必须在转换服务器上生成客户机存储数据的中间副本。其他类型的转换不需要转换服务器上的任何中间存储。用户必须确保 TMPDIR 临时目录有足够的空间用于这个中间副本。
7.268. virt-viewer
libvirt
,并旨在替代传统 VNC 或 SPICE 客户端。
程序错误修复
- BZ#814150
remote-viewer
和virt-viewer
工具都使用相同的常量来显示其使用情况消息。因此,当用户在 remote-viewer 命令中使用未知命令选项时,错误消息会引用 virt-viewer --help 命令而不是 remote-viewer --help 命令。有了这个更新,remote-viewer
和virt-viewer
代码已被修改,以便在与未知选项一起使用时,命令现在会返回正确的错误消息。- BZ#822794
- 当使用 virt-viewer -v 命令连接到 guest 且控制台已关闭时,命令提示符会在最后一行的末尾打印,而不是新行。在这个版本中解决了这个程序错误,命令提示符会被正确打印。
- BZ#832121
- 如果 XML listen 属性包含由冒号(“:”)和零(“0”字符)组成的字符串,
virt-viewer
不将字符串视为通配符地址,并且没有按预期创建适当的远程主机地址。因此,尝试使用这样的地址连接到远程主机会导致连接失败。在这个版本中,修改底层源代码,将上述字符视为通配符,virt-viewer
现在可以在上述场景中成功连接到远程主机。 - BZ#854318
- 由于 spice-gtk 软件包的最新上游版本的变化,
virt-viewer
会停止使用新的spice-gtk
模块。有了这个更新,virt-viewer 软件包已被重建,以便与这个新版本的spice-gtk
正常工作。 - BZ#856610
- 在以前的版本中,自动窗口调整大小选项无法与
remote-viewer
客户端正常工作。当禁用并重新启用自动窗口大小时,调整大小的窗口会更小。在这个版本中,提供了一个补丁来修复这个程序错误,自动窗口调整大小选项现在可以正常工作。 - BZ#856678
- 在某些非美国键盘布局中,使用 “Alt” 键和另一个字符的键盘快捷键,即使它们已在虚拟机中禁用。在这个版本中,会应用一个补丁,修复这个程序错误和键盘快捷方式会如预期禁用。
- BZ#864929
- 在以前的版本中,当
virt-viewer
客户端被调整到全屏时,virt-viewer 大小解析不能设置为比 monitor 的原生分辨率更高的分辨率。在这个版本中,用户可以设置比 monitor 的原生解析更高的分辨率。 - BZ#867248
- 当连接到 SPICE 客户机且用户首先输入不正确的图形密码时,稍后尝试使用正确的密码进行连接失败,
virt-viewer
工具意外终止。这个版本修改了底层代码,以便在上述场景中virt-viewer
不再崩溃。 - BZ#867459
- 当连接到 Red Hat Enterprise Virtualization 门户且
remote-viewer
客户端从XPI
插件启动时,客户端会意外终止并出现分段错误。这个版本修改了底层代码,并应用补丁来解决这个问题,以便remote-viewer
现在可以正常工作。 - BZ#881020
- 在以前的版本中,当使用
remote-viewer
显示具有多个物理的虚拟机的多个屏幕时,在某些情况下,remote-viewer
只能在单个remote-viewer
窗口中显示一个屏幕,另一个屏幕已断开连接。在这个版本中,底层代码已被修改,所有物理显示现在都会在相应的remote-viewer
窗口中正确显示。
功能增强
- BZ#828339
- 此增强提供了 new-
title
选项,允许用户指定在 remote-viewer 窗口标题栏中显示的标题。 - BZ#842305
- 在这个版本中,
virt-viewer
工具支持SpiceMonitorsConfig
显示消息。 - BZ#865793
virt-viewer
工具现在可以处理来自 Red Hat Enterprise Virtualization 门户的请求,以启用或禁用将 Ctrl+Alt+Delete 组合传递给客户端操作系统。- BZ#875126
- 屏幕截图目前只能以 PNG 格式保存。在这个版本中,如果缺少 “.png” 后缀,则会自动添加到屏幕截图文件名中。
7.269. virt-what
7.269.1. RHEA-2013:0483 - virt-what 增强更新
功能增强
- BZ#829427
- 此增强向 virt-what 工具添加了对 Virtage 硬件分区系统的支持。
7.270. virt-who
程序错误修复
- BZ#825215
- 在以前的版本中,当运行 virt-who 服务时,从 Subscription Asset Manager (SAM)服务器取消注册 Red Hat Enterprise Virtualization Hypervisor 主机会导致服务使用以下信息终止:
SubscriptionManagerError: No such file or directory Error in communication with candlepin, trying to recover Unable to read certificate, system is not registered or you are not root
应该仅显示上述消息的最后一行。这个程序错误已被解决,追溯错误现在被保存到日志文件中,且不会在屏幕上打印。 - BZ#866890
- 当在 Microsoft Hyper-V 服务器中创建虚拟机(VM)的快照时,virt-who 代理会将虚拟机文件的 UUID 替换为快照的 UUID。这个程序错误已被解决,在上述情况下 UUID 不会改变。另外,在某些情况下,使用 "--hyperv" 命令行选项运行的 virt-who 代理会用以下信息终止:
AttributeError: HyperV instance has no attribute 'ping'
这个程序错误已被解决,上面提到的错误不再发生。 - BZ#869960
- 在以前的版本中,当一个 URL (在 VIRTWHO_ESX_SERVER 参数中设置)缺少初始"https://"字符串时,virt-who 代理无法正常工作。在这个版本中,virt-who 已被修改,VIRTWHO_ESX_SERVER 中不再需要 "https://"。
功能增强
- BZ#808060
- 在这个版本中,virt-who 代理已被修改,作为前台进程启动,并将错误消息或调试输出("-d"命令行选项)输出到标准错误输出。此外,以下命令行选项已被改进:"-o"选项提供 one-shot 模式,并在发送客户机列表后退出;"-b"选项和"service virt-who start"命令等效在后台启动,并将数据发送到 /var/log/ 目录。
- BZ#846788
- virt-who 代理已被修改来支持 Red Hat Enterprise Virtualization Manager 轮询。
- BZ#860854
- 在这个版本中,virt-who 代理已被修改,以正确地识别安装在 Microsoft Hyper-V Server 上的客户虚拟机。
- BZ#868149
- virt-who 手册页以及 "virt-who --help" 命令的输出已使用明确的信息进行了增强。此外,两个文本中已更正了拼写错误。
7.271. wdaemon
错误修复
- BZ#852332
- 由于损坏的 %postun scriptlet,尝试卸载 wdaemon 会导致出错信息。这个错误消息也会在 wdaemon 更新过程中发生,因为旧软件包在更新过程中被删除。因此,在更新后,wdaemon 服务不会重启。%postun scriptlet 已被修复,wdaemon 在这种情况下可以正常工作。
功能增强
- BZ#838752
- 此功能增强添加了对 Wacom Intuos5 平板电脑系列的支持。
7.272. wget
7.272.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.
7.273. wpa_supplicant
程序错误修复
- BZ#813579
- 当从一个接入点(AP)到另一个访问点,且连接中断时,NetworkManager 并不总是自动重新连接。这个版本包括多个向后移植的上游补丁,用于改进主动密钥缓存(PKC),也称为 Opportunistic Key Caching (OKC)。因此,WPA 连接现在更可靠。
- BZ#837402
- 在以前的版本中,supplicant 会尝试 roam 稍有更强大的接入点,从而增加了断开连接的机会。这个程序错误已被解决,当当前信号显著降低时,supplicant 只会尝试 roam 访问点。
功能增强
- BZ#672976
- "wpa_gui"程序已从 6.0 发行版本中的 "wpa_supplicant" 中删除,但根据 BZ#553349,但仍然安装 man page。此升级删除了 man page。
7.274. x3270
7.274.1. RHBA-2013:0383 - x3270 程序错误修复更新
错误修复
- BZ#801139
- 在此次更新之前,x3270 模拟器无法支持双字节字符集(DBCS)。因此,日语的字符设置选项被禁用。在这个版本中,修改底层代码以启用 DBCS,并添加 icu 软件包作为依赖项。现在,日语字符集再次可用。
7.275. xfsdump
7.275.1. RHBA-2013:0482 - xfsdump 程序错误修复更新
错误修复
- BZ#860454
- 借助 Red Hat Enterprise Linux 6.4,XFS 已被改进,允许使用 32 位项目配额 ID 功能。但是,使用 xfsdump 和 xfsrestore 工具正确保存和恢复 32 位项目配额 ID 的前 16 位。这会导致使用不正确的 16 位项目配额 ID 保存和恢复数据。在这个版本中,底层源代码已被修复,xsfdump 和 xfsrestore 都会正确保存并恢复所有 32 位的项目配额 ID。
7.276. xfsprogs
程序错误修复
- BZ#730433
- 当为条带指定 mkfs.xfs 工具的手动几何结构以及计算分配组数目和大小时,mkfs.xfs 可能会在失败时发出混淆的错误消息。在这个版本中,会返回更标准化和说明性的错误消息。
- BZ#836433
- 当扇区大小没有由 "-f" 选项指定时,mkfs.xfs 工具默认使用 512 字节扇区大小,即使有 4 个 Kb 物理扇区。在这个版本中,mkfs.xfs 可以正确地识别上述场景中的扇区大小,从而解决了这个问题。
- BZ#878859
- 当尝试在没有启用此功能的 XFS 文件系统上设置 32 位配额项目 ID 时,命令会返回成功,但将项目 ID 截断为较低的 16 位。在这个版本中,除非启用了 32 位项目 ID 功能,否则无法设置超过 16 位的项目 ID。
功能增强
- BZ#827186
- 在这个版本中,mkfs.xfs 可以在指定了 "-i projid32bit=1" 参数的文件系统上启用 32 位项目配额 ID。如果没有此参数,mkfs.xfs 默认为 16 位项目配额 ID。可以使用 "xfs_admin -p" 命令在现有文件系统上启用 32 位项目配额 ID。
7.276.2. RHBA-2013:0987 - xfsprogs 程序错误修复更新
程序错误修复
7.277. xinetd
安全修复
- CVE-2012-0862
- 当使用"TCPMUX"或"TCPMUXPLUS"类型配置 xinetd 服务,并且启用了 tcpmux-server 服务,则可以通过端口 1 访问这些服务。找到,启用 tcpmux-server 服务(默认为禁用)允许每个 xinetd 服务(包括没有使用"TCPMUX"或"TCPMUXPLUS"类型配置的服务)可以通过端口 1 访问。这可能会允许远程攻击者绕过预期的防火墙限制。
程序错误修复
- BZ#790036
- 在此次更新之前,service.c 源文件中的文件描述符数组不会被按预期处理。因此,当 xinetd 负载过重时,一些描述符仍然处于打开状态。另外,系统日志会填充大量磁盘空间,但随着时间的推移会占用大量磁盘空间。这个版本修改了 xinetd 代码,以正确处理文件描述符,消息不再填充系统日志。
- BZ#809271
- 在以前的版本中,当达到 CPS 限制时,服务会被永久禁用。因此,当 xinetd 尝试重启该服务时,可能会出现失败的 bind 操作。在这个版本中,添加了尝试重启该服务的额外逻辑。现在,只有在 xinetd 在 30 次尝试后无法重启该服务时,该服务才会禁用。
7.278. X.Org Legacy Input Drivers
软件包名称 | 上游版本 | BZ NUMBER |
---|---|---|
xorg-x11-drv-acecad | 1.5.0 | 835212 |
xorg-x11-drv-aiptek | 1.4.1 | 835215 |
xorg-x11-drv-elographics | 1.4.1 | 835222 |
xorg-x11-drv-fpit | 1.4.0 | 835229 |
xorg-x11-drv-hyperpen | 1.4.1 | 835233 |
xorg-x11-drv-keyboard | 1.6.2 | 835237 |
xorg-x11-drv-mouse | 1.8.1 | 835242 |
xorg-x11-drv-mutouch | 1.3.0 | 835243 |
xorg-x11-drv-penmount | 1.5.0 | 835248 |
xorg-x11-drv-void | 1.4.0 | 835264 |
7.279. xorg-x11-drv-ati
7.280. xorg-x11-drv-evdev
7.281. xorg-x11-drv-intel
7.282. xorg-x11-drv-nouveau
7.283. xorg-x11-drv-qxl
程序错误修复
7.284. xorg-x11-drv-synaptics
7.285. xorg-x11-drv-vmmouse
7.286. xorg-x11-drv-wacom
程序错误修复
- BZ#859851
- 由于输入驱动程序中的一个错误,覆盖 Wacom Intuos5 图形平板电脑上的 Expresskeys,从而导致假的 stylus 跳转到左上(0,0)。这个程序错误已被解决,上面描述的问题不再发生。
- BZ#862939
- 在以前的版本中,带有两个包含相同输入节点的设备的 xorg.conf 配置文件会导致 X 服务器的双可用错误和后续失败。在这个版本中,xorg.conf 已被修复,服务器崩溃现在会被阻止。
功能增强
- BZ#838751
- 在这个版本中,在 xorg-x11-drv-wacom 软件包中添加了对 Wacom Intuos5 系列图形平板电脑的支持。
- BZ#857088
- 在这个版本中,在 xorg-x11-drv-wacom 软件包中添加了对 Wacom Cintiq 22HD 系列图形平板电脑的支持。
7.287. xorg-x11-server
程序错误修复
- BZ#608076
- 当 GNOME 声音卷小程序配置为在按 "mute", "volume up" 或 "volume down" 硬件按钮后变为弹出时,这会导致在双监控器配置中出现图形 glitch。现在,屏幕 glitch 不再出现。
- BZ#745033
- 当在全屏模式下打开 spice-client 时,客户端屏幕包含一个静态镜像,直到它切换到窗口模式为止。现在,当以全屏模式打开时,静态镜像不再会出现。
- BZ#816347
- 当屏幕保存器启动到 fade 时,按键不会中断 fade,且不会立即显示解锁屏幕。现在,按键可停止屏幕。
- BZ#829321
- NULL pointer dereference 会导致 X.Org 在某些服务器上意外终止并出现分段错误。这个错误已被修复,X.Org 不再在这些服务器上崩溃。
- BZ#837073
- 当鼠标移到 VNC 窗口时,服务器中无效的指针解引用会导致服务器意外终止并带有分段错误。在 VNC 窗口中移动鼠标时,不再崩溃。
- BZ#853236
- KVM 进程无法访问 X 服务器,因为非 root 用户无法读取"/usr/bin/Xorg"二进制文件。现在,所有用户都可以读取二进制文件,KVM 客户机都可以访问主机操作系统。
- BZ#858005
- 转换列表用于将设备绑定到屏幕上的特定区域。未初始化的设备转换列表会导致指针跳到某些设备上屏幕的左上角。在这个版本中,转换列表会被正确初始化,指针设备移动可以正常工作。
- BZ#863913
- 禁用设备上的 X 输入扩展(XI 1.x) grab 会导致 NULL pointer dereference 错误,导致服务器意外终止。目前,XI 1.x grab 功能正常,X 服务器不再崩溃。
- BZ#864054
- 重新配置屏幕时,服务器会更新一些内部字段,以便在设备绑定到特定屏幕时调整输入设备协调扩展。NVIDIA 二进制驱动程序无法访问这些内部方法,无法在更改输出配置时更新这些字段。现在,为驱动程序导出一个新的 API,OpenID 驱动程序现在可以更新 server-internal 字段。
- BZ#868054
- 跨非 Xinerama 设置的指针屏幕会导致鼠标指针在第一个屏幕上换行,而不是移到第二个屏幕。现在,鼠标指针可以在非 Xinerama 设置上的两个屏幕之间移动。
- BZ#883206
- 在使用 Intel、ATI 或 Nouveau 驱动程序的服务器上运行 xrestop 会导致服务器意外终止并出现分段错误。现在,用户可以在这些服务器上运行 xrestop,而不会崩溃。
安全修复
- CVE-2013-4396
- 在 X.Org 服务器处理 ImageText 请求的 X.Org 服务器的方式中发现了一个 use-after-free 漏洞。一个恶意的授权客户端可能会使用这个缺陷使 X.Org 服务器崩溃,或者可能使用 root 权限执行任意代码。
7.288. xorg-x11
7.288.1. RHEA-2013:0301 - xorg-x11 驱动程序增强更新
软件包名称 | 上游版本 | BZ number |
---|---|---|
xorg-x11-drv-apm | 1.2.5 | 835216 |
xorg-x11-drv-ast | 0.97.0 | 835217 |
xorg-x11-drv-cirrus | 1.5.1 | 835219 |
xorg-x11-drv-dummy | 0.3.6 | 835220 |
xorg-x11-drv-fbdev | 0.4.3 | 835228 |
xorg-x11-drv-geode | 2.11.13 | 835230 |
xorg-x11-drv-glint | 1.2.8 | 835231 |
xorg-x11-drv-i128 | 1.3.6 | 835234 |
xorg-x11-drv-i740 | 1.3.4 | 835235 |
xorg-x11-drv-mach64 | 6.9.3 | 835239 |
xorg-x11-drv-mga | 1.6.1 | 835240 |
xorg-x11-drv-neomagic | 1.2.7 | 835244 |
xorg-x11-drv-nv | 2.1.20 | 835246 |
xorg-x11-drv-openchrome | 0.3.0 | 835247 |
xorg-x11-drv-r128 | 6.9.1 | 835250 |
xorg-x11-drv-rendition | 4.2.5 | 835251 |
xorg-x11-drv-s3virge | 1.10.6 | 835252 |
xorg-x11-drv-savage | 2.3.6 | 835253 |
xorg-x11-drv-siliconmotion | 1.7.7 | 835254 |
xorg-x11-drv-sis | 0.10.7 | 835255 |
xorg-x11-drv-sisusb | 0.9.6 | 835256 |
xorg-x11-drv-tdfx | 1.4.5 | 835258 |
xorg-x11-drv-v4l | 0.2.0 | 835260 |
xorg-x11-drv-trident | 1.3.6 | 835259 |
xorg-x11-drv-vesa | 2.3.2 | 835261 |
xorg-x11-drv-vmware | 12.0.2 | 835263 |
xorg-x11-drv-voodoo | 1.2.5 | 835265 |
xorg-x11-drv-xgi | 1.6.0 | 835267 |
xorg-x11-drivers | 7.3 | 835285 |
7.289. xorg-x11-xkb-utils
7.290. yaboot
错误修复
- BZ#871579
- 在此次更新之前,faboot 加载程序在 fdisk 分区表中默认使用的最大块大小为 512 字节。因此,yaboot 无法在使用 4 KB 分区格式化的磁盘中载入内核。在这个版本中,MAX_BLOCK_SIZE 值扩展到 4 KB,以允许使用高级格式的磁盘。
功能增强
- BZ#822657
- 在这个版本中,增加了对网络引导和安装的 VLAN 支持,以允许桥接网络中的多个 VLAN 共享相同的物理网络链接,但保持隔离。
7.291. ypbind
7.291.1. RHBA-2013:0426 - ypbind 程序错误修复更新
错误修复
- BZ#647495
- 在此次更新之前,ypbind 在引导序列中启动太晚,这会导致某些环境中出现问题,在 netfs 之前启动它。在这个版本中,更改 ypbind 服务的优先级。现在,ypbind 会如预期启动。
7.292. ypserv
7.292.1. RHBA-2013:0330 - ypserv 程序错误修复更新
程序错误修复
- BZ#790812
- 在此次更新之前,NIS 服务器在服务器域中不存在数据库请求后返回 "0" (YP_FALSE)而不是 "-1" (YP_NOMAP)。此行为导致 autofs 挂载尝试在 Solaris 客户端上失败。在这个版本中,返回值已被修复,autofs 挂载不再在 Solaris 客户端上失败。
- BZ#816981
- 在以前的版本中,当 crypt ()函数返回 NULL 时,yppasswd 工具无法正确识别返回值。这个 bug 已被修复,NULL 返回值 crypt ()现在已被 yppaswd 正确报告。
- BZ#845283
- 在以前的版本中,在解析 XDR 请求时,ypserv 工具分配了大量虚拟内存,但在请求没有成功解析时无法释放该内存。因此,会发生内存泄漏。在这个版本中,提供了一个补丁,以便在解析请求失败时释放已经分配的内存。因此,内存泄漏不再发生。
- BZ#863952
- 在以前的版本中,yppush (8)手册页没有描述如何更改 yppush 工具的设置。手册页已被修改,用于指定可以在 /var/yp/Makefile 文件中更改设置。
7.293. yum-rhn-plugin
程序错误修复
- BZ#789092
- 在以前的版本中,yum-rhn-plugin 会忽略为 yum 设置的超时值。在某些情况下,网络较慢,这可能会导致 yum 在与 Red Hat Network 通信时超时。现在,yum-rhnplugin 会按为所有 yum 存储库设置的超时进行 abide。
- BZ#802636
- 在以前的版本中,当出现错误时,check-update 工具可能会错误地返回一个 0 错误代码。在这个版本中,如果发生错误,则返回 "1"。
- BZ#824193
- 在此次更新之前,在 Red Hat Enterprise Linux 6 系统上使用 yum-rhn-plugin 工具应用自动更新可能会失败,并显示 "empty transaction" 错误消息。这是因为 yum-rhn-plugin 元数据的缓存版本不是最新的。有了这个更新,yum-rhn-plugin 下载新的元数据(如果可用),确保所有软件包都可用于下载。
- BZ#830219
- 在以前的版本中,yum-rhn-plugin 中的消息传递只针对 Red Hat Network Classic 场景。这个更新给出了什么源 yum-rhn-plugin 接收更新,以减少混淆。
- BZ#831234
- 在此次更新之前,如果第一个选项失败,yum-rhn-plugin 无法正确尝试提供的备用服务器 URL。在这个版本中,确保正确处理故障转移的情况。
7.294. yum
7.294.1. RHBA-2013:0406 - yum 程序错误修复和功能增强更新
程序错误修复
- BZ#674756
- 在运行 yum localinstall 命令时,各种 需要,obsoletes, 和 conflicts 的情况没有被正确处理,从而导致软件包安装使用不同的 Yum 命令不一致。底层源代码已被修改,Yum 可以正确解析上述所有情况。
- BZ#727553
- 当尝试在命令行上执行 yum update --skip-broken 命令时,软件包依赖项解析永远不会结束。现在,这个程序错误已被解决,在执行 yum update --skip-broken 命令后可以成功解决依赖项。
- BZ#802462
- 创建新的 yum history 文件后,yum history stats 命令会失败,并显示回溯,而不是报告实际错误。现在,这个程序错误已被解决,当 yum history stats 命令在创建新 yum history 文件后失败时,它会显示错误消息。
- BZ#815568
- 在以前的版本中,当运行 yum makecache 命令时,后跟 yum -C updateinfo 命令,第二个命令将无法执行,因为 updateinfo 文件已被 yum makecache 下载,它被解压缩,并被视为 yum -C updateinfo 不可用。现在,这个程序错误已被解决,yum -C updateinfo 可以正常工作。
- BZ#834159
- 在以前的版本中,当尝试从存储库安装过时的软件包时,Yum 会报告 Nothing to do 而不是提供 "obsolete" 错误消息。现在,这个程序错误已被解决,Yum 现在可以正确地警告用户过时的软件包。
- BZ#840543
- 在以前的版本中,当 yum upgrade 命令无法执行时,Yum 会显示误导 Protected multilib 版本 错误消息,而不是准确的信息。现在,这个问题已被解决,如果 Yum 失败,它会显示正确的错误消息。
- BZ#872518
- 当 Yum 由常规用户执行时,Yum 会下载元数据,即使"root"元数据是最新的。现在,这个问题已被解决,如果"root"元数据为最新版本,Yum 不会下载不必要的数据。
- BZ#809117
- 已修复 yum (8) man page 中的拼写错误。
- BZ#878335
- 在更新 createrepo 工具后,执行 createrepo --update 命令的时间会非常长。这个版本减少了执行 createrepo --update 命令的时间。
- BZ#737173
- 在以前的版本中,当使用 yum-security 插件提供的 yum updateinfo 命令时,Yum 不会合并多个存储库的版本信息。这可以防止无法安装多个仓库中的软件包的最新版本。现在,当从多个存储库安装软件包时,Yum 只会安装最新的可用软件包。
- BZ#819522
- 在以前的版本中,当尝试重新安装不可用的软件包且执行失败时,退出代码的值为 0。现在,这个程序错误已被解决,当重新安装不可用的软件包失败时,它会返回一个退出代码,值为 1。
- BZ#820674
- 在以前的版本中,当使用 yum-debug-restore 命令恢复多个安装软件包时,Yum 会尝试保持同时安装的软件包的限制,并删除系统中存在的软件包。此外,Yum 恢复了多个软件包,但假定将只安装一个软件包。现在,yum 的
installonly_limit
配置决定在同时安装多个项目时正确安装和删除的内容。使用 yum shell 和 yum-debug-restore 等命令时会注意这一点。 - BZ#858844
- 当使用
yum.yumBase().update()
功能指定特定软件包的软件包名称、版本和/或发行版本时,函数会终止,且无法更新上述变量。这个程序错误已被解决,yum.yumBase().update()
功能可以成功指定软件包名称、版本和发行版本。 - BZ#868840
- 在以前的版本中,当在更新具有依赖项的软件包时尝试解析依赖项时,Yum 会进入一个循环,并在执行 yum update 命令后没有安装软件包。在这个版本中,yum update 命令处理带有预期依赖项的软件包。
- BZ#880968
- 由于在输入带有不正确的子命令的命令后,Yum 会执行不正确的操作的优先级,Yum 在确认拼写错误前执行了一系列不必要的操作。这个程序错误已被解决,yum 在上述场景中执行一个立即的语法检查。
- BZ#887935
- 当通过 update_md.UpdateNotice ()方法生成 updateinfo.xml 时,yum API 只考虑 "issued date" 元素,并忽略 更新的 date 元素。现在,用于 "updated date" 元素的 yum API 帐户会在 XML 文件中显示 "updated date" 元素。
- BZ#885159
- 在以前的版本中,用户不会通知不同的证书文件具有相同 basename 的不同证书文件,这可能会导致各种问题。有了这个更新,Yum 会检查此类重复的证书文件,并适当地显示错误消息。
功能增强
7.295. zlib
7.295.1. RHBA-2013:0398 - zlib 程序错误修复和功能增强更新
错误修复
- BZ#754694
- 由于缺少 zlib 版本的信息,使用 zlib 的一些应用程序无法正常工作。zlib.map 版本脚本(提供版本信息)已添加到底层源代码中,zlib 现在可以按预期工作。
功能增强
- BZ#823007
- 此功能增强优化 IBM System z 的 zlib 压缩库。
7.296. gnome-power-manager
错误修复
- BZ#912270
- 当节能功能(在空闲时显示)启用"在线电池"模式并且手动调整了亮度功能时,保持笔记本电脑的空闲会导致它忘记自定义亮度设置。目前,"im display when idle"功能被默认禁用,笔记本电脑则记得自定义亮度设置。
7.297. ghostscript
错误修复
- BZ#920251
- 由于复制 CIDFontType 2 字体的功能中有一个错误,文档转换有时会导致 ps2pdf 实用程序意外终止并出现分段错误。已提供了一个补丁来解决这个问题,以便函数现在可以正确复制字体,ps2pdf 在上述场景中不再崩溃。
7.298. boost
7.298.1. RHBA-2013:0692 - 增强程序错误修复更新
错误修复
- BZ#921441
- 用户在尝试构建 MongoDB 时遇到了问题,因为增强版本(1.41)默认是在 Red Hat Enterprise Linux 6.4 上安装的,违反了 GCC 版本(4.4.7)的编译规则的代码。之前版本的 GCC 没有检查 boost 代码中的错误,这会导致构建对于包括 boost/thread.h 头文件的任何项目都失败。在这个版本中,通过明确拼写 boost::exception_ptr 类的完整 destructor 定义,之前的版本现在与版本 4.4.7 完全兼容。
7.299. coreutils
7.299.1. RHBA-2013:0703 - coreutils 程序错误修复更新
错误修复
- BZ#924711
- "tail -f"命令使用 inotify 跟踪文件中的更改。对于远程文件系统 [-/,] inotify 不可用。对于未知文件系统,如 panasas,"tail -f"失败,而不是回退到轮询。现在,已知文件系统列表已被更新,"tail -f"已被修改,以回退到对未知文件系统进行轮询。因此,"tail -f"现在可以正常工作,即使是在未知文件系统中,只有有关未知文件系统的警告,回退到轮询。
7.299.2. RHBA-2013:0858 - coreutils 程序错误修复更新
错误修复
- BZ#963327
- 当解析文件内容且字段末尾使用过时的密钥格式(+POS -POS)指定时,排序实用程序会错误地确定字段的末尾,因此生成不正确的输出。在这个版本中解决了解析逻辑,在使用这些过时的密钥格式时与 "-k" 选项的使用匹配。sort 工具现在返回预期的结果。
7.300. esc
7.300.1. RHBA-2013:0735 - esc 程序错误修复更新
错误修复
- BZ#922646
- 当系统上安装了 XULRunner 运行时环境的最新 17 系列版本时,ESC 工具不会启动。这个版本包括必要的更改,以确保 ESC 与 XULRunner 的最新版本正常工作。
7.301. gzip
7.301.1. RHBA-2013:0862 - gzip 程序漏洞修复更新
错误修复
- BZ#963195
- O_NONBLOCK 标志最近添加到 open ()系统调用。因此,gzip 不会阻止打开由 SGI 数据迁移设施(DMF)管理的奇偶校验(PAR)和 Ots File List (OFL)文件。处理此类文件会导致 gzip 中止或损坏输出文件。在这个版本中,如果试图读取带有 O_NONBLOCK 标志的文件失败,并显示 EAGAIN 错误代码,则在没有 O_NONBLOCK 的情况下重新读取该文件。在这种情况下,gzip 工具不再中止或生成损坏的输出文件。
7.302. cluster
错误修复
- BZ#1001504
- 在此次更新之前,如果一个 gfs2_tool、gfs2_quota、gfs2_grow 或 gfs2_jadd 命令被意外终止,则这些工具使用的临时 GFS2 元数据挂载点可以被挂载。挂载点也没有在 /etc/mtab 文件中注册,因此"umount -a -t gfs2"命令不会卸载它。这个挂载点可能会阻止系统正常重新引导,并在正常的 GFS2 挂载点后手动卸载它时导致内核 panic。在这个版本中,为临时挂载点创建一个 mtab 条目修正了这个问题,它会在收到信号时退出前卸载它。
错误修复
- BZ#982700
- 在以前的版本中,cman init 脚本无法正确处理其锁定文件。在节点重启过程中,这可能会导致节点本身被其他成员从集群中驱除。在这个版本中,cman init 脚本可以正确处理锁定文件,且集群的其他节点不会采取隔离操作。
7.303. crash-gcore-command
错误修复
- BZ#968897
- VDSO 和 vsyscall 页面不包含在生成的进程内核转储中,因为 Red Hat Enterprise Linux 6 内核中的向后移植 madvise/MADV_DONTDUMP 发生了变化。在这个版本中,VDSO 和 vsyscall 页面包含在生成的内核转储中。
7.304. cups
7.304.1. RHBA-2013:1163 - cups 程序错误修复更新
错误修复
- BZ#994480
- 对于使用"ipp"后端的队列,包含多个文件的打印作业之前被视为,当作业传输到远程 IPP 系统时,所有文件的格式与作业中的第一个文件相同。这个问题已通过将每个文件声明为具有未知文档格式("application/octet-stream")用于多个文件作业来解决,并将格式检测留给远程 IPP 系统。
7.305. busybox
7.305.1. RHBA-2013:1165 - busybox 程序错误修复更新
错误修复
- BZ#981178
- 在此次更新之前,"mknod"命令无法使用大于 255 的主号或次号创建设备节点。因此,kdump 工具无法处理这样的设备。底层源代码已被修改,现在可以使用"mknod"命令创建大于 255 的主或次号的设备节点。
7.306. authd
错误修复
- BZ#994118
- 如果 authd 在读取 /proc/net/tcp 条目时遇到负的 UID,那么它会停止读取,并且无法识别它正在查找的连接。因此,authd 返回一个 " non-existent user" 错误响应。在这个版本中,修改 authd 中负 UID 值的处理,authd 可以正确地报告有效的用户。
7.307. db4
7.307.1. RHBA-2013:1258 - db4 程序错误修复更新
错误修复
- BZ#1005826
- 由于 mutex 初始化调用的顺序不正确,rpm 工具在某些情况下会变得无响应,直到终止为止。在这个版本中,mutex 初始化调用的顺序已被修改。因此,rpm 工具不再变得无响应。
7.308. chkconfig
错误修复
- BZ#1007372
- 在以前的版本中,当 /etc/init.d 目录不可读时,readServices ()函数会返回一个错误的值。因此,会发生分段错误。在这个版本中,当 /etc/init.d 目录不可读时,readServices () 函数可以正确地检测到情况,并使用失败消息退出。因此,不再会发生分段错误。
7.309. abrt
7.309.1. RHBA-2013:1289 - abrt bug fix update
程序错误修复
- BZ#968345
- 在以前的版本中,尝试使用 "--system-site-packages" 选项创建 Python virtualenv 环境会导致在 site.py ()函数尝试加载 abrt_exception_handler 软件包时异常。这是因为 Python 试图加载一个brt.pth 文件,在其中导入了 abrt_exception_handler 模块。由于 abrt_exception_handler 模块安装在 /usr/lib64 目录下,并且 abrt.pth 文件安装在 /usr/lib 目录下,因此 site.py ()函数没有找到所需的模块。在这个版本中,将 abrt.pth 文件移到特定于架构的文件夹,因此在 32 位系统中,把一个 /usr/lib/python2.7/site-packages/ 目录和 64 位系统移到 /usr/lib64/python2.7/site-packages/ 目录中,这样可更正此问题。
- BZ#1002856
- 在此次更新之前,尝试使用 ABRT 报告 Bugzilla 服务器中的错误,返回以下远程过程调用(RPC)错误消息:"fatal: RPC failed at server。请求的方法 'bugzilla.getBug' 未找到"。因此,没有创建 Bugzilla 票据,且不会报告错误。在这个版本中,代码更改为使用新的 XMLRPC 调用,并且最新版本的 ABRT,Bugzilla 票据会被创建且没有任何问题。
7.310. pcs
7.310.1. RHEA-2013:0655 - pcs bug fix update
错误修复
- BZ#915585
- 在检查 Pacemaker 集群的配置时,"pcs config"命令不会显示配置为 master 和 slave 资源的资源。因此,用户必须直接分析 CIB 以查看配置的 master 和 slave 资源及其选项。在这个版本中,提供了一个补丁来解决这个问题,因此 "pcs config" 命令现在显示所有资源,包括 master 和 slave 资源。
7.311. expect
7.311.1. RHBA-2013:1497 - 期望程序错误修复更新
错误修复
- BZ#1025202
- 在此次更新之前,"expect"工具会在与"re"选项一起使用时泄漏内存,其内存用量会无限期增加。现在,提供了一个补丁来修复这个错误,"expect"内存用量现在稳定且没有任何泄漏。
7.312. dbus-glib
安全修复
- CVE-2013-0292
- 当收到 "NameOwnerChanged" 信号时,dbus-glib 会过滤消息发送者(消息源主题)。这可能会欺骗使用 dbus-glib (如 fprintd)的系统服务,以代替一个特权进程发送信号(如果它没有)。本地攻击者可以利用此漏洞升级其权限。
7.313. java-1.7.0-openjdk
安全修复
- CVE-2013-0809
- 在处理特定示例模型实例的 2D 组件过程中发现了一个整数溢出缺陷。专门设计的示例模型实例可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
- CVE-2013-1493
- 发现,2D 组件没有正确拒绝某些不正确的镜像。特制的 raster 参数可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
安全修复
- CVE-2013-5782
- 在 2D 组件原生镜像解析代码中发现多个输入检查漏洞。专门制作的图像文件可能会触发 Java 虚拟机内存损坏,并可能导致具有运行 Java 虚拟机的用户特权执行任意代码。
- CVE-2013-5830
- 类加载程序没有正确检查软件包对非公共代理类的访问。远程攻击者可以利用此缺陷来执行具有运行 Java 虚拟机权限的用户的任意代码。
- CVE-2013-5829,CVE-2013-5814,CVE-2013-5817,CVE-2013-5842,CVE-2013-5850,CVE-2013-5838
- 在 OpenJDK 中的 2D、CORBA、JNDI 和 Libraries 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-5809
- JPEG 镜像中发现了多个输入检查漏洞,在 2D 组件中读取和写入代码。不信任的 Java 应用程序或小程序可能会使用这些缺陷破坏 Java 虚拟机内存并绕过 Java 沙盒限制。
- CVE-2013-5802
- FEATURE_SECURE_PROCESSING 设置没有被 javax.xml.transform 软件包转换器正确满足。远程攻击者可以利用此漏洞来提供精心设计的 XML,而不需要预期的安全限制。
- CVE-2013-5825,CVE-2013-4002,CVE-2013-5823
- 在 JAXP 和安全组件处理 XML 输入的方式中发现了多个错误。远程攻击者可以创建一个精心设计的 XML,这会导致 Java 应用程序在处理时使用过多的 CPU 和内存。
- CVE-2013-3829,CVE-2013-5840,CVE-2013-5774,CVE-2013-5783,CVE-2013-5820, CVE-2013-5851 , CVE-2013-5800 , CVE-2013-5849 , CVE-2013-5790 , CVE-2013-5790 ,CVE-2013-5851,CVE-2013-5800,CVE-2013-5849,CVE-2013-5790,
- 在 OpenJDK 中的 Libraries、Swing, JAX-WS, JAXP, JGSS, AWT, Beans, 和 Scripting 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2013-5778
- 发现,2D 组件镜像库在执行镜像转换时没有正确检查绑定。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露 Java 虚拟机内存的部分。
- CVE-2013-5804, CVE-2013-5797
- 在 javadoc 中发现了多个输入清理漏洞。当 javadoc 文档从不受信任的 Java 源代码生成,且托管在不是由代码作者控制的域上时,这些问题更易于执行跨站点脚本攻击。
- CVE-2013-5780
- 代表加密密钥的各种 OpenJDK 类可能会泄漏私钥信息,方法是在 toString ()方法返回的字符串中包含敏感数据。这些漏洞可能会导致意外暴露敏感密钥数据。
- CVE-2013-5772
- Java Heap Analysis Tool (jhat)无法正确地转义添加到它生成的 HTML 页面中的所有数据。使用 jhat 分析的 Java 程序内存中制作的内容可能用于进行跨站点脚本攻击。
- CVE-2013-5803
- OpenJDK 中的 Kerberos 实现没有正确解析 KDC 响应。一个格式不正确的数据包可能会导致使用 JGSS 的 Java 应用程序退出。
安全修复
- CVE-2013-2470,CVE-2013-2471,CVE-2013-2472,CVE-2013-2473,CVE-2013-2463,CVE-2013-2465,CVE-2013-2469
- 在 ImagingLib 以及 2D 组件中的镜像属性、频道、布局和 raster 处理中发现了多个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-2459
- 在 AWT 处理特定输入的方式中发现整数溢出漏洞。攻击者可以使用这些漏洞来执行具有运行不受信任的 Java 小程序或应用程序的用户权限的用户的任意代码。
- CVE-2013-2448,CVE-2013-2454,CVE-2013-2458,CVE-2013-2457,CVE-2013-2453, CVE-2013-24 53,CVE-2013-2460
- 在 OpenJDK 中的 Sound, JDBC, Libraries, JMX, 和 Serviceability 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-2456,CVE-2013-2447,CVE-2013-2455,CVE-2013-2452,CVE-2013-2443,CVE-2013-2446
- Serialization、Networking、Libraries 和 CORBA 组件中的多个安全漏洞可以被不受信任的 Java 应用程序或小程序利用,以访问潜在的敏感信息。
- CVE-2013-2445
- 发现 Hotspot 组件无法正确处理内存不足错误。不信任的 Java 应用程序或小程序可能会使用这些漏洞终止 Java 虚拟机。
- CVE-2013-2444,CVE-2013-2450
- 发现 AWT 组件没有正确管理某些资源,而 Serialization 组件的 ObjectStreamClass 没有正确处理循环引用。不信任的 Java 应用程序或小程序可能会使用这些漏洞导致拒绝服务。
- CVE-2013-2407,CVE-2013-2461
- 发现 Libraries 组件包含与 XML 安全性和类加载程序相关的某些错误。一个远程攻击者可以利用这些漏洞来绕过预期的安全机制,或披露潜在的敏感信息,并导致拒绝服务。
- CVE-2013-2412
- 发现,JConsole 在建立 SSL 连接时无法正确通知用户。攻击者可能会利用此漏洞获取潜在的敏感信息的访问权限。
- CVE-2013-2449
- 发现 GnomeFileTypeDetector 在访问文件时没有检查读取权限。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露潜在的敏感信息。
- CVE-2013-1571
- 它发现,由 Javadoc 生成的文档容易受到帧注入攻击的影响。如果此类文档可以通过网络访问,并且远程攻击者可以欺骗用户访问特殊设计的 URL,则会导致在文档旁边显示任意 Web 内容。这可用于在托管有漏洞文档的站点上欺骗登录表单的框架内容来执行恶意攻击。
- CVE-2013-1500
- 发现 2D 组件使用不安全权限创建了共享内存段。本地攻击者可以利用此漏洞来读取或写入共享内存段。
安全修复
- CVE-2013-1569,CVE-2013-2383,CVE-2013-2384
- 2D 组件中的字体布局引擎中发现了多个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-1558,CVE-2013-2422,CVE-2013-2436,CVE-2013-1518,CVE-2013-1557
- 在 OpenJDK 中的 Beans、Libraries、JAXP 和 RMI 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-1537
- java.rmi.server.useCodebaseOnly 属性之前的默认值允许 RMI 实现自动加载远程指定位置的类。攻击者能够使用 RMI 连接到一个应用程序,可能会使用这个缺陷使应用程序执行任意代码。
- CVE-2013-2420
- 注: CVE-2013-1537 的修复会将属性的默认值更改为 true,将类加载限制为 java.rmi.server.codebase 属性中指定的本地 CLASSPATH 和位置。如需了解更多信息,请参阅 Red Hat Bugzilla bug 952387。2D 组件没有正确处理某些镜像。不信任的 Java 应用程序或小程序可能会使用此缺陷触发 Java 虚拟机内存损坏。
- CVE-2013-2431,CVE-2013-2421,CVE-2013-2423
- 发现 Hotspot 组件无法正确处理某些内部帧,且无法正确执行访问检查和方法处理查找。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-2429,CVE-2013-2430
- 发现,ImageIO 组件中的 JPEGImageReader 和 JPEGImageWriter 在执行某些原生代码操作时不会防止修改其状态。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-1488,CVE-2013-2426
- JDBC 驱动程序管理器可能会错误地调用 JDBC 驱动程序中的 toString ()方法,而 ConcurrentHashMap 类可能会错误地调用 defaultReadObject ()方法。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒限制。
- CVE-2013-0401
- sun.awt.datatransfer.ClassLoaderObjectInputStream 类可能会错误地调用系统类加载程序。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过某些 Java 沙盒限制。
- CVE-2013-2417, CVE-2013-2419
- 网络组件的 InetAddress 序列化和 2D 组件的字体处理中发现的漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞使 Java 虚拟机崩溃。
- CVE-2013-2424
- OpenJDK JMX 组件中的 MBeanInstantiator 类实现没有在创建新实例前正确检查类访问。不信任的 Java 应用程序或小程序可能会使用此缺陷来创建非公共类实例。
- CVE-2013-2415
- 发现 JAX-WS 可能会创建具有不安全权限的临时文件。本地攻击者可以利用此漏洞访问由使用 JAX-WS 的应用创建的临时文件。
7.314. java-1.6.0-openjdk
安全修复
- CVE-2013-1569,CVE-2013-2383,CVE-2013-2384
- 2D 组件中的字体布局引擎中发现了多个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-1558,CVE-2013-2422,CVE-2013-1518,CVE-2013-1557
- 在 OpenJDK 中的 Beans、Libraries、JAXP 和 RMI 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-1537
- java.rmi.server.useCodebaseOnly 属性之前的默认值允许 RMI 实现自动加载远程指定位置的类。攻击者能够使用 RMI 连接到一个应用程序,可能会使用这个缺陷使应用程序执行任意代码。
- CVE-2013-2420
- 注: CVE-2013-1537 的修复会将属性的默认值更改为 true,将类加载限制为 java.rmi.server.codebase 属性中指定的本地 CLASSPATH 和位置。如需了解更多信息,请参阅 Red Hat Bugzilla bug 952387。2D 组件没有正确处理某些镜像。不信任的 Java 应用程序或小程序可能会使用此缺陷触发 Java 虚拟机内存损坏。
- CVE-2013-2431,CVE-2013-2421
- 发现 Hotspot 组件无法正确处理某些内部帧,且无法正确执行 MethodHandle 查找。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-2429,CVE-2013-2430
- 发现,ImageIO 组件中的 JPEGImageReader 和 JPEGImageWriter 在执行某些原生代码操作时不会防止修改其状态。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-1488,CVE-2013-2426
- JDBC 驱动程序管理器可能会错误地调用 JDBC 驱动程序中的 toString ()方法,而 ConcurrentHashMap 类可能会错误地调用 defaultReadObject ()方法。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒限制。
- CVE-2013-0401
- sun.awt.datatransfer.ClassLoaderObjectInputStream 类可能会错误地调用系统类加载程序。不信任的 Java 应用程序或小程序可能会使用此缺陷绕过某些 Java 沙盒限制。
- CVE-2013-2417, CVE-2013-2419
- 网络组件的 InetAddress 序列化和 2D 组件的字体处理中发现的漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞使 Java 虚拟机崩溃。
- CVE-2013-2424
- OpenJDK JMX 组件中的 MBeanInstantiator 类实现没有在创建新实例前正确检查类访问。不信任的 Java 应用程序或小程序可能会使用此缺陷来创建非公共类实例。
- CVE-2013-2415
- 发现 JAX-WS 可能会创建具有不安全权限的临时文件。本地攻击者可以利用此漏洞访问由使用 JAX-WS 的应用创建的临时文件。
安全修复
- CVE-2013-2470,CVE-2013-2471,CVE-2013-2472,CVE-2013-2473,CVE-2013-2463,CVE-2013-2465,CVE-2013-2469
- 在 ImagingLib 以及 2D 组件中的镜像属性、频道、布局和 raster 处理中发现了多个安全漏洞。不信任的 Java 应用程序或小程序可能会使用这些漏洞来触发 Java 虚拟机内存损坏。
- CVE-2013-2459
- 在 AWT 处理特定输入的方式中发现整数溢出漏洞。攻击者可以使用这些漏洞来执行具有运行不受信任的 Java 小程序或应用程序的用户权限的用户的任意代码。
- CVE-2013-2448,CVE-2013-2457,CVE-2013-2453
- 在 OpenJDK 中的 Sound 和 JMX 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-2456,CVE-2013-2447,CVE-2013-2455,CVE-2013-2452,CVE-2013-2443,CVE-2013-2446
- Serialization、Networking、Libraries 和 CORBA 组件中的多个安全漏洞可以被不受信任的 Java 应用程序或小程序利用,以访问潜在的敏感信息。
- CVE-2013-2445
- 发现 Hotspot 组件无法正确处理内存不足错误。不信任的 Java 应用程序或小程序可能会使用这些漏洞终止 Java 虚拟机。
- CVE-2013-2444,CVE-2013-2450
- 发现 AWT 组件没有正确管理某些资源,而 Serialization 组件的 ObjectStreamClass 没有正确处理循环引用。不信任的 Java 应用程序或小程序可能会使用这些漏洞导致拒绝服务。
- CVE-2013-2407,CVE-2013-2461
- 发现 Libraries 组件包含与 XML 安全性和类加载程序相关的某些错误。一个远程攻击者可以利用这些漏洞来绕过预期的安全机制,或披露潜在的敏感信息,并导致拒绝服务。
- CVE-2013-2412
- 发现,JConsole 在建立 SSL 连接时无法正确通知用户。攻击者可能会利用此漏洞获取潜在的敏感信息的访问权限。
- CVE-2013-1571
- 它发现,由 Javadoc 生成的文档容易受到帧注入攻击的影响。如果此类文档可以通过网络访问,并且远程攻击者可以欺骗用户访问特殊设计的 URL,则会导致在文档旁边显示任意 Web 内容。这可用于在托管有漏洞文档的站点上欺骗登录表单的框架内容来执行恶意攻击。
- CVE-2013-1500
- 发现 2D 组件使用不安全权限创建了共享内存段。本地攻击者可以利用此漏洞来读取或写入共享内存段。
安全修复
- CVE-2013-0809
- 在处理特定示例模型实例的 2D 组件过程中发现了一个整数溢出缺陷。专门设计的示例模型实例可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
- CVE-2013-1493
- 发现,2D 组件没有正确拒绝某些不正确的镜像。特制的 raster 参数可能会导致 Java 虚拟机内存损坏,并可能导致使用虚拟机特权执行任意代码。
安全修复
- CVE-2013-5782
- 在 2D 组件原生镜像解析代码中发现多个输入检查漏洞。专门制作的图像文件可能会触发 Java 虚拟机内存损坏,并可能导致具有运行 Java 虚拟机的用户特权执行任意代码。
- CVE-2013-5830
- 类加载程序没有正确检查软件包对非公共代理类的访问。远程攻击者可以利用此缺陷来执行具有运行 Java 虚拟机权限的用户的任意代码。
- CVE-2013-5829,CVE-2013-5814,CVE-2013-5817,CVE-2013-5842,CVE-2013-5850
- 在 OpenJDK 中的 2D、CORBA、JNDI 和 Libraries 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过 Java 沙盒的限制。
- CVE-2013-5809
- JPEG 镜像中发现了多个输入检查漏洞,在 2D 组件中读取和写入代码。不信任的 Java 应用程序或小程序可能会使用这些缺陷破坏 Java 虚拟机内存并绕过 Java 沙盒限制。
- CVE-2013-5802
- FEATURE_SECURE_PROCESSING 设置没有被 javax.xml.transform 软件包转换器正确满足。远程攻击者可以利用此漏洞来提供精心设计的 XML,而不需要预期的安全限制。
- CVE-2013-5825,CVE-2013-4002,CVE-2013-5823
- 在 JAXP 和安全组件处理 XML 输入的方式中发现了多个错误。远程攻击者可以创建一个精心设计的 XML,这会导致 Java 应用程序在处理时使用过多的 CPU 和内存。
- CVE-2013-3829,CVE-2013-5840,CVE-2013-5774,CVE-2013-5783,CVE-2013-5820,CVE-2013-5849,CVE-2013-5790,CVE-2013-5784
- 在 OpenJDK 中的 Libraries、Swing、JAX-WS、JGSS、AWT、Beans 和 Scripting 组件中发现了多个不正确的权限检查问题。不信任的 Java 应用程序或小程序可能会使用这些漏洞来绕过某些 Java 沙盒限制。
- CVE-2013-5778
- 发现,2D 组件镜像库在执行镜像转换时没有正确检查绑定。不信任的 Java 应用程序或小程序可能会使用此缺陷来披露 Java 虚拟机内存的部分。
- CVE-2013-5804, CVE-2013-5797
- 在 javadoc 中发现了多个输入清理漏洞。当 javadoc 文档从不受信任的 Java 源代码生成,且托管在不是由代码作者控制的域上时,这些问题更易于执行跨站点脚本攻击。
- CVE-2013-5780
- 代表加密密钥的各种 OpenJDK 类可能会泄漏私钥信息,方法是在 toString ()方法返回的字符串中包含敏感数据。这些漏洞可能会导致意外暴露敏感密钥数据。
- CVE-2013-5772
- Java Heap Analysis Tool (jhat)无法正确地转义添加到它生成的 HTML 页面中的所有数据。使用 jhat 分析的 Java 程序内存中制作的内容可能用于进行跨站点脚本攻击。
- CVE-2013-5803
- OpenJDK 中的 Kerberos 实现没有正确解析 KDC 响应。一个格式不正确的数据包可能会导致使用 JGSS 的 Java 应用程序退出。
7.315. xulrunner
安全修复
- CVE-2013-0787
- 在 XULRunner 处理不正确的 Web 内容的方式中发现了一个安全漏洞。包含恶意内容的网页可能会导致与 XULRunner (如 Mozilla Firefox)链接的应用程序崩溃或执行运行应用程序的用户具有任意代码。
7.316. thunderbird
安全修复
- CVE-2013-5590, CVE-2013-5597,CVE-2013-5599,CVE-2013-5600,CVE-2013-5601,CVE-2013-5602
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-5595
- 它发现,Thunderbird JavaScript 引擎会错误地为某些功能分配内存。攻击者可以将此漏洞与其他漏洞相结合,以便使用与运行 Thunderbird 的用户的特权执行任意代码。
- CVE-2013-5604
- 在 Thunderbird 处理特定可扩展 Stylesheet Language Transformations (XSLT)文件的方式中发现了一个安全漏洞。攻击者可以将此漏洞与其他漏洞相结合,以便使用与运行 Thunderbird 的用户的特权执行任意代码。
安全修复
- CVE-2013-0788
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-0795
- 在 Thunderbird 中实施相同原始 Wrappers 的方式中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来绕过同一原始策略,并使用运行 Thunderbird 的用户的权限执行任意代码。
- CVE-2013-0796
- 在 Thunderbird 中的嵌入式 WebGL 库中发现了一个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。注意:这个问题只会影响使用 Intel Mesa 图形驱动程序的系统。
- CVE-2013-0800
- 在 Thunderbird 中的嵌入式 Cairo 库中发现了一个越界写入缺陷。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-0793
- 在处理 JavaScript 历史记录功能的方式中发现了一个安全漏洞。恶意内容可能会导致页面显示,该页面包含指向不同站点的 baseURI,允许跨站点脚本(XSS)和网络攻击。
安全修复
- CVE-2013-1718,CVE-2013-1722,CVE-2013-1725,CVE-2013-1730,CVE-2013-1732,CVE-2013-1735,CVE-2013-1736
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-1737
- Thunderbird 在处理某些 DOM JavaScript 对象的方式中发现了一个安全漏洞。攻击者可以使用此缺陷使 JavaScript 客户端或附加代码做出不正确的、安全敏感决策。
安全修复
- CVE-2013-1701
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-1710
- 在 Thunderbird 生成证书请求消息格式(CRMF)请求的方式中发现了一个安全漏洞。攻击者可以使用此缺陷来执行跨站点脚本(XSS)攻击,或使用运行 Thunderbird 的用户的权限执行任意代码。
- CVE-2013-1709
- Thunderbird 在处理帧和浏览器历史记录之间的交互的方式中发现了一个安全漏洞。攻击者可以使用此缺陷来欺骗 Thunderbird 对待恶意内容,就像来自浏览器历史记录一样,允许 XSS 攻击。
- CVE-2013-1713
- 由于在 JavaScript 中检查了统一资源标识符(URI)的方式,可以绕过同一原始策略。攻击者可以使用这个缺陷来执行 XSS 攻击,或者从第三方页面中安装恶意附加组件。
- CVE-2013-1714
- 它发现,web worker 可以绕过相同的原始策略。攻击者可以利用此漏洞执行 XSS 攻击。
- CVE-2013-1717
- 在某些情况下,Thunderbird 会错误地处理 Java 小程序。如果用户通过 Thunderbird 启动不受信任的 Java 小程序,则小程序可能会使用此缺陷来获取用户本地系统上文件的只读访问权限。
安全修复
- CVE-2013-1682, CVE-2013-1684,CVE-2013-1685,CVE-2013-1686,CVE-2013-1687,CVE-2013-1690
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-1692
- Thunderbird 发现,Thunderbird 允许的数据在 XMLHttpRequest (XHR) HEAD 请求的正文中发送。在某些情况下,这可能会允许攻击者进行跨站点请求 Forgery (CSRF)攻击。
- CVE-2013-1693
- Thunderbird 处理 SVG 镜像文件的方式的时间差异可能会导致攻击者跨域读取数据,从而导致信息泄露。
- CVE-2013-1694,CVE-2013-1697
- Thunderbird 在实现其一些内部结构的方式(称为打包程序)的方式中发现了两个漏洞。攻击者可以使用这些漏洞来绕过对它们进行的一些限制。这可能导致意外行为或可能被利用的崩溃。
安全修复
- CVE-2013-0787
- 在处理不正确的内容时发现了一个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或使用运行 Thunderbird 的用户的权限执行任意代码。
安全修复
- CVE-2013-0801,CVE-2013-1674,CVE-2013-1675,CVE-2013-1676,CVE-2013-1677,CVE-2013-1678,CVE-2013-1679,CVE-2013-1680,CVE-2013-1681
- 在处理不正确的内容时发现几个安全漏洞。恶意内容可能会导致 Thunderbird 崩溃或可能,执行具有运行 Thunderbird 的用户特权的任意代码。
- CVE-2013-1670
- 在 Thunderbird 处理内容级结构的方式中发现了一个安全漏洞。恶意内容可能会使用这个缺陷来执行跨站点脚本(XSS)攻击。
7.317. firefox
安全修复
- CVE-2013-5590, CVE-2013-5597,CVE-2013-5599,CVE-2013-5600,CVE-2013-5601,CVE-2013-5602
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 意外终止,或者可能具有运行 Firefox 的用户特权执行任意代码。
- CVE-2013-5595
- 它发现,Firefox JavaScript 引擎会错误地为某些功能分配内存。攻击者可以将此漏洞与其他漏洞相结合,从而利用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-5604
- Firefox 处理特定可扩展 Stylesheet Language Transformations (XSLT)文件的方式中发现了一个安全漏洞。攻击者可以将此漏洞与其他漏洞相结合,从而利用运行 Firefox 的用户的特权执行任意代码。
安全修复
- CVE-2013-1701
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-1710
- Firefox 生成证书请求消息格式(CRMF)请求的方式中发现了一个安全漏洞。攻击者可以使用此缺陷来执行跨站点脚本(XSS)攻击,或使用运行 Firefox 的用户的权限执行任意代码。
- CVE-2013-1709
- Firefox 处理帧和浏览器历史记录之间的交互的方式中发现了一个安全漏洞。攻击者可以利用此漏洞来欺骗 Firefox 对待恶意内容,就像来自浏览器历史记录一样,允许 XSS 攻击。
- CVE-2013-1713
- 由于在 JavaScript 中检查了统一资源标识符(URI)的方式,可以绕过同一原始策略。攻击者可以使用这个缺陷来执行 XSS 攻击,或者从第三方页面中安装恶意附加组件。
- CVE-2013-1714
- 它发现,web worker 可以绕过相同的原始策略。攻击者可以利用此漏洞执行 XSS 攻击。
- CVE-2013-1717
- 在某些情况下,Firefox 会错误地处理 Java 小程序。如果用户通过 Firefox 启动不受信任的 Java 小程序,则小程序可能会使用此缺陷获取用户本地系统上文件的只读访问权限。
安全修复
- CVE-2013-1682, CVE-2013-1684,CVE-2013-1685,CVE-2013-1686,CVE-2013-1687,CVE-2013-1690
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-1692
- Firefox 允许的数据在 XMLHttpRequest (XHR) HEAD 请求的正文中发送。在某些情况下,这可能会允许攻击者进行跨站点请求 Forgery (CSRF)攻击。
- CVE-2013-1693
- Firefox 处理 SVG 镜像文件的方式的时间差异可能会导致攻击者跨域读取数据,从而导致信息泄露。
- CVE-2013-1694,CVE-2013-1697
- Firefox 实施部分内部结构(称为打包程序)的方式中发现了两个漏洞。攻击者可以使用这些漏洞来绕过对它们进行的一些限制。这可能导致意外行为或可能被利用的崩溃。
安全修复
- CVE-2013-0788
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-0795
- 在 Firefox 中实施相同 Origin Wrappers 的方式中发现了一个安全漏洞。恶意站点可能会使用这个缺陷来绕过同一原始策略,并使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-0796
- 在 Firefox 中的嵌入式 WebGL 库中发现了一个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。注意:这个问题只会影响使用 Intel Mesa 图形驱动程序的系统。
- CVE-2013-0800
- 在 Firefox 的嵌入式 Cairo 库中发现了一个越界写入缺陷。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-0793
- Firefox 处理 JavaScript 历史记录功能的方式中发现了一个安全漏洞。恶意站点可能会导致网页显示,其中 baseURI 指向不同的站点,允许跨站点脚本(XSS)和网络攻击。
安全修复
- CVE-2013-1718,CVE-2013-1722,CVE-2013-1725,CVE-2013-1730,CVE-2013-1732,CVE-2013-1735,CVE-2013-1736
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-1737
- Firefox 处理某些 DOM JavaScript 对象的方式中发现了一个安全漏洞。攻击者可以使用此缺陷使 JavaScript 客户端或附加代码做出不正确的、安全敏感决策。
安全修复
- CVE-2013-0801,CVE-2013-1674,CVE-2013-1675,CVE-2013-1676,CVE-2013-1677,CVE-2013-1678,CVE-2013-1679,CVE-2013-1680,CVE-2013-1681
- 在处理不正确的网络内容时发现几个安全漏洞。包含恶意内容的网页可能会导致 Firefox 崩溃,或者可能使用运行 Firefox 的用户的特权执行任意代码。
- CVE-2013-1670
- Firefox 处理内容级结构的方式中发现了一个安全漏洞。恶意站点可能会使用这个缺陷来执行跨站点脚本(XSS)攻击。
7.318. mysql
安全修复
- CVE-2012-5614,CVE-2013-1506,CVE-2013-1521,CVE-2013-1531,CVE-2013-1532,CVE-2013-1544,CVE-2013-1548,CVE-2013-1552,CVE-2013-1555,CVE-2013-2375,CVE-2013-2378,CVE-2013-2389,CVE-2013-2323, CVE-2013-2392-2392
- 在这个版本中,MySQL 数据库服务器中的几个安全漏洞被修复。有关这些漏洞的信息可在 Oracle 关键补丁更新公告页面中找到。
7.319. openswan
安全修复
- CVE-2013-2053
- Openswan 中发现了一个缓冲区溢出缺陷。如果在"/etc/ipsec.conf"中启用了 Opportunistic Encryption ("oe=yes"),攻击者可以使系统对包含恶意记录的恶意记录执行 DNS 查找(例如,通过发送触发 DKIM 或 SPF DNS 记录查找的电子邮件)可能会导致 Openswan 的 pluto IKE 守护进程崩溃或可能崩溃,执行具有 root 特权的任意代码。使用 "oe=yes" 但没有配置 RSA 密钥,它只能由本地网络上的攻击者触发,并能够控制目标系统的反向 DNS 条目。默认禁用机会加密。
7.320. hapoxy
安全修复
- CVE-2013-2175
- 当代理配置("/etc/haproxy/haproxy.cfg")有某些使用 hdr_ip 条件的规则时,HAProxy 会处理请求的方式发现了一个安全漏洞。一个远程攻击者可以使用这个缺陷使 HAProxy 实例使用受影响的配置崩溃。
安全修复
- CVE-2013-1912
- 在 HAProxy 处理管道 HTTP 请求的方式中发现了一个缓冲区溢出缺陷。一个远程攻击者可以发送导致 HAProxy 崩溃的管道 HTTP 请求,或者可能执行具有运行 HAProxy 的用户特权的任意代码。此问题只使用以下所有组合配置选项影响系统:HTTP 在 TCP 检查规则中保持启用状态、HTTP 关键字,以及请求附加规则。
7.321. polkit
安全修复
- CVE-2013-4288
- 当进程通过 --process 选项指定进程 ID 时,在 PolicyKit pkcheck 工具检查进程授权的方式中发现了一个竞争条件。本地用户可能会使用这个缺陷来绕过预期的 PolicyKit 授权并升级其特权。
7.322. rtkit
安全修复
- CVE-2013-4326
- 它发现,realtimeKit 使用 D-Bus API 与 PolicyKit 通信以进行授权,该 API 容易受到竞争条件的影响。这可能会导致绕过预期的 PolicyKit 授权。这个版本修改了 realtimeKit,以通过不同的 API 与 PolicyKit 通信,这些 API 不受竞争条件的影响。