#include <openssl/engine.h>
#include <openssl/async.h>
+#include <openssl/err.h>
#include <linux/version.h>
#define K_MAJ 4
static const char *engine_afalg_id = "afalg";
static const char *engine_afalg_name = "AFLAG engine support";
-int afalg_cipher_nids[] = {
+static int afalg_cipher_nids[] = {
NID_aes_128_cbc
};
# ifdef ALG_ZERO_COPY
int ret;
# endif
+ char cbuf[CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN)) + CMSG_SPACE(ALG_OP_LEN)];
- const ssize_t cbuf_sz = CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN))
- + CMSG_SPACE(ALG_OP_LEN);
- char cbuf[cbuf_sz];
-
- memset(cbuf, 0, cbuf_sz);
+ memset(cbuf, 0, sizeof(cbuf));
msg.msg_control = cbuf;
- msg.msg_controllen = cbuf_sz;
+ msg.msg_controllen = sizeof(cbuf);
/*
* cipher direction (i.e. encrypt or decrypt) and iv are sent to the
return 0;
}
- actx = EVP_CIPHER_CTX_cipher_data(ctx);
+ actx = EVP_CIPHER_CTX_get_cipher_data(ctx);
if (actx == NULL) {
ALG_WARN("%s: Cipher data NULL\n", __func__);
return 0;
return 0;
}
- actx = (afalg_ctx *) EVP_CIPHER_CTX_cipher_data(ctx);
+ actx = (afalg_ctx *) EVP_CIPHER_CTX_get_cipher_data(ctx);
if (actx == NULL || actx->init_done != MAGIC_INIT_NUM) {
ALG_WARN("%s afalg ctx passed\n",
ctx == NULL ? "NULL" : "Uninitialised");
return 0;
}
- actx = (afalg_ctx *) EVP_CIPHER_CTX_cipher_data(ctx);
+ actx = (afalg_ctx *) EVP_CIPHER_CTX_get_cipher_data(ctx);
if (actx == NULL || actx->init_done != MAGIC_INIT_NUM) {
ALG_WARN("%s afalg ctx passed\n",
ctx == NULL ? "NULL" : "Uninitialised");
static int afalg_destroy(ENGINE *e)
{
ERR_unload_AFALG_strings();
+ EVP_CIPHER_meth_free(_hidden_aes_128_cbc);
+ _hidden_aes_128_cbc = NULL;
return 1;
}