Sounds good.

-----Original Message-----
From: Richard Levitte via RT [mailto:rt@;openssl.org]
Sent: Friday, 15 November 2002 10:25 AM
To: Reddie, Steven
Cc: [EMAIL PROTECTED]
Subject: [openssl.org #261] [PATCHes] OpenSSL 0.9.6g: OBJ_txt2obj, EVP
reinitialisation 



The OBJ_txt2obj() problem has already been solved.  The EVP reinit 
problem is very easy to solve, actually.  Somply remove the flag 
variable, which is exactly what has been decided within the team.

I'm sure many will scream at this decision.  However, think about 
it, the only way that flag variable is useful is to take care of 
people who can't keep track of what they've done already ("have we 
already called OpenSSL_add_all_ciphers() or not?").  Also, if 
someone is imagining that several threads could do some kind of 
reinitialization of the in-memory cipher and digest database, think 
again.  That would be a really good way to screw things up.

The only time OpenSSL_add_all_ciphers(), OpenSSL_add_all_digests() 
and EVP_cleanup() should be used is when the running program has 
only one thread.  And if a single-threaded program reinits by 
calling EVP_cleanup() and then OpenSSL_add_all_*(), it works a lot 
better if the flag variable isn't hindering.  Again, that requires 
that the programmer keeps track of what he or she is doing.

The change is now committed, and this ticket is now resolved.

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

Reply via email to