New functions to allow RSA_METHODs to be changed without poking round in

RSA structure internals.
This commit is contained in:
Dr. Stephen Henson 1999-06-29 22:22:42 +00:00
parent e371828067
commit ce8b257413
4 changed files with 31 additions and 0 deletions

View file

@ -4,6 +4,11 @@
Changes between 0.9.3a and 0.9.4
*) New functions RSA_get_default_method(), RSA_set_method() and
RSA_get_method(). These allows replacement of RSA_METHODs without having
to mess around with the internals of an RSA structure.
[Steve Henson]
*) Fix memory leaks in DSA_do_sign and DSA_is_prime.
Also really enable memory leak checks in openssl.c and in some
test programs.

View file

@ -161,6 +161,9 @@ void RSA_free (RSA *r);
int RSA_flags(RSA *r);
void RSA_set_default_method(RSA_METHOD *meth);
RSA_METHOD *RSA_get_default_method(void);
RSA_METHOD *RSA_get_method(RSA *rsa);
RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth);
/* This function needs the memory locking malloc callbacks to be installed */
int RSA_memory_lock(RSA *r);

View file

@ -79,6 +79,26 @@ void RSA_set_default_method(RSA_METHOD *meth)
default_RSA_meth=meth;
}
RSA_METHOD *RSA_get_default_method(void)
{
return default_RSA_meth;
}
RSA_METHOD *RSA_get_method(RSA *rsa)
{
return rsa->meth;
}
RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth)
{
RSA_METHOD *mtmp;
mtmp = rsa->meth;
if (mtmp->finish) mtmp->finish(rsa);
rsa->meth = meth;
if (meth->init) meth->init(rsa);
return mtmp;
}
RSA *RSA_new_method(RSA_METHOD *meth)
{
RSA *ret;

View file

@ -1818,3 +1818,6 @@ sk_ASN1_OBJECT_insert 1842
sk_ASN1_OBJECT_push 1843
d2i_ASN1_SET_OF_ASN1_OBJECT 1844
PKCS7_signatureVerify 1845
RSA_set_method 1846
RSA_get_method 1847
RSA_get_default_method 1848