crypto/openssl: fix extra bytes written at end of data
authorPiotr Azarewicz <piotrx.t.azarewicz@intel.com>
Wed, 7 Dec 2016 10:45:54 +0000 (11:45 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 18 Jan 2017 20:45:15 +0000 (21:45 +0100)
Extra bytes are being written at end of data while process standard
openssl cipher encryption. This behaviour is unexpected.

This patch disable the padding feature in openssl library, which is
causing the problem.

Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library")

Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
drivers/crypto/openssl/rte_openssl_pmd.c

index 5f8fa33..832ea1d 100644 (file)
@@ -496,6 +496,8 @@ process_openssl_cipher_encrypt(uint8_t *src, uint8_t *dst,
        if (EVP_EncryptInit_ex(ctx, algo, NULL, key, iv) <= 0)
                goto process_cipher_encrypt_err;
 
+       EVP_CIPHER_CTX_set_padding(ctx, 0);
+
        if (EVP_EncryptUpdate(ctx, dst, &dstlen, src, srclen) <= 0)
                goto process_cipher_encrypt_err;