Remove EVP_CIPHER_CTX_flags, it's only confusing
authorRichard Levitte <levitte@openssl.org>
Fri, 18 Dec 2015 14:06:30 +0000 (15:06 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 12 Jan 2016 12:52:22 +0000 (13:52 +0100)
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 <rsalz@openssl.org>
crypto/evp/evp_enc.c
crypto/evp/evp_lib.c
include/openssl/evp.h

index 4a5945c93b1f034edc839d644c34f93c83eef165..3bac1091fe3671bddd2c047d39c0188c07bf5e7d 100644 (file)
@@ -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:
index cc91d44d31eb50fbf35a7a6ed5d96676bf7b9f1f..0b062db49a9c9bcccd4db9aa5ce6e14431beb8c6 100644 (file)
@@ -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;
index 281085d923ef7313028838b7d9f30ad90c93f447..c6a4580e68d0a200acd0fc92d894d434ad5d8f27 100644 (file)
@@ -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)