We figured out how to get randtest working on OS/390.  We determined that the 
RAND_xxx functions were not running the functions they call in turn through the 
rand_meth structure pointer.  This is because in the scope of randtest.c, the 
rand_meth pointer is not initialized.

In crypto/rand/rand_lib.c, removing the word "static" from 
static RAND_METHOD *rand_meth= &rand_ssleay_meth;
solved the problem.  Removing "static" still keeps it static since it is 
declared at the file scope, but adding "static" makes it no longer extern to 
this scope.  I don't know if this is a fluke in the static storage 
initialization in OS/390 or what.

In case there are static storage problems on other platforms, but I would 
suggest adding code to randtest.c to check the return code from 
RAND_pseudo_bytes.  If it returns -1, then the function pointer is not 
resolved.  If randtest had this test to begin with, it would have saved 
considerable time in the debugging of the problem.

We can now run considerably further through the test suite.  It now fails on 
one of the shell scripts which is generating and/or testing certificates.  I'll 
post more on that after I've spent more time looking at it. 

--Evan







---------------------------------------------
This message was sent via the Ulsternet webmail system.
http://www.ulster.net


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

Reply via email to