Commit 10e473e9 authored by Richard Levitte's avatar Richard Levitte
Browse files

As a consequence of the BIGNUM constification, the ENGINE code needs a

few small constifying changes, and why not throw in a couple of extras
while I'm at it?
parent e7ef1a56
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,9 @@

 Changes between 0.9.6 and 0.9.7  [xx XXX 2000]

  *) Constify the ENGINE code as a result of BIGNUM constification.
     [Richard Levitte]

  *) Make it so the openssl application has all engines loaded by default.
     [Richard Levitte]

+4 −4
Original line number Diff line number Diff line
@@ -105,12 +105,12 @@ extern "C" {
/* mod_exp operation, calculates; r = a ^ p mod m
 * NB: ctx can be NULL, but if supplied, the implementation may use
 * it if it wishes. */
typedef int (*BN_MOD_EXP)(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
typedef int (*BN_MOD_EXP)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
		const BIGNUM *m, BN_CTX *ctx);

/* private key operation for RSA, provided seperately in case other
 * RSA implementations wish to use it. */
typedef int (*BN_MOD_EXP_CRT)(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
typedef int (*BN_MOD_EXP_CRT)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
		const BIGNUM *q, const BIGNUM *dmp1, const BIGNUM *dmq1,
		const BIGNUM *iqmp, BN_CTX *ctx);

@@ -178,7 +178,7 @@ ENGINE *ENGINE_new(void);
int ENGINE_free(ENGINE *e);
int ENGINE_set_id(ENGINE *e, const char *id);
int ENGINE_set_name(ENGINE *e, const char *name);
int ENGINE_set_RSA(ENGINE *e, RSA_METHOD *rsa_meth);
int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);
int ENGINE_set_DSA(ENGINE *e, DSA_METHOD *dsa_meth);
int ENGINE_set_DH(ENGINE *e, DH_METHOD *dh_meth);
int ENGINE_set_RAND(ENGINE *e, RAND_METHOD *rand_meth);
@@ -195,7 +195,7 @@ int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f);
 * reference may be problematic! */
const char *ENGINE_get_id(ENGINE *e);
const char *ENGINE_get_name(ENGINE *e);
RSA_METHOD *ENGINE_get_RSA(ENGINE *e);
const RSA_METHOD *ENGINE_get_RSA(ENGINE *e);
DSA_METHOD *ENGINE_get_DSA(ENGINE *e);
DH_METHOD *ENGINE_get_DH(ENGINE *e);
RAND_METHOD *ENGINE_get_RAND(ENGINE *e);
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ struct engine_st
	{
	const char *id;
	const char *name;
	RSA_METHOD *rsa_meth;
	const RSA_METHOD *rsa_meth;
	DSA_METHOD *dsa_meth;
	DH_METHOD *dh_meth;
	RAND_METHOD *rand_meth;
+2 −2
Original line number Diff line number Diff line
@@ -430,7 +430,7 @@ int ENGINE_set_name(ENGINE *e, const char *name)
	return 1;
	}

int ENGINE_set_RSA(ENGINE *e, RSA_METHOD *rsa_meth)
int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth)
	{
	if((e == NULL) || (rsa_meth == NULL))
		{
@@ -560,7 +560,7 @@ const char *ENGINE_get_name(ENGINE *e)
	return e->name;
	}

RSA_METHOD *ENGINE_get_RSA(ENGINE *e)
const RSA_METHOD *ENGINE_get_RSA(ENGINE *e)
	{
	if(e == NULL)
		{
+2 −2
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@
/* This is the only function we need to implement as OpenSSL
 * doesn't have a native CRT mod_exp. Perhaps this should be
 * BN_mod_exp_crt and moved into crypto/bn/ ?? ... dunno. */
static int openssl_mod_exp_crt(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
static int openssl_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
		const BIGNUM *q, const BIGNUM *dmp1, const BIGNUM *dmq1,
		const BIGNUM *iqmp, BN_CTX *ctx);

@@ -112,7 +112,7 @@ ENGINE *ENGINE_openssl()
	}

/* Chinese Remainder Theorem, taken and adapted from rsa_eay.c */
static int openssl_mod_exp_crt(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
static int openssl_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
			const BIGNUM *q, const BIGNUM *dmp1,
			const BIGNUM *dmq1, const BIGNUM *iqmp, BN_CTX *ctx)
	{
Loading