From ea77fc33807c9fc66f10c9d6f5176f4df1adb631 Mon Sep 17 00:00:00 2001
From: Geoff Thorpe <geoff@openssl.org>
Date: Thu, 25 Mar 2004 02:55:17 +0000
Subject: [PATCH] ... and this should likewise fix up those RSA implementations
 that weren't already built and tested.

---
 crypto/engine/eng_cryptodev.c | 6 +++---
 engines/e_gmp.c               | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
index 65f20726b..84d062a23 100644
--- a/crypto/engine/eng_cryptodev.c
+++ b/crypto/engine/eng_cryptodev.c
@@ -100,7 +100,7 @@ static int cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a,
     const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
 static int cryptodev_rsa_nocrt_mod_exp(BIGNUM *r0, const BIGNUM *I,
     RSA *rsa);
-static int cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa);
+static int cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx);
 static int cryptodev_dsa_bn_mod_exp(DSA *dsa, BIGNUM *r, BIGNUM *a,
     const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
 static int cryptodev_dsa_dsa_mod_exp(DSA *dsa, BIGNUM *t1, BIGNUM *g,
@@ -767,7 +767,7 @@ cryptodev_rsa_nocrt_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa)
 }
 
 static int
-cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa)
+cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
 {
 	struct crypt_kop kop;
 	int ret = 1;
@@ -796,7 +796,7 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa)
 
 	if (cryptodev_asym(&kop, BN_num_bytes(rsa->n), r0, 0, NULL) == -1) {
 		const RSA_METHOD *meth = RSA_PKCS1_SSLeay();
-		ret = (*meth->rsa_mod_exp)(r0, I, rsa);
+		ret = (*meth->rsa_mod_exp)(r0, I, rsa, ctx);
 	}
 err:
 	zapparams(&kop);
diff --git a/engines/e_gmp.c b/engines/e_gmp.c
index 64cb039ed..39da65f74 100644
--- a/engines/e_gmp.c
+++ b/engines/e_gmp.c
@@ -101,7 +101,7 @@ static int e_gmp_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void));
 
 #ifndef OPENSSL_NO_RSA
 /* RSA stuff */
-static int e_gmp_rsa_mod_exp(BIGNUM *r, const BIGNUM *I, RSA *rsa);
+static int e_gmp_rsa_mod_exp(BIGNUM *r, const BIGNUM *I, RSA *rsa, BN_CTX *ctx);
 static int e_gmp_rsa_finish(RSA *r);
 #endif
 
@@ -361,7 +361,7 @@ static int e_gmp_rsa_finish(RSA *rsa)
 	return 1;
 	}
 
-static int e_gmp_rsa_mod_exp(BIGNUM *r, const BIGNUM *I, RSA *rsa)
+static int e_gmp_rsa_mod_exp(BIGNUM *r, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
 	{
 	E_GMP_RSA_CTX *hptr;
 	int to_return = 0;