ssl/t1_enc.c: pay attention to EVP_CIPH_FLAG_CUSTOM_CIPHER.
authorAndy Polyakov <appro@openssl.org>
Tue, 13 Mar 2012 19:20:55 +0000 (19:20 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 13 Mar 2012 19:20:55 +0000 (19:20 +0000)
ssl/t1_enc.c

index f32393c56b0c6954b4f47a7f5dcf50c4fa5e4882..201ca9ad6de20299a52870bf85257357fb1ae43b 100644 (file)
@@ -825,7 +825,10 @@ int tls1_enc(SSL *s, int send)
                                }
                        }
                
-               if (EVP_Cipher(ds,rec->data,rec->input,l) < 0)
+               i = EVP_Cipher(ds,rec->data,rec->input,l);
+               if ((EVP_CIPHER_flags(ds->cipher)&EVP_CIPH_FLAG_CUSTOM_CIPHER)
+                                               ?(i<0)
+                                               :(i==0))
                        return -1;      /* AEAD can fail to verify MAC */
                if (EVP_CIPHER_mode(enc) == EVP_CIPH_GCM_MODE && !send)
                        {