perl5143delta - perl v5.14.3 での変更点
この文書は 5.16.0 リリースと 5.16.1 リリースの変更点を記述しています。
5.12.0 のような以前のリリースから更新する場合は、まず 5.12.0 と 5.14.0 の 違いについて記述している perl5120delta を読んでください。
5.14.0 からの変更点はありません。
Digest
の安全でない eval の使用 (CVE-2011-3597)Digest->new()
関数は eval()
呼び出しで使う前に入力を適切に
サニタイズしていませんでした; そのため任意の Perl コードの
インジェクションを引き起こすことができます。
この弱点を悪用するには、攻撃者は使うアルゴリズム名を設定することができるか、 すでに任意の Perl コードを実行できる必要があります。
この問題は修正されました。
攻撃者が perl の 'x' 文字列繰り返し演算子のカウントを指定できるような まずい perl コードは、既にメモリ枯渇サービス拒否攻撃を引き起こす 可能性があります。 5.15.5 以前のバージョンの perl の欠陥は、これをヒープバッファオーバーランに エスカレートさせることです; 2.16 以前バージョンのの glib との組み合わせで、 任意のコードの実行を許す可能性があります。
この問題は修正されました。
故意に、5.14.0 から互換性がなくなるようにした変更はありません。 もし 5.14.0 との互換性がなければ、それはバグですので、 どうか報告してください。
5.14.0 以降に廃止予定になったものはありません。
なし
PerlIO::scalar は、ファイルハンドルをグロブのコピーに開くとアサーション 失敗(デバッグ時)やデバッグでないときにハングやその他の誤った振る舞いを 引き起こすバグを修正するために更新されました。
ODBM_File と NDBM_File は、GNU/Hurd でビルドできるように 更新されました。
IPC::Open3 は、IPC::Open3::open3($in, $out, $err, '-')
が壊れるという
perl 5.12 で起きた対抗を修正するために更新されました。
[perl #95748]
Digest はバージョン 1.16 から 1.16_01 に更新されました。
セキュリティ を参照してください。
Module::CoreList はこのリリースのためのデータを追加するためにバージョン 2.49_04 に更新されました。
なし
なし
perlcheat は 5.14 に更新されました。
h2ph は、複数アーキテクチャ対応の Debian のようなプラットフォームで正しく gcc インクルードディレクトリを検索できるように更新されました。
Configure で、procselfexe のテストがループにリファクタリングされました。
なし
なし
FreeBSD ヒントファイルは FreeBSD 10.0 と互換性があるように修正されました。
Configure は Solaris and NetBSD での "procselfexe" 対応のために 更新されました。
README.hpux は HP-UX 11.00 にある壊れたヘッダの存在に関して注意するように 更新されました。
libutil はもはや Linux プラットフォームでコンパイルするときに 使われなくなりました; これにより警告が出力されなくなりました。
-lm
のようなライブラリを探すときに、(コンパイルするユーザーのパスにある
gcc ではなく) システムの gcc が使われるようになりました。
ロケールテストは、Mountain Lion でのロケールの振る舞いを反映して 更新されました。
GNU/Hurd のための様々なビルドとテストの修正が含まれました。
LFS 対応が GNU/Hurd で有効になりました。
NetBSD ヒントファイルは NetBSD 6.* と互換性があるように修正されました。
/i
正規表現マッチングにおいて、パターンが UTF-8 で、ターゲット文字列が
UTF-8 ではなく、パターンにマッチングするべき文字の前に Latin-1 文字が
ある時にマッチングが間違って失敗する、という、5.14 で発生した退行が
修正されました。
[perl #101710]
大文字小文字を無視した正規表現パターンマッチングで、UTF-8 エンコードされた
文字列でマッチングの先頭を、最初の可能な位置でしか探さないということが
なくなりました。
これにより "f\x{FB00}" =~ /ff/i
のようなマッチングが失敗していました。
sitecustomize 対応は relocatableinc を反映するようになったので、 -Dusesitecustomize と -Duserelocatableinc を互いに使えるようになりました。
スマートマッチング演算子 (~~
) は、Any ~~ Object
演算の間右側に
優先順位があるように変更されました。
汚染チェック対応で、汚染された定数に対する index()
によってその他の
全ての定数が汚染されるというバグが修正されました。
[perl #64804]
汚染エラーが die()
に正しく伝搬しないという perl 5.12 で発生した退行が
修正されました。
[perl #111654]
/[[:lower:]]/i
と /[[:upper:]]/i
が逆の大文字小文字に
マッチングしないという perl 5.14 で発生した退行が修正されました。
[perl #101970]
Perl 5.14.3 は、Perl 5.14.2 以降、22 人の作者によって、 64 のファイルに約 2,300 行の変更を加えて、 約 12 ヶ月開発されてきました。
Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて 繁栄しています。 以下の人々が、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 モジュール由来のものです。 私たちは Perl が繁栄するのを助けている CPAN コミュニティ全体に感謝します。
全ての Perl の歴史的な貢献者のより完全な一覧については、どうか Perl ソース 配布に含まれている AUTHORS を参照してください。
もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://rt.perl.org/perlbug/ にある perl バグ データベースを確認してください。 Perl ホームページ、 http://www.perl.org/ にも情報があります。
もしまだ報告されていないバグだと確信したら、そのリリースに含まれている
perlbug プログラムを実行してください。
バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを
意識してください。
バグレポートは perl -V
の出力と一緒に perlbug@perl.org に送られ
Perl porting チームによって解析されます。
もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。
変更点の完全な詳細を見る方法については Changes ファイル。
Perl のビルド方法については INSTALL ファイル。
一般的なことについては README ファイル。
著作権情報については Artistic 及び Copying ファイル。