aboutsummaryrefslogtreecommitdiff
path: root/ssl/statem/statem_dtls.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2015-12-11 14:48:09 -0500
committerRich Salz <rsalz@akamai.com>2015-12-11 14:48:09 -0500
commit777f482d993322d69025014bf1b99c270c978fc0 (patch)
treea78f68f7d5f046b8eb30e3f679465a36057b5c6c /ssl/statem/statem_dtls.c
parent94d61512360c4d16762a13e27fcad39ca4f5e506 (diff)
downloadopenssl-777f482d993322d69025014bf1b99c270c978fc0.zip
openssl-777f482d993322d69025014bf1b99c270c978fc0.tar.gz
openssl-777f482d993322d69025014bf1b99c270c978fc0.tar.bz2
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 <rsalz@akamai.com> Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl/statem/statem_dtls.c')
-rw-r--r--ssl/statem/statem_dtls.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ssl/statem/statem_dtls.c b/ssl/statem/statem_dtls.c
index 5194c73..258c6fc 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);