Richard Levitte via RT wrote:

OK, does anyone know a good way to detect (in run-time!) when the program is running as a service? If there's a way, the rest should be easy.

Sorry I have been out of contact on this issue but the problems here are not about OpenSSL being used within a service but how OpenSSL is used within a service. Kermit 95 uses OpenSSL and it can be installed as a service and the RAND_poll() functions work just fine. Accessing the desktop will not be a fatal error if it cannot be reached.

Where the problem lies is in the calls to obtain performance data. If RAND_poll() is called from within a DLL initialization function and if the service uses OLE components there is a race condition in which the internal process data structures necessary to read the performance data and/or walk the tree are not yet stable. Attempts to process the performance data can therefore result in unexplained exceptions.

What we need is not a way to determine if we are running as a service BUT a way to give developers the ability to tell OpenSSL how the library is being used so that we know whether or not it is safe to perform certain types of randomness gathering.

- Jeff




______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]


Reply via email to