• Bug#1108958: unblock: openssl (3/16)

    From Sebastian Andrzej Siewior@21:1/5 to Paul Gevers on Sat Jul 12 19:20:02 2025
    [continued from previous message]

    ctx->p1 = strlen(ctx->p2);
    }
    @@ -780,7 +783,7 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if (state == POST_CTRL_TO_PARAMS && ctx->action_type == GET) {
    + if (state == POST_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET) {
    /*
    * Here's how we reuse |ctx->orig_p2| that was set in the
    * PRE_CTRL_TO_PARAMS state above.
    @@ -788,7 +791,7 @@
    *(void **)ctx->orig_p2 =
    (void *)get_algo_by_name(ctx->pctx->libctx, ctx->p2);
    ctx->p1 = 1;
    - } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == SET) {
    + } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_SET) {
    ctx->p2 = (void *)get_algo_by_name(ctx->pctx->libctx, ctx->p2);
    ctx->p1 = 0;
    }
    @@ -821,7 +824,7 @@
    if (ret > 0) {
    ret = 0;
    if ((state == POST_CTRL_TO_PARAMS
    - || state == POST_CTRL_STR_TO_PARAMS) && ctx->action_type == GET) {
    + || state == POST_CTRL_STR_TO_PARAMS) && ctx->action_type == OSSL_ACTION_GET) {
    *(size_t *)ctx->p2 = ctx->sz;
    ret = 1;
    }
    @@ -854,9 +857,9 @@
    if (state == PRE_CTRL_TO_PARAMS) {
    /*
    * In |translations|, the initial value for |ctx->action_type| must
    - * be NONE.
    + * be OSSL_ACTION_NONE.
    */
    - if (!ossl_assert(ctx->action_type == NONE))
    + if (!ossl_assert(ctx->action_type == OSSL_ACTION_NONE))
    return 0;

    /* The action type depends on the value of *p1 */
    @@ -871,17 +874,17 @@
    */
    ctx->p2 = ctx->name_buf;
    ctx->p1 = sizeof(ctx->name_buf);
    - ctx->action_type = GET;
    + ctx->action_type = OSSL_ACTION_GET;
    } else {
    - ctx->action_type = SET;
    + ctx->action_type = OSSL_ACTION_SET;
    }
    }

    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if ((state == PRE_CTRL_TO_PARAMS && ctx->action_type == SET)
    - || (state == POST_PARAMS_TO_CTRL && ctx->action_type == GET)) {
    + if ((state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_SET)
    + || (state == POST_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET)) {
    ret = -2;
    /* Convert KDF type numbers to strings */
    for (; kdf_type_map->kdf_type_str != NULL; kdf_type_map++)
    @@ -898,8 +901,8 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if ((state == POST_CTRL_TO_PARAMS && ctx->action_type == GET)
    - || (state == PRE_PARAMS_TO_CTRL && ctx->action_type == SET)) {
    + if ((state == POST_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET) + || (state == PRE_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_SET)) {
    ctx->p1 = ret = -1;

    /* Convert KDF type strings to numbers */
    @@ -910,7 +913,7 @@
    break;
    }
    ctx->p2 = NULL;
    - } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == GET) {
    + } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET) {
    ctx->p1 = -2;
    }
    end:
    @@ -955,8 +958,8 @@
    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if ((state == PRE_CTRL_TO_PARAMS && ctx->action_type == SET)
    - || (state == POST_PARAMS_TO_CTRL && ctx->action_type == GET)) {
    + if ((state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_SET)
    + || (state == POST_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET)) {
    /*
    * We're translating from ctrl to params and setting the OID, or
    * we're translating from params to ctrl and getting the OID.
    @@ -973,8 +976,8 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if ((state == PRE_PARAMS_TO_CTRL && ctx->action_type == SET)
    - || (state == POST_CTRL_TO_PARAMS && ctx->action_type == GET)) {
    + if ((state == PRE_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_SET)
    + || (state == POST_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET)) {
    /*
    * We're translating from ctrl to params and setting the OID name,
    * or we're translating from params to ctrl and getting the OID
    @@ -999,7 +1002,7 @@
    return ret;

    /* This is only settable */
    - if (ctx->action_type != SET)
    + if (ctx->action_type != OSSL_ACTION_SET)
    return 0;

    if (state == PRE_CTRL_TO_PARAMS) {
    @@ -1025,7 +1028,7 @@
    return ret;

    /* This is only settable */
    - if (ctx->action_type != SET)
    + if (ctx->action_type != OSSL_ACTION_SET)
    return 0;

    switch (state) {
    @@ -1069,7 +1072,7 @@
    return ret;

    /* This is only settable */
    - if (ctx->action_type != SET)
    + if (ctx->action_type != OSSL_ACTION_SET)
    return 0;

    if (state == PRE_CTRL_STR_TO_PARAMS) {
    @@ -1095,7 +1098,7 @@
    return ret;

    /* This is currently only settable */
    - if (ctx->action_type != SET)
    + if (ctx->action_type != OSSL_ACTION_SET)
    return 0;

    if (state == PRE_CTRL_TO_PARAMS) {
    @@ -1144,7 +1147,7 @@
    return ret;

    /* This is currently only settable */
    - if (ctx->action_type != SET)
    + if (ctx->action_type != OSSL_ACTION_SET)
    return 0;

    if (state == PRE_CTRL_TO_PARAMS) {
    @@ -1194,28 +1197,28 @@
    * The initial value for |ctx->action_type| must be zero.
    * evp_pkey_ctrl_to_params() takes it from the translation item.
    */
    - if (!ossl_assert(ctx->action_type == NONE))
    + if (!ossl_assert(ctx->action_type == OSSL_ACTION_NONE))
    return 0;

    /* The action type depends on the value of ctx->p1 */
    if (ctx->p1 == -2)
    - ctx->action_type = GET;
    + ctx->action_type = OSSL_ACTION_GET;
    else
    - ctx->action_type = SET;
    + ctx->action_type = OSSL_ACTION_SET;
    } else if (state == PRE_CTRL_STR_TO_PARAMS) {
    - ctx->action_type = SET;
    + ctx->action_type = OSSL_ACTION_SET;
    } else if (state == PRE_PARAMS_TO_CTRL) {
    /* The initial value for |ctx->action_type| must not be zero. */
    - if (!ossl_assert(ctx->action_type != NONE))
    + if (!ossl_assert(ctx->action_type != OSSL_ACTION_NONE))
    return 0;
    - } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == NONE) {
    - ctx->action_type = GET;
    + } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_NONE) {
    + ctx->action_type = OSSL_ACTION_GET;
    }

    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == SET) {
    + if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_SET) {
    if (ctx->p1 < -1 || ctx->p1 > 1) {
    /* Uses the same return value of pkey_ec_ctrl() */
    return -2;
    @@ -1225,7 +1228,7 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if (state == POST_CTRL_TO_PARAMS && ctx->action_type == GET) {
    + if (state == POST_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET) {
    if (ctx->p1 < 0 || ctx->p1 > 1) {
    /*
    * The provider should return either 0 or 1, any other value is a @@ -1233,9 +1236,9 @@
    */
    ctx->p1 = ret = -1;
    }
    - } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == GET) {
    + } else if (state == PRE_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET) {
    ctx->p1 = -2;
    - } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == GET) {
    + } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET) {
    ctx->p1 = ret;
    }

    @@ -1262,7 +1265,7 @@
    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == GET) {
    + if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET) {
    /*
    * EVP_PKEY_CTRL_GET_RSA_PADDING returns the padding mode in the
    * weirdest way for a ctrl. Instead of doing like all other ctrls
    @@ -1271,13 +1274,13 @@
    * returned. We must therefore remember |ctx->p2|, then make
    * |ctx->p2| point at a buffer to be filled in with the name, and
    * |ctx->p1| with its size. default_fixup_args() will take care
    - * of the rest for us, along with the POST_CTRL_TO_PARAMS && GET
    + * of the rest for us, along with the POST_CTRL_TO_PARAMS && OSSL_ACTION_GET
    * code section further down.
    */
    ctx->orig_p2 = ctx->p2;
    ctx->p2 = ctx->name_buf;
    ctx->p1 = sizeof(ctx->name_buf);
    - } else if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == SET) {
    + } else if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_SET) {
    /*
    * Ideally, we should use utf8 strings for the diverse padding modes.
    * We only came here because someone called EVP_PKEY_CTX_ctrl(),
    @@ -1298,7 +1301,7 @@
    ctx->params[0] = OSSL_PARAM_construct_int(translation->param_key,
    &ctx->p1);
    return 1;
    - } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == GET) {
    + } else if (state == POST_PARAMS_TO_CTRL && ctx->action_type == OSSL_ACTION_GET) {
    size_t i;

    /*
    @@ -1341,8 +1344,8 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if ((ctx->action_type == SET && state == PRE_PARAMS_TO_CTRL)
    - || (ctx->action_type == GET && state == POST_CTRL_TO_PARAMS)) {
    + if ((ctx->action_type == OSSL_ACTION_SET && state == PRE_PARAMS_TO_CTRL)
    + || (ctx->action_type == OSSL_ACTION_GET && state == POST_CTRL_TO_PARAMS)) {
    size_t i;

    for (i = 0; i < OSSL_NELEM(str_value_map); i++) {
    @@ -1382,7 +1385,7 @@
    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == GET) {
    + if (state == PRE_CTRL_TO_PARAMS && ctx->action_type == OSSL_ACTION_GET) {
    /*
    * EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN returns the saltlen by filling
    * in the int pointed at by p2. This is potentially as weird as
    @@ -1392,14 +1395,14 @@
    * In any case, we must therefore remember |ctx->p2|, then make
    * |ctx->p2| point at a buffer to be filled in with the name, and
    * |ctx->p1| with its size. default_fixup_args() will take care
    - * of the rest for us, along with the POST_CTRL_TO_PARAMS && GET
    + * of the rest for us, along with the POST_CTRL_TO_PARAMS && OSSL_ACTION_GET
    * code section further down.
    */
    ctx->orig_p2 = ctx->p2;
    ctx->p2 = ctx->name_buf;
    ctx->p1 = sizeof(ctx->name_buf);
    - } else if ((ctx->action_type == SET && state == PRE_CTRL_TO_PARAMS)
    - || (ctx->action_type == GET && state == POST_PARAMS_TO_CTRL)) {
    + } else if ((ctx->action_type == OSSL_ACTION_SET && state == PRE_CTRL_TO_PARAMS)
    + || (ctx->action_type == OSSL_ACTION_GET && state == POST_PARAMS_TO_CTRL)) {
    size_t i;

    for (i = 0; i < OSSL_NELEM(str_value_map); i++) {
    @@ -1420,8 +1423,8 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if ((ctx->action_type == SET && state == PRE_PARAMS_TO_CTRL)
    - || (ctx->action_type == GET && state == POST_CTRL_TO_PARAMS)) {
    + if ((ctx->action_type == OSSL_ACTION_SET && state == PRE_PARAMS_TO_CTRL)
    + || (ctx->action_type == OSSL_ACTION_GET && state == POST_CTRL_TO_PARAMS)) {
    size_t i;
    int val;

    @@ -1462,8 +1465,8 @@
    if ((ret = default_check(state, translation, ctx)) <= 0)
    return ret;

    - if ((ctx->action_type == SET && state == PRE_CTRL_TO_PARAMS)
    - || (ctx->action_type == GET && state == POST_PARAMS_TO_CTRL)) {
    + if ((ctx->action_type == OSSL_ACTION_SET && state == PRE_CTRL_TO_PARAMS)
    + || (ctx->action_type == OSSL_ACTION_GET && state == POST_PARAMS_TO_CTRL)) {
    size_t i;

    for (i = 0; i < OSSL_NELEM(str_value_map); i++) {
    @@ -1479,8 +1482,8 @@
    if ((ret = default_fixup_args(state, translation, ctx)) <= 0)
    return ret;

    - if ((ctx->action_type == SET && state == PRE_PARAMS_TO_CTRL)
    - || (ctx->action_type == GET && state == POST_CTRL_TO_PARAMS)) {
    + if ((ctx->action_type == OSSL_ACTION_SET && state == PRE_PARAMS_TO_CTRL)
    + || (ctx->action_type == OSSL_ACTION_GET && state == POST_CTRL_TO_PARAMS)) {
    size_t i;

    for (i = 0; i < OSSL_NELEM(str_value_map); i++) {
    @@ -1504,7 +1507,7 @@
    * ===============
    *
    * These all get the data they want, then call default_fixup_args() as
    - * a post-ctrl GET fixup. They all get NULL ctx, ctrl_cmd, ctrl_str,
    + * a post-ctrl OSSL_ACTION_GET fixup. They all get NULL ctx, ctrl_cmd, ctrl_str,
    * p1, sz
    */

    @@ -2047,7 +2050,7 @@
    case PRE_PARAMS_TO_CTRL:
    if (!EVP_PKEY_CTX_IS_GEN_OP(ctx->pctx))
    return 0;
    - ctx->action_type = NONE;
    + ctx->action_type = OSSL_ACTION_NONE;
    return 1;
    case POST_PARAMS_TO_CTRL:
    if (OSSL_PARAM_get_utf8_string_ptr(ctx->params, &value) == 0 ||
    @@ -2077,13 +2080,13 @@
    * that has no separate counterpart in OSSL_PARAM terms, since we get
    * the length of the DistID automatically when getting the DistID itself.
    */
    - { SET, -1, -1, EVP_PKEY_OP_TYPE_SIG,
    + { OSSL_ACTION_SET, -1, -1, EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_SET1_ID, "distid", "hexdistid",
    OSSL_PKEY_PARAM_DIST_ID, OSSL_PARAM_OCTET_STRING, NULL },
    - { GET, -1, -1, -1,
    + { OSSL_ACTION_GET, -1, -1, -1,
    EVP_PKEY_CTRL_GET1_ID, "distid", "hexdistid",
    OSSL_PKEY_PARAM_DIST_ID, OSSL_PARAM_OCTET_PTR, NULL },
    - { GET, -1, -1, -1,
    + { OSSL_ACTION_GET, -1, -1, -1,
    EVP_PKEY_CTRL_GET1_ID_LEN, NULL, NULL,
    OSSL_PKEY_PARAM_DIST_ID, OSSL_PARAM_OCTET_PTR, fix_distid_len },

    @@ -2096,74 +2099,74 @@
    * EVP_PKEY_CTRL_DH_KDF_TYPE is used both for setting and getting. The
    * fixup function has to handle this...
    */
    - { NONE, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_NONE, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_KDF_TYPE, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_TYPE, OSSL_PARAM_UTF8_STRING,
    fix_dh_kdf_type },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_KDF_MD, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_DH_KDF_MD, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_STRING, NULL },
    - { GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_DH_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_PTR, NULL },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_KDF_OID, NULL, NULL,
    OSSL_KDF_PARAM_CEK_ALG, OSSL_PARAM_UTF8_STRING, fix_oid },
    - { GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_DH_KDF_OID, NULL, NULL,
    OSSL_KDF_PARAM_CEK_ALG, OSSL_PARAM_UTF8_STRING, fix_oid },

    /* DHX Keygen Parameters that are shared with DH */
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, "dh_paramgen_type", NULL,
    OSSL_PKEY_PARAM_FFC_TYPE, OSSL_PARAM_UTF8_STRING, fix_dh_paramgen_type },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, "dh_paramgen_prime_len", NULL,
    OSSL_PKEY_PARAM_FFC_PBITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_DH_NID, "dh_param", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING, NULL },
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_DH_RFC5114, "dh_rfc5114", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING, fix_dh_nid5114 },

    /* DH Keygen Parameters that are shared with DHX */
    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, "dh_paramgen_type", NULL,
    OSSL_PKEY_PARAM_FFC_TYPE, OSSL_PARAM_UTF8_STRING, fix_dh_paramgen_type },
    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, "dh_paramgen_prime_len", NULL,
    OSSL_PKEY_PARAM_FFC_PBITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_DH_NID, "dh_param", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING, fix_dh_nid },
    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_DH_RFC5114, "dh_rfc5114", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING, fix_dh_nid5114 },

    /* DH specific Keygen Parameters */
    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, "dh_paramgen_generator", NULL,
    OSSL_PKEY_PARAM_DH_GENERATOR, OSSL_PARAM_INTEGER, NULL },

    /* DHX specific Keygen Parameters */
    - { SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DHX, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, "dh_paramgen_subprime_len", NULL,
    OSSL_PKEY_PARAM_FFC_QBITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },

    - { SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_DH, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_DH_PAD, "dh_pad", NULL,
    OSSL_EXCHANGE_PARAM_PAD, OSSL_PARAM_UNSIGNED_INTEGER, NULL },

    @@ -2171,13 +2174,13 @@
    * DSA
    * ===
    */
    - { SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, "dsa_paramgen_bits", NULL,
    OSSL_PKEY_PARAM_FFC_PBITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, "dsa_paramgen_q_bits", NULL,
    OSSL_PKEY_PARAM_FFC_QBITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_DSA, 0, EVP_PKEY_OP_PARAMGEN,
    EVP_PKEY_CTRL_DSA_PARAMGEN_MD, "dsa_paramgen_md", NULL,
    OSSL_PKEY_PARAM_FFC_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },

    @@ -2185,10 +2188,10 @@
    * EC
    * ==
    */
    - { SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_EC_PARAM_ENC, "ec_param_enc", NULL,
    OSSL_PKEY_PARAM_EC_ENCODING, OSSL_PARAM_UTF8_STRING, fix_ec_param_enc }, - { SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, "ec_paramgen_curve", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING,
    fix_ec_paramgen_curve_nid },
    @@ -2196,29 +2199,29 @@
    * EVP_PKEY_CTRL_EC_ECDH_COFACTOR and EVP_PKEY_CTRL_EC_KDF_TYPE are used
    * both for setting and getting. The fixup function has to handle this...
    */
    - { NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_ECDH_COFACTOR, "ecdh_cofactor_mode", NULL,
    OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE, OSSL_PARAM_INTEGER,
    fix_ecdh_cofactor },
    - { NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_TYPE, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_TYPE, OSSL_PARAM_UTF8_STRING, fix_ec_kdf_type }, - { SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_MD, "ecdh_kdf_md", NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_MD, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_STRING, NULL },
    - { GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_PTR, NULL },

    @@ -2226,10 +2229,10 @@
    * SM2
    * ==
    */
    - { SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_EC_PARAM_ENC, "ec_param_enc", NULL,
    OSSL_PKEY_PARAM_EC_ENCODING, OSSL_PARAM_UTF8_STRING, fix_ec_param_enc }, - { SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, "ec_paramgen_curve", NULL,
    OSSL_PKEY_PARAM_GROUP_NAME, OSSL_PARAM_UTF8_STRING,
    fix_ec_paramgen_curve_nid },
    @@ -2237,29 +2240,29 @@
    * EVP_PKEY_CTRL_EC_ECDH_COFACTOR and EVP_PKEY_CTRL_EC_KDF_TYPE are used
    * both for setting and getting. The fixup function has to handle this...
    */
    - { NONE, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_NONE, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_ECDH_COFACTOR, "ecdh_cofactor_mode", NULL,
    OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE, OSSL_PARAM_INTEGER,
    fix_ecdh_cofactor },
    - { NONE, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_NONE, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_TYPE, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_TYPE, OSSL_PARAM_UTF8_STRING, fix_ec_kdf_type }, - { SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_MD, "ecdh_kdf_md", NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_MD, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_OUTLEN, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_EC_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_STRING, NULL },
    - { GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_GET, EVP_PKEY_SM2, 0, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_GET_EC_KDF_UKM, NULL, NULL,
    OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_PTR, NULL },
    /*-
    @@ -2273,20 +2276,20 @@
    * fix_rsa_padding_mode() does the work when the caller has a different
    * idea.
    */
    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_RSA_PADDING, "rsa_padding_mode", NULL,
    OSSL_PKEY_PARAM_PAD_MODE, OSSL_PARAM_UTF8_STRING, fix_rsa_padding_mode },
    - { GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    + { OSSL_ACTION_GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_GET_RSA_PADDING, NULL, NULL,
    OSSL_PKEY_PARAM_PAD_MODE, OSSL_PARAM_UTF8_STRING, fix_rsa_padding_mode },

    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_RSA_MGF1_MD, "rsa_mgf1_md", NULL,
    OSSL_PKEY_PARAM_MGF1_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    + { OSSL_ACTION_GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS,
    EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_GET_RSA_MGF1_MD, NULL, NULL,
    OSSL_PKEY_PARAM_MGF1_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    @@ -2297,19 +2300,19 @@
    * OSSL_PARAM allows both forms.
    * fix_rsa_pss_saltlen() takes care of the distinction.
    */
    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_TYPE_SIG,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_RSA_PSS_SALTLEN, "rsa_pss_saltlen", NULL,
    OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, OSSL_PARAM_UTF8_STRING,
    fix_rsa_pss_saltlen },
    - { GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_TYPE_SIG,
    + { OSSL_ACTION_GET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, NULL, NULL,
    OSSL_PKEY_PARAM_RSA_PSS_SALTLEN, OSSL_PARAM_UTF8_STRING,
    fix_rsa_pss_saltlen },

    - { SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    EVP_PKEY_CTRL_RSA_OAEP_MD, "rsa_oaep_md", NULL,
    OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { GET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    + { OSSL_ACTION_GET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    EVP_PKEY_CTRL_GET_RSA_OAEP_MD, NULL, NULL,
    OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    /*
    @@ -2318,35 +2321,35 @@
    * expectation for any translation item where |ctrl_str| is NULL and
    * |ctrl_hexstr| is non-NULL.
    */
    - { SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    EVP_PKEY_CTRL_RSA_OAEP_LABEL, NULL, "rsa_oaep_label",
    OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL, OSSL_PARAM_OCTET_STRING, NULL },
    - { GET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    + { OSSL_ACTION_GET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, NULL, NULL,
    OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL, OSSL_PARAM_OCTET_PTR, NULL },

    - { SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
    EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION, NULL,
    "rsa_pkcs1_implicit_rejection",
    OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION, OSSL_PARAM_UNSIGNED_INTEGER,
    NULL },

    - { SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    EVP_PKEY_CTRL_MD, "rsa_pss_keygen_md", NULL,
    OSSL_ALG_PARAM_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    EVP_PKEY_CTRL_RSA_MGF1_MD, "rsa_pss_keygen_mgf1_md", NULL,
    OSSL_PKEY_PARAM_MGF1_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
    EVP_PKEY_CTRL_RSA_PSS_SALTLEN, "rsa_pss_keygen_saltlen", NULL,
    OSSL_SIGNATURE_PARAM_PSS_SALTLEN, OSSL_PARAM_INTEGER, NULL },
    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_RSA_KEYGEN_BITS, "rsa_keygen_bits", NULL,
    OSSL_PKEY_PARAM_RSA_BITS, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, "rsa_keygen_pubexp", NULL,
    OSSL_PKEY_PARAM_RSA_E, OSSL_PARAM_UNSIGNED_INTEGER, NULL },
    - { SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    + { OSSL_ACTION_SET, EVP_PKEY_RSA, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN,
    EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES, "rsa_keygen_primes", NULL,
    OSSL_PKEY_PARAM_RSA_PRIMES, OSSL_PARAM_UNSIGNED_INTEGER, NULL },

    @@ -2354,7 +2357,7 @@
    * SipHash
    * ======
    */
    - { SET, -1, -1, EVP_PKEY_OP_TYPE_SIG,
    + { OSSL_ACTION_SET, -1, -1, EVP_PKEY_OP_TYPE_SIG,
    EVP_PKEY_CTRL_SET_DIGEST_SIZE, "digestsize", NULL,
    OSSL_MAC_PARAM_SIZE, OSSL_PARAM_UNSIGNED_INTEGER, NULL },

    @@ -2362,13 +2365,13 @@
    * TLS1-PRF
    * ========
    */
    - { SET, -1, -1, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, -1, -1, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_TLS_MD, "md", NULL,
    OSSL_KDF_PARAM_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
    - { SET, -1, -1, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, -1, -1, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_TLS_SECRET, "secret", "hexsecret",
    OSSL_KDF_PARAM_SECRET, OSSL_PARAM_OCTET_STRING, NULL },
    - { SET, -1, -1, EVP_PKEY_OP_DERIVE,
    + { OSSL_ACTION_SET, -1, -1, EVP_PKEY_OP_DERIVE,
    EVP_PKEY_CTRL_TLS_SEED, "seed", "hexseed",
    OSSL_KDF_PARAM_SEED, OSSL_PARAM_OCTET_STRING, NULL },

    @@ -2376,19 +2379,19 @@
    * HKDF
    * ====
    */
    - { SET, -1, -1, EVP_PKEY_OP_DERIVE,

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)