From: Martin Bosslet Date: 2011-11-26T11:05:11+09:00 Subject: [ruby-core:41301] [ruby-trunk - Bug #5547][Third Party's Issue] Cleanup engine after a test Issue #5547 has been updated by Martin Bosslet. Status changed from Assigned to Third Party's Issue Assignee changed from Martin Bosslet to Yui NARUSE It's OpenSSL itself that causes the weird behaviour. On my machine with no cryptodev installed, I get the expected output, so I would assume it's either cryptodev itself or at least the cryptodev ENGINE implementation of OpenSSL that causes this. Investigate further or is it safe to close this? ---------------------------------------- Bug #5547: Cleanup engine after a test http://redmine.ruby-lang.org/issues/5547 Author: Yui NARUSE Status: Third Party's Issue Priority: Normal Assignee: Yui NARUSE Category: Target version: ruby -v: ruby 2.0.0dev (2011-11-01 trunk 33605) [i386-netbsdelf5.99.56] OpenSSL::Engine.load() loads engines and register them, and it may change the behavior of some existing methods. For example on NetBSD 6 with cryptodev, it effects DH as folloing: ./ruby -ropenssl -e'p OpenSSL::PKey::DH.new(256).public_key.private?;p OpenSSL::Engine.load;p OpenSSL::PKey::DH.new(256).public_key.private?' false true true After loads cryptodev and register it (yes, it needs register. current ext/openssl can't register a engine), OpenSSL::PKey::DH#private?'s behavior seems to be changed. Whether it is a bug or not, test/openssl/test_engine.rb should be fixed. Index: test/openssl/test_engine.rb =================================================================== --- test/openssl/test_engine.rb (revision 33605) +++ test/openssl/test_engine.rb (working copy) @@ -8,6 +8,7 @@ OpenSSL::Engine.load OpenSSL::Engine.engines OpenSSL::Engine.engines + OpenSSL::Engine.cleanup end end -- http://redmine.ruby-lang.org