From 3e166c136ed161cd0edb83ba15121582c6913692 Mon Sep 17 00:00:00 2001 From: tjmao Date: Fri, 11 Dec 2015 14:48:09 -0500 Subject: [PATCH] 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 --- ssl/statem/statem_dtls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- 2.34.1