Traditional Yuletide commit ;-)
[openssl.git] / crypto / evp / evp_lib.c
index 745475bebcd4892499a7e0082d96de774c2786b0..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);
@@ -225,7 +231,7 @@ int EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
 
 int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
        {
-       return ctx->cipher->key_len;
+       return ctx->key_len;
        }
 
 int EVP_CIPHER_nid(const EVP_CIPHER *cipher)
@@ -255,11 +261,23 @@ int EVP_MD_pkey_type(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)
+               return NULL;
        return ctx->digest;
        }