Hello. I think I've found a minor bug. While troubleshooting some custom-built code, I realized that ENGINE_register_complete() calls ENGINE_register_RAND() regardless of whether or not the OPENSSL_NO_RAND flag is set. I believe this is incorrect behavior.
To be more specific, engines/e_ubsec.c has a function, "bind_helper()", where a customized version I'm using calls ENGINE_set_RAND() if OPENSSL_NO_RAND isn't set. If you look at ENGINE_register_complete(), you'll see that ENGINE_register_RAND() is called regardless of the OPENSSL_NO_RAND flag, even though similar flags (e.g., OPENSSL_NO_RSA) used in the stock version of ENGINE_set_RAND() are respected. I've attached patches for the 0.9.8n and 1.0.0 versions of ENGINE_register_complete(). If the original behavior is correct, I apologize. I'm still learning the ins and outs of the OpenSSL code. :) Thanks, and have a good day. Best wishes, Douglas Roark
eng_fat_1.0.0.patch
Description: Binary data
eng_fat_0.9.8.patch
Description: Binary data
