From: Geoff Thorpe Date: Mon, 8 Oct 2001 17:24:10 +0000 (+0000) Subject: EVP_EncryptInit_ex() and EVP_DecryptInit_ex() had been defined in evp.h but X-Git-Tag: OpenSSL_0_9_6c~26^2~143 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=18eda7323483cc327dfef8918796601a7bd780c3;p=oweals%2Fopenssl.git EVP_EncryptInit_ex() and EVP_DecryptInit_ex() had been defined in evp.h but not implemented. (Bug reported by Martin Szotkowski) This also changes the non-"_ex" versions to defer directly to EVP_CipherInit_ex() rather than EVP_CipherInit() to avoid an unecessary level of indirection. --- diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 3fbe5c6527..0f5a128d68 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -197,13 +197,25 @@ int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv) { - return EVP_CipherInit(ctx, cipher, key, iv, 1); + return EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, 1); + } + +int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, const unsigned char *iv) + { + return EVP_CipherInit_ex(ctx, cipher, impl, key, iv, 1); } int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv) { - return EVP_CipherInit(ctx, cipher, key, iv, 0); + return EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, 0); + } + +int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, const unsigned char *iv) + { + return EVP_CipherInit_ex(ctx, cipher, impl, key, iv, 0); } int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,