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

Attachment: eng_fat_1.0.0.patch
Description: Binary data

Attachment: eng_fat_0.9.8.patch
Description: Binary data

Reply via email to