In RSA, DSA, DH, and RAND - if the "***_new()" function fails because the
ENGINE code does not return a default, set an error.
This commit is contained in:
parent
c2e45f6ddf
commit
7ae551fd03
@ -148,6 +148,7 @@ DH *DH_new_method(ENGINE *engine)
|
|||||||
{
|
{
|
||||||
if((ret->engine=ENGINE_get_default_DH()) == NULL)
|
if((ret->engine=ENGINE_get_default_DH()) == NULL)
|
||||||
{
|
{
|
||||||
|
DHerr(DH_F_DH_NEW,ERR_LIB_ENGINE);
|
||||||
OPENSSL_free(ret);
|
OPENSSL_free(ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -152,6 +152,7 @@ DSA *DSA_new_method(ENGINE *engine)
|
|||||||
{
|
{
|
||||||
if((ret->engine=ENGINE_get_default_DSA()) == NULL)
|
if((ret->engine=ENGINE_get_default_DSA()) == NULL)
|
||||||
{
|
{
|
||||||
|
DSAerr(DSA_F_DSA_NEW,ERR_LIB_ENGINE);
|
||||||
OPENSSL_free(ret);
|
OPENSSL_free(ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,6 @@ int RAND_status(void);
|
|||||||
int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes);
|
int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes);
|
||||||
int RAND_egd(const char *path);
|
int RAND_egd(const char *path);
|
||||||
int RAND_egd_bytes(const char *path,int bytes);
|
int RAND_egd_bytes(const char *path,int bytes);
|
||||||
void ERR_load_RAND_strings(void);
|
|
||||||
int RAND_poll(void);
|
int RAND_poll(void);
|
||||||
|
|
||||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32)
|
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32)
|
||||||
@ -110,10 +109,12 @@ int RAND_event(UINT, WPARAM, LPARAM);
|
|||||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||||
* made after this point may be overwritten when the script is next run.
|
* made after this point may be overwritten when the script is next run.
|
||||||
*/
|
*/
|
||||||
|
void ERR_load_RAND_strings(void);
|
||||||
|
|
||||||
/* Error codes for the RAND functions. */
|
/* Error codes for the RAND functions. */
|
||||||
|
|
||||||
/* Function codes. */
|
/* Function codes. */
|
||||||
|
#define RAND_F_RAND_GET_RAND_METHOD 101
|
||||||
#define RAND_F_SSLEAY_RAND_BYTES 100
|
#define RAND_F_SSLEAY_RAND_BYTES 100
|
||||||
|
|
||||||
/* Reason codes. */
|
/* Reason codes. */
|
||||||
@ -123,4 +124,3 @@ int RAND_event(UINT, WPARAM, LPARAM);
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@
|
|||||||
#ifndef OPENSSL_NO_ERR
|
#ifndef OPENSSL_NO_ERR
|
||||||
static ERR_STRING_DATA RAND_str_functs[]=
|
static ERR_STRING_DATA RAND_str_functs[]=
|
||||||
{
|
{
|
||||||
|
{ERR_PACK(0,RAND_F_RAND_GET_RAND_METHOD,0), "RAND_get_rand_method"},
|
||||||
{ERR_PACK(0,RAND_F_SSLEAY_RAND_BYTES,0), "SSLEAY_RAND_BYTES"},
|
{ERR_PACK(0,RAND_F_SSLEAY_RAND_BYTES,0), "SSLEAY_RAND_BYTES"},
|
||||||
{0,NULL}
|
{0,NULL}
|
||||||
};
|
};
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include "cryptlib.h"
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
#include <openssl/engine.h>
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
@ -86,7 +87,10 @@ const RAND_METHOD *RAND_get_rand_method(void)
|
|||||||
{
|
{
|
||||||
if (rand_engine == NULL
|
if (rand_engine == NULL
|
||||||
&& (rand_engine = ENGINE_get_default_RAND()) == NULL)
|
&& (rand_engine = ENGINE_get_default_RAND()) == NULL)
|
||||||
|
{
|
||||||
|
RANDerr(RAND_F_RAND_GET_RAND_METHOD,ERR_LIB_ENGINE);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
return ENGINE_get_RAND(rand_engine);
|
return ENGINE_get_RAND(rand_engine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,6 +166,7 @@ RSA *RSA_new_method(ENGINE *engine)
|
|||||||
{
|
{
|
||||||
if((ret->engine=ENGINE_get_default_RSA()) == NULL)
|
if((ret->engine=ENGINE_get_default_RSA()) == NULL)
|
||||||
{
|
{
|
||||||
|
RSAerr(RSA_F_RSA_NEW_METHOD,ERR_LIB_ENGINE);
|
||||||
OPENSSL_free(ret);
|
OPENSSL_free(ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user