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]