内容

名称

perl5143delta - Perl v5.14.3 的新功能

描述

本文档描述了 5.14.2 版本和 5.14.3 版本之间的差异。

如果您要从早期版本(例如 5.12.0)升级,请先阅读 perl5140delta,其中描述了 5.12.0 和 5.14.0 之间的差异。

核心增强功能

自 5.14.0 以来没有变化。

安全

Digest 不安全使用 eval (CVE-2011-3597)

Digest->new() 函数在使用 eval() 调用之前没有正确地对输入进行清理,这可能导致注入任意 Perl 代码。

为了利用此漏洞,攻击者需要能够设置使用的算法名称,或者能够执行任意 Perl 代码。

此问题已修复。

'x' 字符串重复运算符中的堆缓冲区溢出 (CVE-2012-5195)

编写不当的 perl 代码允许攻击者指定 perl 的 'x' 字符串重复运算符的计数,这已经会导致内存耗尽拒绝服务攻击。perl 5.15.5 之前的版本中的一个缺陷可以将此升级为堆缓冲区溢出;结合 glibc 2.16 之前的版本,它可能允许执行任意代码。

此问题已修复。

不兼容的更改

没有有意与 5.14.0 不兼容的更改。如果存在任何问题,它们都是错误,欢迎报告。

弃用

自 5.14.0 以来没有弃用。

模块和语义

新的模块和语义

更新的模块和语义

已删除的模块和语义

文档

新文档

现有文档的更改

perlcheat

配置和编译

平台支持

新平台

已停用平台

平台特定说明

FreeBSD

FreeBSD hints 文件已更正,以与 FreeBSD 10.0 兼容。

Solaris 和 NetBSD

Configure 已更新,以支持 Solaris 和 NetBSD 上的“procselfexe”。

HP-UX

README.hpux 已更新,以说明 HP-UX 11.00 中存在一个损坏的标头。

Linux

在 Linux 平台上编译时不再使用 libutil,这避免了警告的发出。

现在在搜索库(如 -lm)时,使用系统 gcc(而不是编译用户路径中可能存在的任何其他 gcc)。

Mac OS X

区域设置测试已更新,以反映 Mountain Lion 中区域设置的行为。

GNU/Hurd

包含了针对 GNU/Hurd 的各种构建和测试修复。

在 GNU/Hurd 中启用了 LFS 支持。

NetBSD

NetBSD hints 文件已更正,以与 NetBSD 6.* 兼容。

错误修复

致谢

Perl 5.14.3 代表了自 Perl 5.14.2 以来大约 12 个月的开发,包含了来自 22 位作者的 64 个文件中的大约 2,300 行更改。

得益于充满活力的用户和开发人员社区,Perl 在其第三个十年中继续蓬勃发展。以下人员已知为 Perl 5.14.3 的改进做出了贡献。

Abigail, Andy Dougherty, Carl Hayter, Chris 'BinGOs' Williams, Dave Rolsky, David Mitchell, Dominic Hargreaves, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Jilles Tjoelker, Karl Williamson, Leon Timmermans, Michael G Schwern, Nicholas Clark, Niko Tyni, Pino Toscano, Ricardo Signes, Salvador Fandiño, Samuel Thibault, Steve Hay, Tony Cook.

上面的列表几乎肯定是不完整的,因为它是由版本控制历史自动生成的。特别是,它不包括向 Perl 错误跟踪器报告问题的贡献者(非常感谢)的姓名。

此版本中包含的许多更改源于 Perl 核心包含的 CPAN 模块。我们感谢整个 CPAN 社区帮助 Perl 蓬勃发展。

有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码分发中的 AUTHORS 文件。

报告错误

如果您发现您认为是错误的内容,您可能需要检查最近发布到 comp.lang.perl.misc 新闻组和 perl 错误数据库 (http://rt.perl.org/perlbug/) 的文章。您也可以在 Perl 主页 (https://www.perl5.cn/) 上找到信息。

如果您认为您遇到了未报告的错误,请运行随您的发行版提供的 perlbug 程序。请务必将您的错误缩减为一个微小但足够的测试用例。您的错误报告以及 perl -V 的输出将被发送到 [email protected],由 Perl 移植团队进行分析。

如果您要报告的错误存在安全隐患,不适合发送到公开存档的邮件列表,请将其发送到 [email protected]。此地址指向一个封闭订阅的未存档邮件列表,其中包括所有核心提交者,他们可以帮助评估问题的影响,找出解决方案,并帮助协调跨所有支持 Perl 平台发布补丁以缓解或修复问题。请仅将此地址用于 Perl 核心中的安全问题,不要用于独立分发在 CPAN 上的模块。

另请参阅

Changes 文件,了解如何查看有关更改的详尽详细信息。

INSTALL 文件,了解如何构建 Perl。

README 文件,了解一般信息。

ArtisticCopying 文件,了解版权信息。