きりかノート 3冊め

おあそびプログラミング

MacPortsのport:ruby19を1.9.3-p194に(セキュリティ修正あり)

ruby-1.9.3の新しいバージョンが公開されていたのでMacPortsも更新しました。RubyGemsのセキュリティ修正が含まれています。

openssl 1.0.1の問題

いつもコミット前にLionとSnow Leopardでtest-allを流して確認してるのですが、今回はtest_drbssl.rbのテストがたくさんerrorになりました。例をあげると、

    50) Error:
   test_01(TestDRbSSLAry):
   DRb::DRbConnError: drbssl://...:64837 - #<RuntimeError: execution expired>
       /.../ruby19/work/ruby-1.9.3-p194/test/drb/drbtest.rb:30:in `block in ext_service'
       /.../ruby19/work/ruby-1.9.3-p194/test/drb/drbtest.rb:29:in `ext_service'
       /.../ruby19/work/ruby-1.9.3-p194/test/drb/test_drbssl.rb:56:in `setup'
       ./test/runner.rb:15:in `<main>'

て感じ。

調べてみると、どうもopenssl-1.0.1からの問題のようで、ruby-1.9.3-p125でもopenssl-1.0.1aで試すと同様の状況でした。今回はrubyのパッチレベルの問題ではないと判断したのでバージョンを上げています。

なにか問題が起きた場合は、opensslを1.0.1から1.0.0系に戻すと問題が解消するかもしれませんので参考まで。

(2012-04-28 追記:openssl-1.0.1から、SSLRSA鍵が1024ビット必要になったためのようです。参考:ruby-trunk-changes r35427 - r35449 - PB memo