Traditional Yuletide commit ;-)
[openssl.git] / crypto / evp / evp_lib.c
index 096e4a459e4e347ad36ba65fb51e256babc413f8..218af7166e75d13030b9b553848efd9bcbcd4d16 100644 (file)
@@ -159,6 +159,12 @@ int EVP_CIPHER_type(const EVP_CIPHER *ctx)
 
                return NID_des_cfb64;
 
+               case NID_des_ede3_cfb64:
+               case NID_des_ede3_cfb8:
+               case NID_des_ede3_cfb1:
+
+               return NID_des_cfb64;
+
                default:
                /* Check it has an OID and it is valid */
                otmp = OBJ_nid2obj(nid);
@@ -168,18 +174,17 @@ int EVP_CIPHER_type(const EVP_CIPHER *ctx)
        }
 }
 
-size_t EVP_CIPHER_block_size(const EVP_CIPHER *e)
+int EVP_CIPHER_block_size(const EVP_CIPHER *e)
        {
        return e->block_size;
        }
 
-size_t EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx)
+int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx)
        {
        return ctx->cipher->block_size;
        }
 
-size_t EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
-                 const unsigned char *in, size_t inl)
+int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl)
        {
        return ctx->cipher->do_cipher(ctx,out,in,inl);
        }
@@ -209,22 +214,22 @@ void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data)
        ctx->app_data = data;
        }
 
-size_t EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
+int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
        {
        return cipher->iv_len;
        }
 
-size_t EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx)
+int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx)
        {
        return ctx->cipher->iv_len;
        }
 
-size_t EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
+int EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
        {
        return cipher->key_len;
        }
 
-size_t EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
+int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
        {
        return ctx->key_len;
        }
@@ -239,7 +244,7 @@ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx)
        return ctx->cipher->nid;
        }
 
-size_t EVP_MD_block_size(const EVP_MD *md) 
+int EVP_MD_block_size(const EVP_MD *md) 
        {
        return md->block_size;
        }
@@ -254,13 +259,21 @@ int EVP_MD_pkey_type(const EVP_MD *md)
        return md->pkey_type;
        }
 
-size_t EVP_MD_size(const EVP_MD *md)
+int EVP_MD_size(const EVP_MD *md)
        {
        if (!md)
+               {
+               EVPerr(EVP_F_EVP_MD_SIZE, EVP_R_MESSAGE_DIGEST_IS_NULL);
                return -1;
+               }
        return md->md_size;
        }
 
+unsigned long EVP_MD_flags(const EVP_MD *md)
+       {
+       return md->flags;
+       }
+
 const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx)
        {
        if (!ctx)