From ebf7bd7f4b5200c4a0e7d86b1f13442e7a6154b6 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Wed, 20 Feb 2019 11:11:04 +0000 Subject: [PATCH] Fix dasync engine The aes128_cbc_hmac_sha1 cipher in the dasync engine is broken. Probably by commit e38c2e8535 which removed use of the "enc" variable...but not completely. Reviewed-by: Richard Levitte Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/8291) (cherry picked from commit 695dd3a332fdd54b873fd0d08f9ae720141f24cd) --- engines/e_dasync.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/engines/e_dasync.c b/engines/e_dasync.c index b005f421a6..0fe1d436ee 100644 --- a/engines/e_dasync.c +++ b/engines/e_dasync.c @@ -138,7 +138,6 @@ struct dasync_pipeline_ctx { unsigned char **inbufs; unsigned char **outbufs; size_t *lens; - int enc; unsigned char tlsaad[SSL_MAX_PIPELINES][EVP_AEAD_TLS1_AAD_LEN]; unsigned int aadctr; }; @@ -603,7 +602,7 @@ static int dasync_cipher_ctrl_helper(EVP_CIPHER_CTX *ctx, int type, int arg, len = p[arg - 2] << 8 | p[arg - 1]; - if (pipe_ctx->enc) { + if (EVP_CIPHER_CTX_encrypting(ctx)) { if ((p[arg - 4] << 8 | p[arg - 3]) >= TLS1_1_VERSION) { if (len < AES_BLOCK_SIZE) return 0; -- 2.34.1