From: Richard Levitte Date: Fri, 18 Dec 2015 14:06:30 +0000 (+0100) Subject: Remove EVP_CIPHER_CTX_flags, it's only confusing X-Git-Tag: OpenSSL_1_1_0-pre2~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=480d33237df3894ea8df6f2a2e2076fa30efb205;p=oweals%2Fopenssl.git Remove EVP_CIPHER_CTX_flags, it's only confusing EVP_CIPHER_CTX_flags was returning the flags of its associated EVP_CIPHER. However, EVP_CIPHER_CTX has flags of its own, so this function is quite confusing and therefore error prone. Reviewed-by: Rich Salz --- diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 4a5945c93b..3bac1091fe 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -212,7 +212,7 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, return 0; } - if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_CUSTOM_IV)) { + if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_CUSTOM_IV)) { switch (EVP_CIPHER_CTX_mode(ctx)) { case EVP_CIPH_STREAM_CIPHER: diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c index cc91d44d31..0b062db49a 100644 --- a/crypto/evp/evp_lib.c +++ b/crypto/evp/evp_lib.c @@ -242,11 +242,6 @@ unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher) return cipher->flags; } -unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx) -{ - return ctx->cipher->flags; -} - void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx) { return ctx->app_data; diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 281085d923..c6a4580e68 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -526,8 +526,7 @@ void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); void *EVP_CIPHER_CTX_cipher_data(const EVP_CIPHER_CTX *ctx); void EVP_CIPHER_CTX_new_cipher_data(EVP_CIPHER_CTX *ctx, size_t size); # define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) -unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); -# define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) +# define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c)) # define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) # define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80)