ruby-trunk-changes r31242 - r31245

今日は OpenSSL を使って https 通信をする際にエラーがあった時の不具合修正がありました。

naruse:r31242 2011-04-06 11:44:46 +0900

チケットをみてもいまひとつぴんとこなかったので自信がないです。Net::HTTP で https の通信中に OpenSSL::PKey::RSA.new を実行してエラーを起こすと接続が継続できなくなる不具合を修正しています。エラー時に ERR_get_error() を呼ばないといけなかったのを追加しているようです。 [ruby-core:35605] [Bug #4550]

[追記]naruse さんにコメントで、@nahi さんに twitter で教えていただきました。
openssl はエラーの情報をグローバルな情報として保持するので、エラー検出したときにそれをクリアしておかないと、次の別の操作で実際にはエラーが発生したわけではなくてもエラーになってしまう、ということでした。 openssl 手強いですね。[/追記]

svn:r31243 2011-04-06 11:44:49 +0900

version.h の日付更新。

naruse:r31244 2011-04-06 15:14:05 +0900

OpenSSL::PKey::RSA の他にも DH, DSA, EC も同様に ERR_get_error() を呼ぶようにする修正を行なっています。[ruby-core:35605] [Bug #4550]

akr:r31245 2011-04-06 21:08:46 +0900

include/ruby/intern.h の関数マクロの引数にかっこをつける修正です。