X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=engines%2Fe_aep.c;h=e24e4b424e40ac6ad1bc7bd0bf1d475428746b93;hb=c081817c95ed70e23279257f9dfcfe11469e58f3;hp=5e66fb1f837ca1181b4aa7f3c0b4675052086ea8;hpb=3a87a9b9db07f8d3c6d9aa7f20e01f053007a703;p=oweals%2Fopenssl.git diff --git a/engines/e_aep.c b/engines/e_aep.c index 5e66fb1f83..e24e4b424e 100644 --- a/engines/e_aep.c +++ b/engines/e_aep.c @@ -65,12 +65,25 @@ typedef int pid_t; #endif +#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB) +#define getpid GetThreadID +extern int GetThreadID(void); +#endif + #include #include #include #include +#ifndef OPENSSL_NO_RSA #include +#endif +#ifndef OPENSSL_NO_DSA #include +#endif +#ifndef OPENSSL_NO_DH +#include +#endif +#include #ifndef OPENSSL_NO_HW #ifndef OPENSSL_NO_HW_AEP @@ -96,12 +109,14 @@ static AEP_RV aep_close_connection(AEP_CONNECTION_HNDL hConnection); static AEP_RV aep_close_all_connections(int use_engine_lock, int *in_use); /* BIGNUM stuff */ +#ifndef OPENSSL_NO_RSA static int aep_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx); static AEP_RV aep_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); +#endif /* RSA stuff */ #ifndef OPENSSL_NO_RSA @@ -109,8 +124,10 @@ static int aep_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); #endif /* This function is aliased to mod_exp (with the mont stuff dropped). */ +#ifndef OPENSSL_NO_RSA static int aep_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +#endif /* DSA stuff */ #ifndef OPENSSL_NO_DSA @@ -477,6 +494,7 @@ static int aep_init(ENGINE *e) if(aep_dso) DSO_free(aep_dso); + aep_dso = NULL; p_AEP_OpenConnection = NULL; p_AEP_ModExp = NULL; @@ -618,7 +636,7 @@ static int aep_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, rv = aep_return_connection(hConnection); if (rv != AEP_R_OK) { - AEPHKerr(AEPHK_F_AEP_RAND,AEPHK_R_RETURN_CONNECTION_FAILED); + AEPHKerr(AEPHK_F_AEP_MOD_EXP,AEPHK_R_RETURN_CONNECTION_FAILED); goto err; } @@ -627,6 +645,7 @@ static int aep_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, return to_return; } +#ifndef OPENSSL_NO_RSA static AEP_RV aep_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) @@ -656,13 +675,14 @@ static AEP_RV aep_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, rv = aep_return_connection(hConnection); if (rv != AEP_R_OK) { - AEPHKerr(AEPHK_F_AEP_RAND,AEPHK_R_RETURN_CONNECTION_FAILED); + AEPHKerr(AEPHK_F_AEP_MOD_EXP_CRT,AEPHK_R_RETURN_CONNECTION_FAILED); goto err; } err: return rv; } +#endif #ifdef AEPRAND @@ -818,12 +838,14 @@ static int aep_mod_exp_dsa(DSA *dsa, BIGNUM *r, BIGNUM *a, } #endif +#ifndef OPENSSL_NO_RSA /* This function is aliased to mod_exp (with the mont stuff dropped). */ static int aep_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx) { return aep_mod_exp(r, a, p, m, ctx); } +#endif #ifndef OPENSSL_NO_DH /* This function is aliased to mod_exp (with the dh and mont dropped). */ @@ -845,10 +867,12 @@ static AEP_RV aep_get_connection(AEP_CONNECTION_HNDL_PTR phConnection) CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); -#ifndef NETWARE_CLIB - curr_pid = getpid(); -#else +#ifdef NETWARE_CLIB curr_pid = GetThreadID(); +#elif defined(_WIN32) + curr_pid = _getpid(); +#else + curr_pid = getpid(); #endif /*Check if this is the first time this is being called from the current