From: Rich Salz Date: Fri, 11 Dec 2015 19:48:09 +0000 (-0500) Subject: Allow ChaCha20-Poly1305 in DTLS X-Git-Tag: OpenSSL_1_1_0-pre2~258 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=777f482d993322d69025014bf1b99c270c978fc0;p=oweals%2Fopenssl.git Allow ChaCha20-Poly1305 in DTLS GCM and CCM are modes of operation for block ciphers only. ChaCha20-Poly1305 operates in neither of them but it is AEAD. This change also enables future AEAD ciphers to be available for use with DTLS. Signed-off-by: Rich Salz Reviewed-by: Matt Caswell --- diff --git a/ssl/statem/statem_dtls.c b/ssl/statem/statem_dtls.c index 5194c7308e..258c6fc077 100644 --- a/ssl/statem/statem_dtls.c +++ b/ssl/statem/statem_dtls.c @@ -235,8 +235,8 @@ int dtls1_do_write(SSL *s, int type) if (s->write_hash) { if (s->enc_write_ctx - && ((EVP_CIPHER_CTX_mode(s->enc_write_ctx) == EVP_CIPH_GCM_MODE) || - (EVP_CIPHER_CTX_mode(s->enc_write_ctx) == EVP_CIPH_CCM_MODE))) + && (EVP_CIPHER_CTX_flags(s->enc_write_ctx) & + EVP_CIPH_FLAG_AEAD_CIPHER) != 0) mac_size = 0; else mac_size = EVP_MD_CTX_size(s->write_hash);