Issue #5547 has been updated by Martin Bosslet.

Status changed from Third Party's Issue to Closed
Assignee changed from Yui NARUSE to Martin Bosslet

Yui NARUSE wrote:
> Martin Bosslet wrote:
> > Yui NARUSE wrote:
...
> > This removes side effects from differing "default engines" or at least it should
> > contain them in a controllable manner. Would you agree?
> 
> Yeah, I agree.
> Note that it should do only if possible with reasonable effort.

Thanks, and thanks for your comments. The effort to switch to "openssl engine"-only
was minimal. OK if I close this? 

----------------------------------------
Bug #5547: Cleanup engine after a test
http://redmine.ruby-lang.org/issues/5547

Author: Yui NARUSE
Status: Closed
Priority: Normal
Assignee: Martin Bosslet
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