Commit bf6a9e66 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Make ciphers and digests obtain an ENGINE functional reference
if impl is explicitly supplied.
parent 0c372b94
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -152,7 +152,15 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
		 * ENGINE and EVP_MD could be used). */
		if(ctx->engine)
			ENGINE_finish(ctx->engine);
		if(!impl)
		if(impl)
			{
			if (!ENGINE_init(impl))
				{
				EVPerr(EVP_F_EVP_DIGESTINIT, EVP_R_INITIALIZATION_ERROR);
				return 0;
				}
			}
		else
			/* Ask if an ENGINE is reserved for this job */
			impl = ENGINE_get_digest_engine(type->type);
		if(impl)
+9 −1
Original line number Diff line number Diff line
@@ -100,7 +100,15 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *imp
		 * ENGINE and EVP_CIPHER could be used). */
		if(ctx->engine)
			ENGINE_finish(ctx->engine);
		if(!impl)
		if(impl)
			{
			if (!ENGINE_init(impl))
				{
				EVPerr(EVP_F_EVP_CIPHERINIT, EVP_R_INITIALIZATION_ERROR);
				return 0;
				}
			}
		else
			/* Ask if an ENGINE is reserved for this job */
			impl = ENGINE_get_cipher_engine(cipher->nid);
		if(impl)