From: Yui NARUSE Date: 2011-11-26T15:01:32+09:00 Subject: [ruby-core:41303] [ruby-trunk - Bug #5547] Cleanup engine after a test Issue #5547 has been updated by Yui NARUSE. Yes, the phenomenon, the result of above code will change after OpenSSL::Engine.load on NetBSD current, itself should be cryptodev's problem. But the test is against a principle that a test shouldn't have side effects. It has clearly a side effect: an engine is loaded. ---------------------------------------- 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