Hi y'all,

Quick question about RSA_new() I wanted to run by interested parties;
namely, RSA_new() does a bunch of initialisations of a new RSA structure
prior to calling the RSA_METHOD's "init()" handler to do any tweaking to
the new RSA structure that it may choose to do. However, the final few
lines go something like this;

        if ((meth->init != NULL) && !meth->init(ret))
                {
                OPENSSL_free(ret);
                ret=NULL;
                }
        else
                CRYPTO_new_ex_data(rsa_meth,ret,&ret->ex_data);
        return(ret);

Why doesn't CRYPTO_new_ex_data(...) get called *prior* to the RSA_METHOD's
"init()" handler - isn't the ex_data member of an RSA structure a perfect
place for a custom method place information? By this scheme, the ex_data
member of the structure is uninitialised when the init() handler is
called, and even if the handler initialised it, it would be erased by the
following CRYPTO_new_ex_data() call.

Would fixing this break anything that anyone is aware of? (Ie. putting the
CRYPTO_new_ex_data() prior to the meth->init() call).

Cheers,
Geoff


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

Reply via email to