From: Hiroshi NAKAMURA Date: 2011-06-22T17:21:28+09:00 Subject: [ruby-dev:43868] [Ruby 1.9 - Bug #4416] OpenSSL::SSL::Session#session_new_cb Issue #4416 has been updated by Hiroshi NAKAMURA. この参照追加はRubyオブジェクトからの参照で、Rubyオブジェクトの開放時にSSL_SESSION_freeを呼ぶために必要なんですが、逆に0(Rubyレベルでfalse)を返したときのOpenSSLの挙動がよくわかりませんね。。。うーむ。 ---------------------------------------- Bug #4416: OpenSSL::SSL::Session#session_new_cb http://redmine.ruby-lang.org/issues/4416 Author: Ippei Obayashi Status: Assigned Priority: Normal Assignee: Hiroshi NAKAMURA Category: ext Target version: 1.9.2 ruby -v: ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] =begin SSL_CTX_sess_set_new_cb で渡すコールバックの返り値は、 「0 を返すと新しく作られた SSL_SESSION のリファレンスカウンタの 値を減らし(て SSL_SESSION を解放し)、 それ以外を返すとリファレンスカウンタを減らさない」となっています。 しかし、ext/openssl/ossl_ssl.c:ossl_sslctx_session_new_cb ではその中で リファレンスカウンタの値を増やしているにもかかわらず1を返す場合があります。 ここは常に0を返すべきではないでしょうか? =end -- http://redmine.ruby-lang.org