ruby-trunk-changes r41802 - r41808

今日は Psych.dump の Time オブジェクトの扱いの修正、拡張ライブラリ openssl の不具合修正がいくつかありました。

naruse:r41802 2013-07-06 03:38:17 +0900

r41686 およびその後の r41724、r41731 で IPSocket.new のローカルアドレスのアドレスファミリーのチェックをするようにした影響で Windows でのテストが失敗していた件ですが、テストのほうを書き変えて Windows 環境では例外メッセージにリモートのポート番号のほうが含まれていることをチェックするようにしています。 [ruby-core:55683] [Bug #8574]

svn:r41803 2013-07-06 03:38:22 +0900

version.h の日付更新。

tenderlove:r41804 2013-07-06 04:51:12 +0900

拡張ライブラリ psych の Psych.dump による YAML エンコーディング時に Time オブジェクトを object_id で判別して同一のオブジェクトを複数回 dump する時は参照を使うようにしています。

emboss:r41805 2013-07-06 06:08:04 +0900

r41671 で拡張ライブラリ openssl の脆弱性(CVE-2013-4073)として入れたパッチに、証明書のうち critical SAN というのを持っているものを利用しようとすると、ASN.1 デコードした値の扱いに考慮不足があってエラーが発生していたのを修正しています。 [ruby-core:55685] [Bug #8575] ついでに未使用のローカル変数による警告も除去していると思います。 [ruby-core:55707] [Bug #8582]

emboss:r41806 2013-07-06 06:44:50 +0900

拡張ライブラリ openssl で OpenSSL の CRYPTO_set_id_callback() と CRYPTO_set_locking_callback() を用いてOpenSSL の関数をスレッドセーフに呼べるようにしています。なんか無邪気に rb_mutex_lock() を呼んでいる感じがして不安がありますね。大域脱出とか考慮されてるだろうか……。 [ruby-core:54900] [Bug #8386]

emboss:r41807 2013-07-06 07:16:09 +0900

test/openssl/test_x509crl.rb の未使用のローカル変数を除去。 [ruby-core:53501] [Bug #8114]

emboss:r41808 2013-07-06 07:46:42 +0900

拡張ライブラリ openssl のビルドが OpenSSL の no-ec2m モードでビルドされたライブラリとリンクする時に失敗していたのを修正しています。 テストでも OpenSSL::PKey::EC::Group を固定で使わず利用できるものを取得して使うようにしています。 しかしこの変更で non-FIPS モードで CI のエラーが引き起こされているそうなのでまだ修正が必要みたいです。 [ruby-core:54881] [Bug #8384]