From: Matt Caswell Date: Wed, 20 Feb 2019 11:11:04 +0000 (+0000) Subject: Fix dasync engine X-Git-Tag: openssl-3.0.0-alpha1~2494 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=695dd3a332fdd54b873fd0d08f9ae720141f24cd;p=oweals%2Fopenssl.git 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) --- diff --git a/engines/e_dasync.c b/engines/e_dasync.c index 3d80610b67..f8a52e9da2 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; }; @@ -617,7 +616,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;