ruby-trunk-changes r41669 - r41681

今日は openssl の脆弱性の修正がありました。またこのセキュリティフィックスを含むリリースが 1.8.7/1.9.3/2.0.0 の3つのバージョンで同時に行なわれました。脆弱性情報およびリリースアナウンスについては以下のリンクを参照してください。

OpenSSL クライアントにおけるホスト名検証バイパス脆弱性 (CVE-2013-4073)

2.0.0-p247 のリリースアナウンス
1.9.3-p448 のリリースアナウンス
1.8.7-p374 のリリースアナウンス

nobu:r41669 2013-06-27 16:51:55 +0900

enumerator.c のインデントの修正のみ。

naruse:r41670 2013-06-27 19:16:17 +0900

test/ruby/test_notimp.rb の test_call_fork テストで子プロセスの待ちでタイムアウトが発生した時に ps -l で子プロセスの状態を取得して assertion のメッセージに含めるようにしています。 CI でなぜか子プロセスが終了しないのを調査するためだと思われます。

nagachika:r41671 2013-06-27 20:09:19 +0900

拡張ライブラリ openssl の OpenSSL クライアントとしてのホスト名検証時にホスト名に NUL 文字('\0') が含まれていた時に誤った比較をしてしまう不具合を修正しています。証明書に NUL 文字の入ったホスト名を持つものをインストールしてしまうと Ruby の OpenSSL クライアントを使った時に脆弱性があります。 http://www.ruby-lang.org/en/news/2013/06/27/hostname-check-bypassing-vulnerability-in-openssl-client-cve-2013-4073/

akr:r41680 2013-06-27 22:54:02 +0900

bignum.c の get2comp() で一部の処理を bary_2comp() で置きかえています。また rb_big_and() から関数を切り出すリファクタリング

akr:r41681 2013-06-27 23:59:50 +0900

r41680 で rb_big_and() から切り出した abs2twocomp_bang() を削除して、abs2twocomp() に展開しています。また abs2twocomp() は引数を追加して Bignum のバッファサイズを返せるようにしています。