第 5 章 编译器和工具
tail --follow 现在可以在 Veritas Clustered 文件系统(VXFS)上正常工作
Veritas Clustered 文件系统(VXFS)是一个远程文件系统,对于远程文件系统,尾部 无法将
inotify
功能用于 --follow
模式。Veritas Clustered 文件系统现已添加到远程文件系统列表中,用于轮询模式而不是 inotify
。tail --follow 现在可以在 VXFS 中的文件中使用。
dd 命令现在可以显示传输进度
dd 命令用于按字节复制文件,现在提供
status=progress
选项来显示传输的进度。这对传输大型文件特别有用,因为它允许用户估算时间,并检测传输的潜在问题。
改进了 libcurl 中的等待时间
libcurl
库对没有活跃文件描述符的操作使用了不必要的长时间阻止延迟,即使用于简短操作。这意味着,一些操作(如使用 /etc/hosts
解析主机名)需要任意时间完成。现在,libcurl 中的阻塞代码已被修改,以便初始延迟比较短,并在发生事件前逐渐增加。
现在,快速 libcurl
操作可以更快地完成。
libcurl 库现在实现一个非阻塞 SSL 握手
在以前的版本中,libcurl 库没有实现非阻塞 SSL 握手,这会影响基于
libcurl
多 API 的应用程序的性能。要解决这个问题,非阻塞 SSL 握手已在 libcurl
中实施,lib
curl 多 API 现在会在无法从或底层网络套接字读取或写入数据时返回到应用程序。
当访问符号表时,IBM Power 系统上的 GDB 不再失败
在以前的版本中,64 位 IBM Power Systems 上的 GDB 错误地分配一个重要变量,它保存二进制的符号表,这会导致 GDB 试图访问该符号表时出现分段错误。要解决这个问题,这个特定变量已被持久,GDB 现在可以在调试会话期间访问所需的信息,而无需读取无效的内存区域。
NSCD 更新为自动重新载入配置数据
这个名称服务器缓存守护进程(nscd)的更新为 nscd 配置文件添加基于 inotify 的监控和基于 stat 的备份监控,因此 nscd 现在可以正确地检测到其配置的更改并重新载入数据。这可防止 nscd 返回过时的数据。
dlopen 库函数不再在递归调用中崩溃
在以前的版本中,库函数
dlopen
中的缺陷可能会导致对这个功能进行递归调用,从而导致使用库断言崩溃或中止。如果用户提供的 malloc
实现调用 dlopen
,则可以进行递归调用。
现在,实现是 Reentrant 的,递归调用不再崩溃或中止,并带有断言。
operf 工具现在识别静态巨页标识符
在以前的版本中,当分析启用了静态巨页的 Java 即时(JIT)编译代码时,OProfile 的 operf 命令将大量事件样本记录到匿名内存(on_hugepage)而不是适当的 Java 方法。在这个版本中,operf 会识别静态巨页标识符,在使用静态分配的巨页时,可以正确地将样本映射到 Java 方法。
rsync -X 现在可以正常工作
在以前的版本中,
rsync
工具会在设置安全属性后更改了文件所有权。因此,目标上的安全属性缺失,在某些情况下运行 rsync -X 命令无法正常工作。在这个版本中,操作的顺序已被切换,rsync
现在会在设置安全属性前更改所有权。因此,在上述情况下,安全属性会如预期出现。
Subversion 可执行文件现在使用完整 RELRO 数据构建
subversion 软件包提供的可执行文件现在使用完全只读重新定位数据(RELRO)构建的,它可以防止某些类型的内存损坏攻击。因此,如果发现将来的漏洞,则无法成功利用 Subversion。
TCL 中的线程扩展现在可以正常工作
在以前的版本中,工具命令语言(TCL)中的线程支持没有最佳实现。如果将 fork () 调用与在 TCL 解释器中启用线程扩展一同使用,该过程可能会变得无响应。因此,TCL 解释器和 TK 应用程序之前,会禁用线程扩展。因此,根据线程 TCL 或 TK 的第三方应用程序无法正常工作。已实施补丁来解决这个问题,TCL 和 TK 现在默认启用线程扩展。
可以为 TLS 显式启用或禁用 AES 密码套件
使用更新的 curl 软件包,可以明确启用或禁用新的高级加密标准(AES)密码套件,以用于 TLS 协议。
OpenJDK 7 现在支持 ECC
在这个版本中,OpenJDK 7 支持 Elliptic Curve Curve Cryptography (ECC)以及 TLS 连接的相关密码。ECC 在大多数情况下,最好使用旧的加密解决方案来建立安全网络连接。
ABRT 现在可以保存 core_backtrace 文件,而不是整个 coredump
现在,ABRT 可以配置为在不向磁盘写入 coredump 文件的情况下生成回溯追踪。这在处理分配了大量内存的进程时节省时间。通过将 CreateCoreBacktrace 选项设置为 yes,并在
/etc/abrt/plugins/CCpp.conf
文件中将 SaveFullCore 选项设置为 no 来启用这个功能。
添加到 Python 标准库的安全功能
许多安全增强,如 466 Python 增强建议(http://legacy.python.org/dev/peps/pep-0466/),已被向后移植到 Python 标准库。例如,安全增强包括
ssl
模块中的新功能,如对 Server Name Indication (SNI)的支持,并支持新的 TLSv1.x 协议、hashlib 模块
中的新哈希算法等。
Python 标准库中 SSL/TLS 证书验证的新全局设置
添加了新选项,允许用户在 Python 标准库的 HTTP 客户端(如 urllib、httplib 或 xmlrpclib)中全局启用或禁用 SSL/TLS 证书验证。这些选项在 493 Python 增强建议中进行了描述(https://www.python.org/dev/peps/pep-0493/)。默认值为不验证证书。详情请查看 https://access.redhat.com/articles/2039753。