Previously, the default RSA_METHOD was NULL until the first RSA structure was
initialised, at which point an appropriate default was chosen. This meant a call to RSA_get_default_method might have returned FALSE. This change fixes that; now any called to RSA_new(), RSA_new_method(NULL), or RSA_get_default_method() will ensure that a default is chosen if it wasn't already.
This commit is contained in:
parent
ffb488781f
commit
deb4d50e51
7
CHANGES
7
CHANGES
@ -4,6 +4,13 @@
|
|||||||
|
|
||||||
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
|
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
|
||||||
|
|
||||||
|
*) RSA_get_default_method() will now cause a default
|
||||||
|
RSA_METHOD to be chosen if one doesn't exist already.
|
||||||
|
Previously this was only set during a call to RSA_new()
|
||||||
|
or RSA_new_method(NULL) meaning it was possible for
|
||||||
|
RSA_get_default_method() to return NULL.
|
||||||
|
[Geoff Thorpe]
|
||||||
|
|
||||||
*) Added native name translation to the existing DSO code
|
*) Added native name translation to the existing DSO code
|
||||||
that will convert (if the flag to do so is set) filenames
|
that will convert (if the flag to do so is set) filenames
|
||||||
that are sufficiently small and have no path information
|
that are sufficiently small and have no path information
|
||||||
|
@ -81,6 +81,19 @@ void RSA_set_default_method(RSA_METHOD *meth)
|
|||||||
|
|
||||||
RSA_METHOD *RSA_get_default_method(void)
|
RSA_METHOD *RSA_get_default_method(void)
|
||||||
{
|
{
|
||||||
|
if (default_RSA_meth == NULL)
|
||||||
|
{
|
||||||
|
#ifdef RSA_NULL
|
||||||
|
default_RSA_meth=RSA_null_method();
|
||||||
|
#else
|
||||||
|
#ifdef RSAref
|
||||||
|
default_RSA_meth=RSA_PKCS1_RSAref();
|
||||||
|
#else
|
||||||
|
default_RSA_meth=RSA_PKCS1_SSLeay();
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
return default_RSA_meth;
|
return default_RSA_meth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,18 +116,6 @@ RSA *RSA_new_method(RSA_METHOD *meth)
|
|||||||
{
|
{
|
||||||
RSA *ret;
|
RSA *ret;
|
||||||
|
|
||||||
if (default_RSA_meth == NULL)
|
|
||||||
{
|
|
||||||
#ifdef RSA_NULL
|
|
||||||
default_RSA_meth=RSA_null_method();
|
|
||||||
#else
|
|
||||||
#ifdef RSAref
|
|
||||||
default_RSA_meth=RSA_PKCS1_RSAref();
|
|
||||||
#else
|
|
||||||
default_RSA_meth=RSA_PKCS1_SSLeay();
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
ret=(RSA *)Malloc(sizeof(RSA));
|
ret=(RSA *)Malloc(sizeof(RSA));
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
{
|
{
|
||||||
@ -123,7 +124,7 @@ RSA *RSA_new_method(RSA_METHOD *meth)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (meth == NULL)
|
if (meth == NULL)
|
||||||
ret->meth=default_RSA_meth;
|
ret->meth=RSA_get_default_method();
|
||||||
else
|
else
|
||||||
ret->meth=meth;
|
ret->meth=meth;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user