I just got the new snapshot yesterday (I'm the one that pointed out the
problem with removing ciphers from the configuration vai 'no-xxx'
arguments).

I got the code to build, but now my application hangs in a call to
SSL_CTX_set_tmp_dh.

Ultimately, the code ends up calling 'ssleay_rand_bytes', which then calls
'ssleay_rand_add'.

The problem appears to be that 'ssleay_rand_bytes' calls
CRYPTO_w_lock(CRYPTO_LOCK_RAND)', and then 'ssleay_rand_add' calls
CRYPTO_w_lock(CRYPTO_LOCK_RAND)' again before it gets unlocked, causing a
deadlock. 

The call to CRYPTO_w_lock(CRYPTO_LOCK_RAND) from ssleay_rand_bytes is in
'crypto/rand/md_rand.c' right after the big comment that starts "(Based on
the rand(3) manpage:)", and the call to ssleay_rand_add is in the "if
(do_stir_pool)" block shortly thereafter. ssleay_rand_add calls
CRYPTO_w_lock(CRYPTO_LOCK_RAND) as soon as it's entered.

Any idea what happened?  Keep in mind that this is built with "no-rsa no-rc4
no-rc5 no-bf no-idea' and that the call that started all this was a call to
SSL_CTX_set_tmp_dh.

I'm dead in the water right now, though.

Any help would be appreciated.

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

Reply via email to