return ctx;
}
-static void *aes_ccm_dupctx(void *provctx)
-{
- PROV_AES_CCM_CTX *ctx = provctx;
- PROV_AES_CCM_CTX *dupctx = NULL;
-
- if (ctx == NULL)
- return NULL;
- dupctx = OPENSSL_memdup(provctx, sizeof(*ctx));
- if (dupctx == NULL)
- return NULL;
- /*
- * ossl_cm_initctx, via the ossl_prov_aes_hw_ccm functions assign a
- * provctx->ccm.ks.ks to the ccm context key so we need to point it to
- * the memduped copy
- */
- dupctx->base.ccm_ctx.key = &dupctx->ccm.ks.ks;
-
- return dupctx;
-}
-
static OSSL_FUNC_cipher_freectx_fn aes_ccm_freectx;
static void aes_ccm_freectx(void *vctx)
{
return ctx;
}
-static void *aes_gcm_dupctx(void *provctx)
-{
- PROV_AES_GCM_CTX *ctx = provctx;
-
- if (ctx == NULL)
- return NULL;
- return OPENSSL_memdup(ctx, sizeof(*ctx));
-}
-
static OSSL_FUNC_cipher_freectx_fn aes_gcm_freectx;
static void aes_gcm_freectx(void *vctx)
{
return ctx;
}
-static void *aria_ccm_dupctx(void *provctx)
-{
- PROV_ARIA_CCM_CTX *ctx = provctx;
-
- if (ctx == NULL)
- return NULL;
- return OPENSSL_memdup(ctx, sizeof(*ctx));
-}
-
static void aria_ccm_freectx(void *vctx)
{
PROV_ARIA_CCM_CTX *ctx = (PROV_ARIA_CCM_CTX *)vctx;
return ctx;
}
-static void *aria_gcm_dupctx(void *provctx)
-{
- PROV_ARIA_GCM_CTX *ctx = provctx;
-
- if (ctx == NULL)
- return NULL;
- return OPENSSL_memdup(ctx, sizeof(*ctx));
-}
-
static OSSL_FUNC_cipher_freectx_fn aria_gcm_freectx;
static void aria_gcm_freectx(void *vctx)
{
return ctx;
}
-static void *sm4_ccm_dupctx(void *provctx)
-{
- PROV_SM4_CCM_CTX *ctx = provctx;
-
- if (ctx == NULL)
- return NULL;
- return OPENSSL_memdup(ctx, sizeof(*ctx));
-}
-
static void sm4_ccm_freectx(void *vctx)
{
PROV_SM4_CCM_CTX *ctx = (PROV_SM4_CCM_CTX *)vctx;
return ctx;
}
-static void *sm4_gcm_dupctx(void *provctx)
-{
- PROV_SM4_GCM_CTX *ctx = provctx;
-
- if (ctx == NULL)
- return NULL;
- return OPENSSL_memdup(ctx, sizeof(*ctx));
-}
-
static void sm4_gcm_freectx(void *vctx)
{
PROV_SM4_GCM_CTX *ctx = (PROV_SM4_GCM_CTX *)vctx;
{ \
return alg##_##lc##_newctx(provctx, kbits); \
} \
-static void * alg##kbits##lc##_dupctx(void *src) \
-{ \
- return alg##_##lc##_dupctx(src); \
-} \
const OSSL_DISPATCH ossl_##alg##kbits##lc##_functions[] = { \
{ OSSL_FUNC_CIPHER_NEWCTX, (void (*)(void))alg##kbits##lc##_newctx }, \
{ OSSL_FUNC_CIPHER_FREECTX, (void (*)(void))alg##_##lc##_freectx }, \
- { OSSL_FUNC_CIPHER_DUPCTX, (void (*)(void))alg##kbits##lc##_dupctx }, \
{ OSSL_FUNC_CIPHER_ENCRYPT_INIT, (void (*)(void))ossl_##lc##_einit }, \
{ OSSL_FUNC_CIPHER_DECRYPT_INIT, (void (*)(void))ossl_##lc##_dinit }, \
{ OSSL_FUNC_CIPHER_UPDATE, (void (*)(void))ossl_##lc##_stream_update }, \